假设你有一个正方形网格,每个网格项目都是“填充”或“未填充”,是否有一个很好的算法可以检测网格中的任何“实心”形状?
下图显示了我想要完成的一个示例。图像显示一个封闭的形状,然后是两个在其中有孔的潜在形状。另请注意,形状不一定是简单的正方形或矩形,但不应存在直接对角线。
我的问题是 - 是否存在一种算法(在数学上完全没用的东西可以跟随的东西!希望有一个C#实现)可以检测到这个网格中的单个封闭形状(或多个形状,如果存在),包括返回形状内的实际方块?
到目前为止,我漫无目的的想法只涉及使用线性填充填充,但这似乎并不合适,例如没有单一的源点,但必须扫描整个网格以获得可填充的形状。
答案 0 :(得分:0)
请看一下: EmbeddedVisionDesignKit
这是一个由HAN(Hogeschool Arnhem Nijmegen)的老师制作的项目。
该项目适用于嵌入式设计,但operators.cpp中的功能是逐个像素处理图像的运算符。
编辑: 我没有制作代码,我只是公开了。