如何缩小现实生活中的巨大空白?

问题描述 投票:0回答:3

假设我有一个真实生活对象的图片,例如:

enter image description here

使用双边滤波和canny边缘检测产生:

/home/camilotalero/Desktop/CounterTopExperiment/image_screenshot_05.02.2019.png

这很有可能无法正确检测某些边缘部分

enter image description here

即使没有双边过滤:

enter image description here

我需要增加检测这些边缘的概率。时间不是问题。

我已经尝试过某些图像锐化效果,但似乎没有任何效果使该边缘更容易被检测到。

编辑:

我试图仅对内部图像执行此操作,仅适用于大型平面。我也不是想要得到完美的东西,我只是想要一个过度的预测,其中包含有很高成功概率的边界(80%以上)

在我所尝试的指定示例和其他情况下,问题主要是由于边界区域之间的过渡缺乏锐度。

编辑2:

提取每个通道并为每个红色,蓝色,绿色添加canny的结果导致闭合形状。

python opencv computer-vision edge-detection
3个回答
1
投票

在此示例中,由于背景较浅,边缘消失在靠近左上角的位置,因为对比度变得非常低。如果没有关于形状的先前信息,这几乎是不可恢复的。实际上,可能是真正的边缘遵循白色垂直区域而不是大理石台面,就像未经过滤的图像一样。我们人类可以通过边缘两侧的颜色/纹理来区分,但Canny远非这样的表现。

您可能尝试使用图像分割和纹理分割,尽管后者在OpenCV中不易获得。请注意,您正在解决一个棘手的问题。


1
投票

如果您的目标是关闭线条中的那些间隙,这将导致完美连续的线条尝试使用霍夫变换和线检测。仍然需要某种边缘检测,所以保持清醒。

这些参数允许您调整要检测的行和不行。在你的情况下检测表将非常容易。如果由于大理石图案而出现问题,一些形态开口可能会有所帮助,但我对此表示怀疑。

来自OpenCV的Here is a tutorial/ some information

编辑:

如果你想获得一个关闭的矩形,你可以自己进行霍夫转换。在霍夫空间将有四个高密度区域。其中两个将具有相同的r或θ轴。这就是人们不仅可以检测线条,还可以检测霍夫空间中的矩形。将这四个点转换回来将导致形成矩形的四条线(在这张图片中最可能是表格)。也许已经有一个OpenCv hough矩形探测器。没检查过。


0
投票

改进边缘检测的一种非常有效的方法是在每个单独的通道(RGB)上运行canny,然后使用addWeighted()添加图像,而不是在灰度图像上运行检测。将图像转换为不同的颜色空间并再次执行此过程也会进一步改善它。

© www.soinside.com 2019 - 2024. All rights reserved.