我正在尝试使用OpenCV实现用户辅助的边缘检测。
假设你有一张图片,我们需要在其中找到一个多边形。为了便于讨论,假设我们需要在图片中找到一个矩形桌子的顶部。用户将单击表的四个角来帮助我们缩小范围。连接这四个点得到一个多边形,或四个向量。但用户在点击这些角时并不是很准确。因此,我想使用图像中的边缘信息来提高准确性。
我正在使用具有相当高阈值的Canny边缘检测器来确定图像中的重要边缘。(更准确地说,我正在缩小、模糊、转换为灰度,然后运行Canny)。如何计算矢量是否与图像中的边缘对齐?如果我有一种计算“对齐”的方法,我的总体算法归结为扰动四个边缘点的位置,计算我的多边形与图像中的边缘的总“对齐”,直到我找到最优。
定义和计算这个“对齐”指标的好方法是什么?
发布于 2011-11-15 17:30:44
您可能希望尝试使用FindContours来检测您的表或任何其他轮廓。然后,也从用户输入点构建轮廓。在此之后,您可以阅读有关轮廓时刻的信息,您可以通过这些时刻比较轮廓。您可以将图像中的所有轮廓与从用户点构建的轮廓进行比较,然后选择最接近的匹配。
https://stackoverflow.com/questions/8128341
复制相似问题