Kev*_*ier 7 image polygon image-segmentation python-2.7
我输入的图像如下所示:
我喜欢以一种方式对图像进行分割,以获得仅包含水平垂直线的近似多边形.
我的第一种方法是霍夫分割,但我只能创建矩形对象.这不适用于第二张图像.
然后我尝试使用决策树:对于每个图像,我训练了一个决策树,其中包含所有像素的输入x和y位置以及黑/白分类.然后我只使用了n这棵树的第一层.使用这个新树,我对所有像素进行了预测.有时这很好用,但有时它没有.特别是树木深度因图片而异......
也许有人知道如何做到这一点?或者是否已有针对此用例的算法?
非常感谢你
问候
凯文
我使用形态“细化”和“侵蚀”来去除水平或垂直方向的特征,得到了相当合理的结果。我只是使用ImageMagick在命令行中执行此操作,但如果您愿意,也可以使用 Python 绑定。
因此,水平特征:
convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:3x1 im1h.png
Run Code Online (Sandbox Code Playgroud)
以及垂直特征:
convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 im1v.png
Run Code Online (Sandbox Code Playgroud)
并且,使用另一张图像:
convert poly2.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 result.png
Run Code Online (Sandbox Code Playgroud)