我正在尝试分割水平和垂直堆叠的书脊。当图片太大时,我遇到了一个问题。
在整个窗口中只能看到部分图像,这意味着它不会处理它想要处理的原始图像:
它处理的图像
它应该处理的图像
我甚至无法查看想要处理的整个图像。因此,我尝试使用=>
最小化此图片的窗口cv :: resize(image,image,cv :: Size2i(image.cols / 6,image.rows / 6)); //调整为图像的1/6
导致另一个问题,当图片很小时,它变得太小,甚至无法检测到直线。
因此,我试过=> cv :: resize(image,image,cv :: Size2i(750,400));
这导致了另一个问题。虽然上面的图像在上面显示整个窗口,但对于较小的图片,我的houghline检测变得更不稳定。
有人知道如何解决这个尺码问题吗?还有如何改进我的霍夫线检测现在相当不稳定以分离书籍?我想在一摞书之间画一条线。
希望很快能收到你们的消息。谢谢!!!
答案 0 :(得分:1)
看起来你正在调整之前的图像你执行Hough变换,我想你想要做什么之后。这样您就可以在图片中获得足够的分辨率,以便检测到合适的线条,您仍然可以在显示器上查看。
其次,您希望改进检测书籍之间的分离。我的建议是对图像执行一些预处理。有很多方法可以做到这一点。 Mean Shift Segmentation按颜色分隔图片就是一个例子。
过滤结果是另一种方法。只保留穿过黑暗区域的线条 - 因为书本之间更可能是黑暗的 - 就是这样。还有很多方法。
另外,请不要忘记tweak the parameters of the Hough Transform,看看哪种方法最适合您的测试集。它可能会揭示一些有趣的结果!
祝你好运!
答案 1 :(得分:1)
IMO首先你必须改进边缘检测输出。它包含非常少的边缘。你可以使用 cvCanny 或 cvSobel 。也可以使用概率Hough line ,这会产生更好的结果。你可以调整 cvHoughLines 的参数,如threshold,minLinLength,maxLineGap,如图所示,线条过于接近。 请查看详细信息:
http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html