【发布时间】:2012-01-09 08:46:30
【问题描述】:
要求
我不知道如何描述,所以我举一个应该更容易解释的例子。
我有一个小的(最大 50x50 像素)1 位/像素位图(黑白)。
一次只添加一个像素。
使用黑色像素作为边缘找到存在的最大(按面积)多边形。
实际场景实际上与图形无关,并使用 2D 布尔数组,但逻辑与我想象的相同。
期望的行为
问题
我不确定如何在完成后获得最大的多边形。如果我能得到多边形,我可以做填充。在上图中,我突出显示了应选择的多边形。
【问题讨论】:
-
“按区域”是什么意思?函数应该返回什么?
-
对不起,我不明白。你期待一个像素坐标数组,一个多边形角的列表,一个位图......
-
@Erno 数据的格式不重要,只要代表多边形即可。
-
这并不像看起来那么容易。Google for:模式识别多边形给出了相当多的点击率。一种粗略的方法可能是(如果位图很小)填充多边形的外部(从左上角开始填充)并查看是否还有白色像素。如果是这样,就有一个多边形。