c – 更准确的houghline OpenCV
作者:互联网
我一直在使用OpenCV中的houghlines,我似乎无法获得更准确的读数,有时候两条重复的行相互重叠.我查看了opencv网站上的教程,但它给出了类似的结果.
解决方法:
要删除这些重复的行,有两件事可以帮助您:
>可能会出现可能导致重复行的双边.模糊/扩展输入图像的序列将解决这些问题.
>通过使用Hough Line方法的theta参数的较低角度分辨率,可以删除具有几乎相同斜率的近线.例如,使用π/ 180将导致找到其斜率仅相差一度的线.您可以使用5 *π/ 180来查找5度分辨率的线条.
例如,使用原始图像和1度分辨率检测以下行:
经过一些模糊和使用3度分辨率后,您可以获得如下结果:
通过更改阈值,您可以获得更多或更少的线条.
关于在评论部分中指出的拟合曲线,是的,您可以拟合曲线,但不能使用霍夫线方法.您需要找到该形状的参数化定义,并尝试在自己的hough变换中运行投票过程. opencv帮助您找到的唯一其他形状是圆形.
标签:edge-detection,c,opencv 来源: https://codeday.me/bug/20190725/1531856.html