【问题标题】:Image Segmentation: Create polygons图像分割:创建多边形
【发布时间】:2016-10-12 08:04:40
【问题描述】:
我输入的图像如下所示:
我喜欢以一种只包含水平线和垂直线的近似多边形的方式分割图像。
我的第一种方法是霍夫分割,但我只能创建矩形对象。这不适用于第二张图片。
然后我尝试使用决策树:对于每个图像,我训练了一个决策树,其中包含所有像素的输入 x 和 y 位置以及黑色/白色分类。然后我只使用了这棵树的第一个n 层。使用这棵新树,我对所有像素进行了预测。有时这很有效,但有时却没有。尤其是树的深度因图片而异...
也许有人知道如何做到这一点?或者是否已经有适用于该用例的算法?
非常感谢
问候
凯文
【问题讨论】:
标签:
image
python-2.7
polygon
image-segmentation
【解决方案1】:
我使用形态学 "thinning" 后跟 "erosion" 来移除水平或垂直方向的特征,得到了相当合理的结果。我只是在命令行中使用 ImageMagick 执行此操作,但如果您愿意,可以使用 Python 绑定。
所以,水平特征:
convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:3x1 im1h.png
和垂直特征:
convert poly.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 im1v.png
并且,使用另一张图片:
convert poly2.png -threshold 50% -morphology Thinning:-1 Skeleton -morphology erode rectangle:1x3 result.png