您的位置:首页 > 编程语言 > MATLAB

直线检测算法 LSD 的相关介绍及其在 OpenCV 和 MATLAB 中的可视化

2014-09-25 15:32 2346 查看
所谓 LSD ,即 Line Segment Detector ,它是一种用于快速检测图像中直线段的图像处理方法,由 Rafael Grompone von Gioi 等人于 2012 年发表于论文《LSD:a
Line Segment Detector》,由于 CSDN 网友 polly_yang 已对该算法进行过 详细介绍 ,所以我这里不再对算法的理论和具体步骤进行介绍,而着重于如何通过 OpenCV 和 MTLAB 对该算法的实际效果进行可视化表达。

LSD 算法的结果中,一条直线包含了 7 个信息, 分别为 x1, y1, x2, y2, width, p, -log_nfa, 用前四个就可以得到图像方程。因此,我利用 OpenCV 和 MATLAB 对该算法所得到的结果进行了封装,使得可以直接可视化地显示其实际效果。封装后的代码可以在 这里
下载,编译过程可以参考其中的 README.md 文件。

代码中包括了测试的实例,对该实例在 OpenCV 和 MATLAB 中的可视化效果分别如下图所示。对于检测出的直线显示于新图像还是显示于原图像可通过自行修改示例代码进行调整。

1. 测试原图



2. OpenCV 可视化效果图



3. MATLAB 可视化效果图



使用过程中如果遇到问题,可直接在评论中回复或者发送邮件至 tanggefu@gmail.com 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息