首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在OpenCV中测试直线的接近度(霍夫变换)

如何在OpenCV中测试直线的接近度(霍夫变换)
EN

Stack Overflow用户
提问于 2009-09-03 08:07:22
回答 2查看 6.5K关注 0票数 7

(这是this previous question的后续文章)。

我能够成功地使用OpenCV / Hough变换来检测图片中的线条(扫描的文本);一开始它会检测很多很多行(每行文本至少一行),但通过反复试验调整‘阈值’参数,它现在只检测“真实”的线条。

(“阈值”参数依赖于图像大小,如果必须处理不同分辨率的图像,这会有点问题,但这是另一回事)。

我的问题是,Hough变换有时会检测到只有一条线的两条线;这两条线彼此非常接近,而且(显然)是平行的。

=>如何识别两条几乎平行且彼此非常接近的直线?(这样我就只能保留一个)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-14 09:24:57

如果使用标准或多尺度hough,最终将得到极坐标中线的rho和theta坐标。Rho是到原点的距离,theta通常是检测到的直线和Y轴之间的角度。不考虑opencv中hough变换的细节,这是在这些坐标中的一般规则:两条线将几乎平行并且彼此非常接近,当:-它们的thetas几乎相同并且它们的rhos几乎相同或者-它们的thetas相隔近180度并且它们的rhos接近彼此的负数

我希望这是有意义的。

票数 9
EN

Stack Overflow用户

发布于 2010-12-09 08:50:44

有趣的是,θ是直线和y轴之间的角度。

通常,rho和theta值被可视化为从x轴到垂直于所讨论直线的直线的角度。那么rho就是这条垂直线的长度。因此,theta = 90和rho = 20意味着从原点向上20个像素的水平线。在Hough Transform question上显示了一幅漂亮的图像

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1372047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档