我试图编写一个算法,它会给我一个形状的(近似)区域。
我的算法提供了一个图像,然后在其上执行Sobel边缘检测。使用边缘检测图像,我想找到一个封闭空间的区域,给定该区域内的坐标。坐标可能接近形状的中心,但不完全居中..
如果我想要彻底,我会递归地做。但是,我在嵌入式平台上运行此代码,因此我的内存有限。我也更喜欢更快的算法。
算法不需要生成形状的确切区域 - 接近(最多一个数量级)就可以了。
到目前为止,我已经考虑通过从坐标测量上,下,左和右直到找到边缘来将形状近似为矩形和椭圆形。
这是所述方法的一个例子:
- 示例图片:
- 椭圆和矩形标记:
绿色填充是递归填充区域的部分运行。
如果有人有更好的方法,我会很感激!