Aru*_*iRC 7 opencv image-processing computer-vision visual-c++
在图像上运行Canny边缘检测器后,我得到清晰的线条.但是当在Canny edgemap图像上运行时,Hough线函数似乎在相当突出的线上丢失了.我只保留垂直和水平的Hough线(公差为15度).很多额外的线条出现了,但是没有拾取明确可见的线条限制矩形.
这是片段:
cvCanny( img, canny, 0, 100, 3 );
lines = cvHoughLines2( canny, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 35, 20, 10 );
Run Code Online (Sandbox Code Playgroud)
主要目的是检测表示链表节点的矩形框.但是,square.c示例程序将只检测完美的矩形,而不是箭头触摸矩形边界.
你能否解释一下Hough线功能的变化,这有助于我获得与Canny边缘图像中清晰可见线相对应的线条?

rwo*_*ong 12
(补充:shernshiou建议的预处理步骤.)
预处理步骤:
(备注.阈值处理步骤只是连接组件所需的预处理步骤.)
如果你想只检测完美的水平和垂直线,我的建议是在Hough变换之前执行水平和垂直边缘增强(通过卷积).
这将使真实线条更容易在Hough投影中"达到峰值",并增加OpenCV拾取线的机会.
步骤将是:
你确实阅读了文档吗?
我有几个选择:
简而言之,请使用参数5,6和7的不同值再次尝试.
我会尝试参数5和7的较低值,以及6的相似或略高的值.由于2以上5应始终小于或等于6才能产生效果.如果5较低,则7应该至少等于5和6之间的差值.
| 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |