更准确的houghline OpenCV

use*_*151 3 c++ opencv edge-detection

我一直在使用OpenCV中的houghlines,我似乎无法获得更准确的行读取,有时候有两条重复的行在彼此之上.我查看了opencv网站上的教程,但它给出了类似的结果.

Kam*_*ity 8

要删除这些重复的行,有两件事可以帮助您:

  1. 可能会出现双边可能导致重复的线条.模糊/扩展输入图像的序列将解决这些问题.
  2. 通过theta对Hough Line方法的参数使用较低角度分辨率,可以删除具有几乎相同斜率的近线.例如,使用?/180将导致找到其斜率仅相差一度的线.您可以使用5*?/180以5度分辨率查找线条.

例如,使用原始图像和1度分辨率检测以下行: 三倍

经过一些模糊和使用3度分辨率后,您可以获得如下结果: 固定

通过更改阈值,您可以获得更多或更少的线条.
关于在评论部分中指出的拟合曲线,是的,您可以拟合曲线,但不能使用霍夫线方法.您需要找到该形状的参数化定义,并尝试在自己的hough变换中运行投票过程.opencv帮助您找到的唯一其他形状是圆形.