图像分割:创建多边形

时间:2016-10-12 08:04:40

标签: image python-2.7 polygon image-segmentation

我输入的图像如下:

enter image description here enter image description here

我喜欢以一种方式对图像进行分割,以获得仅包含水平垂直线的近似多边形。

我的第一种方法是霍夫分割,但我只能创建矩形对象。这对第二张图片不起作用。

然后我尝试使用决策树:对于每个图像,我训练了一个决策树,其中所有像素的输入xy位置以及黑/白分类。然后我只使用了这棵树的第一个n层。使用这个新树,我对所有像素进行了预测。有时这很好用,但有时它没有。特别是树的深度因图片而异......

也许有人知道如何做到这一点?或者是否已有针对此用例的算法?

非常感谢

此致

凯文

1 个答案:

答案 0 :(得分:2)

使用形态"细化" 后跟"侵蚀" 水平或垂直移除,我得到了相当合理的结果导向功能。我只是在 ImageMagick 的命令行中进行此操作,但如果您愿意,可以使用Python绑定。

所以,横向特征:

convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:3x1 im1h.png

enter image description here

垂直功能:

convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 im1v.png

enter image description here

然后,使用另一张图片:

convert poly2.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 result.png

enter image description here