查找形状边界上的点坐标

Tud*_*dor 6 language-agnostic algorithm image shapes

假设我有这样的形状:

在此输入图像描述

在我想要画豆子的所有笑话都筋疲力尽之后,我想找到形状边界上的点.我知道可以有很多,所以它们之间的距离是可以接受的.

是否有针对这种需求的算法?还是一个软件?我提出的所有解决方案都涉及大量的手工工作,特别是如果我想绘制略微不同的形状.

Stackoverflow智慧,请帮忙.

Dr.*_*ius 6

您可以简单地水平和垂直扫描像素以找到颜色边界,或者,如果您想要更复杂和通用的解决方案,您可以使用例如gradient method检测边缘:

在此输入图像描述

编辑

回答你的评论,图像只是一个包含像素值的二维数组.您可以测试每个像素并选择具有特定颜色的像素.像这样:

在此输入图像描述

结果是你的边缘像素:

{{35, 107}, {35, 108}, {35, 109}, {35, 110}, {35, 111},
 {35, 112}, {35, 113}, {35, 114}, {35, 115}, {35, 116},
 {35, 117}, {35, 118}, {35, 119}, {35, 120}, {35, 121},
 {36, 103}, {36, 104}, {36, 105}, {36, 106}, {36, 107}, etc....
Run Code Online (Sandbox Code Playgroud)