我正在尝试对水平和垂直堆叠的书脊进行分割。当图片太大时,我遇到了一个问题。
整个窗口中只能看到图像的一部分,这意味着它不会处理它应该处理的原始图像:
处理后的图像
它应该处理的图像
我什至无法查看要处理的整个图像。因此,我尝试使用=>
来最小化这张图片的窗口cv::resize(image, image, cv::Size2i(image.cols/6, image.rows/6) );//调整大小为图像的 1/6
这就导致了另一个问题,当图片很小的时候,它会变得太小,甚至无法检测到直线。
因此,我尝试了=> cv::resize(图像, 图像, cv::Size2i(750, 400) );
这会导致另一个问题。虽然上面的图像显示了整个窗口,但对于较小的图片,我的 houghline 检测变得更加不稳定。
有人知道如何解决这个尺寸问题吗?还有如何改进我的霍夫线检测,它现在非常不稳定以分离书籍?我希望在书堆之间画一条线。
希望很快能收到你们的来信。谢谢!!!
最佳答案
看起来您在执行霍夫变换之前调整了图像的大小,我认为之后您想要做什么。这使您可以在图片中获得足够的分辨率,以检测到合适的线条,并且您仍然可以在显示器上查看它。
其次,您希望改进对书籍之间分离的检测。我的建议是对图像进行一些预处理。有很多方法可以做到这一点。 Mean Shift Segmentation例如,按颜色分隔图片就是其中之一。
过滤转换结果是另一种方法。只保留穿过黑暗区域的线条 - 因为书本之间更可能是黑暗的 - 就是一种这样的方法。还有很多方法。
另外别忘了 tweak the parameters of the Hough Transform看看什么最适合您的测试集。它可能会揭示一些有趣的结果!
祝你好运!
关于opencv - 感兴趣区域和霍夫线检测可确保扭曲线的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19173264/