image-processing - 将向量与图像中的边缘进行关联

我正在尝试使用OpenCV实现用户辅助的边缘检测。

假设您有一幅需要在其中找到多边形的图像。为了讨论起见,假设我们需要在图片中找到矩形表的顶部。用户将单击表格的四个角以帮助我们缩小范围。连接这四个点将为我们提供一个多边形或四个 vector 。
但是,用户在单击这些角时不是很准确。因此,我想使用图像中的边缘信息来提高准确性。

我正在使用具有较高阈值的Canny边缘检测器来确定图像中的重要边缘。 (更确切地说,我正在缩小,模糊,转换为灰度,然后运行Canny)。如何计算 vector 是否与图像的边缘对齐?如果我有一种计算“对齐”的方法,我的总体算法可以归结为扰动四个边缘点的位置,计算出我的多边形与图像中边缘的总“对齐”,直到找到最佳值。

定义和计算“对齐”指标的好方法是什么?

最佳答案

您可能想尝试使用FindContours来检测表格或任何其他轮廓。然后也从用户输入点构建轮廓。之后,您可以阅读有关轮廓矩的信息,通过它们可以比较轮廓。您可以将图像中的所有轮廓与通过用户点构建的轮廓进行比较,然后选择最接近的匹配。

https://stackoverflow.com/questions/8128341/

相关文章:

image-processing - 如何使用openCV库提取视频中的清晰轮廓

image-processing - 读取 RGBA 图像 OpenCV

opencv - C++ Eclipse OpenCV : . 生成了 exe 文件和二进制文件,但

python - 如何转换图像以使投影图像与原始图像相同

windows - OpenCV捕获的视频比实时运行的快吗?

opencv - 是否可以使用此过程将屏幕坐标转换为相机坐标?

visual-studio-2010 - 使用Visual Studio 2010和C的串行通信(用

opencv - 即使在彩色视频图像的情况下,nchannel() 也始终返回 1

eclipse - 为什么 OpenCV 中与 CvSeq 相关的一切都如此困惑?

android - 1 channel iplimage -> Android 位图