通过OpenCV和C ++提高书脊线的Hough Line精度/分割率

时间:2013-10-15 14:06:42

标签: c++ opencv image-processing image-segmentation

我正在尝试根据本书的精神进行细分。我一直有问题。下面的两个图像是使用Hough线的不成功分割的示例。我试图在所有书籍之间画一条线。

我也尝试过HoughLineP,实际上会导致更糟糕的结果。我尝试调整HoughLine和HoughLineP的所有参数。但我似乎无法提高检测率。甚至恶化了错误的检测。

enter image description here enter image description here

我想问一下是否有人有任何想法如何细分书刺?我曾经尝试过预处理方法,但它将相同颜色的书脊合并在一起,我想在书中间试图寻找黑线,因为它往往会略微变暗,但如果你看一下这本书对于sein godin和尖端广告,我看不出它们之间有任何差距。

考虑到一些书脊有两种不同的颜色,形成一个自己的小矩形,例如尖端的广告书,矩形检测也不会很好。我也尝试过找到效果不佳的轮廓。

我希望做的最后一个计划是计算有多少本书。但要做到这一点,首先我需要一个干净而成功的细分。

有没有人可以尝试其他任何方法?我将非常感谢所有的反馈,评论和答案。我已经坚持了一个多月了。感谢。

2 个答案:

答案 0 :(得分:1)

如果您可以假设您的刺将始终在图像中垂直对齐,则使用仅检测垂直线的边缘检测滤镜是有意义的。这将减少棘刺本身(标题等)细节上的一些噪音,并使霍夫变换获得更大的成功机会。

可以使用诸如此类的卷积滤波器:

-1 0 1
-1 0 1
-1 0 1

答案 1 :(得分:1)

我宁愿评论而不是回答,但是......

确保在检测到每个边缘后取出找到的边缘并重复边缘检测。 此外,您可以检查峰值的相对强度,并且只有在更难以挑选时才重复。

最近,我一直在以非线性方式进行边缘检测,方法是在所有八个方向上找到渐变,并将其中的最大值作为每个像素的输出。然后在其彩色图片时重复每种颜色。这在Matlab中很容易,但我不熟悉Visual Studio。

玩得开心!