【发布时间】:2018-08-15 20:53:31
【问题描述】:
我的问题仅与 OpenCV / Matplotlib 有关。但是,要理解这个问题,请耐心等待几行 ML / 计算机视觉方面的内容:
我正在研究平面图数据集的图像分割问题。我将使用全卷积网络(FCN)来做同样的事情。
现在,FCN 需要一个图像,一个相应的分割图像。 例如:
左边的图像是实际图像,而右边的图像是图像的正确“注释”。本质上,每个对象(类)都完全用自己的颜色填充——汽车、道路、建筑物等。
现在,就我而言,我正在处理平面图数据。示例平面图图像如下所示:
此类图像中的相关实体是墙壁、门等。
问题我已经为大量此类图像添加了注释数据,但是没有以上述形式进行注释。墙壁被注释为简单的线条 --- 这意味着它们只有 1px 厚,实际上并没有填充实际图像中墙壁的区域/厚度。请参阅以下示例:
请参见上图左上角代表墙壁的 2 条线。虽然墙很厚,但我作为注释数据的只是那些粉红色的 1px 粗线。
但是,我实际上需要的是完全填充墙壁区域。例如:
我现在想做的是,以编程方式将这些线条转换为填充区域,即,基于每个墙壁的线条数据,我希望创建这些线条所在的墙壁的填充版本。
所以,基本上问题是这样的: 如果我在矩形区域内有一条细线,我能否以某种方式获得它所代表的整个矩形区域?如果可以的话,我可以用它的颜色填充它,我可以注释它的需要方式。
我们可以做出一些假设: - 线条将始终代表它们所在的墙壁 - 与图像的其余部分相比,墙壁通常是较粗的线条,只有一些较暗的颜色
再次对数据进行注释将非常困难且成本高昂,因此我问这个问题是否可以通过编程方式实现。
我对 opencv 和 matplotlib 知之甚少,因此这可能是一个新手问题。这可能是一件非常非常简单的事情。在这种情况下,请让我知道我需要阅读的算法或功能。
谢谢。
【问题讨论】:
-
很抱歉,我不明白对这个问题投反对票的原因。如果你们让我知道同样的原因,那就太好了。如果有人能指出我正确的方向,我会很高兴。
标签: python opencv matplotlib annotations computer-vision