我正在尝试使用OpenCV实现用户辅助边缘检测。
假设您有一个我们需要找到多边形形状的图像。为了便于讨论,我们需要找到图片中矩形表的顶部。用户将点击表格的四个角来帮助我们缩小范围。连接这四个点给我们一个多边形,或四个向量。 但是点击这些角落时用户不是很准确。所以我想使用图像中的边缘信息来提高准确性。
我正在使用具有相当高阈值的Canny边缘检测器来确定图像中的重要边缘。 (更准确地说,我缩小,模糊,转换为灰度,然后运行Canny)。如何计算矢量是否与图像中的边缘对齐?如果我有办法计算“对齐”,我的整个算法归结为扰动四个边缘点的位置,计算我的多边形与图像边缘的总“对齐”,直到找到最佳值。
定义和计算此“对齐”指标的好方法是什么?
答案 0 :(得分:0)
您可能想尝试使用FindContours来检测您的表格或任何其他轮廓。然后也从用户输入点构建轮廓。在此之后,您可以阅读有关轮廓力矩的信息,您可以通过它来比较轮廓。您可以将图像中的所有轮廓与用户点构建的轮廓进行比较,然后选择最接近的匹配。