我的问题仅涉及OpenCV/Matplotlib。然而,为了理解问题,请耐心听我讲一下机器学习/计算机视觉方面的内容:
我正在处理地图数据集上的图像分割问题。我将使用完全卷积网络(FCN)来解决这个问题。
现在,FCN需要一个对应的分割图像作为输入图像。例如: 左侧图像是实际图像,右侧图像是图像的适当“注释”。基本上,每个对象(类)都被其自己的颜色完全填充 - 汽车、道路、建筑等。
现在,在我的情况下,我正在处理平面图数据。示例平面图像如下: 这些图像中相关的实体包括墙壁、门等。
问题是,我已经获取了大量这种图像的注释数据,但它们并不是以上述形式进行注释的。墙壁被注释为简单的线条——这意味着它们只有1像素的厚度,并且实际上并没有填充实际图像中墙壁的区域/厚度。请参见以下示例: 在上面的图片中,可以看到左上角有两条代表墙壁的线。虽然墙很厚,但我作为注释数据只有那些粉色的1像素宽的线。
然而,我需要的实际上是完整的填充区域墙壁。例如: 现在我想做的是,以编程方式将这些线转换为填充区域,即基于每堵墙的线条数据,我希望创建一个包含这些线条的墙的填充版本。
因此,问题本质上是: 如果我有一个矩形区域内的细线,是否可以以某种方式获得它所代表的整个矩形区域?如果可以,我可以用它的颜色填充它,并按需要注释。 我们可以做出一些假设: - 线条始终代表它们所在的墙 - 墙通常是较粗的线条,只有与图像其余部分相比较暗的颜色
重新进行数据标注将非常困难和昂贵,因此我希望知道是否可以通过编程实现此目标。
我对opencv和matplotlib的了解非常有限,因此可能会问一些初学者问题。如果是这种情况,请告诉我需要阅读的算法或函数。
谢谢。
我正在处理地图数据集上的图像分割问题。我将使用完全卷积网络(FCN)来解决这个问题。
现在,FCN需要一个对应的分割图像作为输入图像。例如: 左侧图像是实际图像,右侧图像是图像的适当“注释”。基本上,每个对象(类)都被其自己的颜色完全填充 - 汽车、道路、建筑等。
现在,在我的情况下,我正在处理平面图数据。示例平面图像如下: 这些图像中相关的实体包括墙壁、门等。
问题是,我已经获取了大量这种图像的注释数据,但它们并不是以上述形式进行注释的。墙壁被注释为简单的线条——这意味着它们只有1像素的厚度,并且实际上并没有填充实际图像中墙壁的区域/厚度。请参见以下示例: 在上面的图片中,可以看到左上角有两条代表墙壁的线。虽然墙很厚,但我作为注释数据只有那些粉色的1像素宽的线。
然而,我需要的实际上是完整的填充区域墙壁。例如: 现在我想做的是,以编程方式将这些线转换为填充区域,即基于每堵墙的线条数据,我希望创建一个包含这些线条的墙的填充版本。
因此,问题本质上是: 如果我有一个矩形区域内的细线,是否可以以某种方式获得它所代表的整个矩形区域?如果可以,我可以用它的颜色填充它,并按需要注释。 我们可以做出一些假设: - 线条始终代表它们所在的墙 - 墙通常是较粗的线条,只有与图像其余部分相比较暗的颜色
重新进行数据标注将非常困难和昂贵,因此我希望知道是否可以通过编程实现此目标。
我对opencv和matplotlib的了解非常有限,因此可能会问一些初学者问题。如果是这种情况,请告诉我需要阅读的算法或函数。
谢谢。