怎么检测图片里面的直线图形?
1、Mathematica检测图片中的线条的方法是ImageLines,返回的是线条的端点坐标。

2、在原图中高亮显示所有的线条。
HighlightImage[img,{Green,Line/@ImageLines[img]}]
有一些线段没检测出来。

3、再测试一个图片,如下图。

4、直接套用ImageLines,结果在图片里面找到516条直线,令人惶恐。

5、正确的操作方法是,先检测图形的边界:
EdgeDetect[img]

6、然后,在边界图里面寻找直线。
EdgeDetect[img] // ImageLines[#, 0.28, 0.06] &

7、在原图中,着重显示这四条线:
img0 = HighlightImage[img,
{Blue, Line /@ (EdgeDetect[img] // ImageLines[#, .28, 0.06] &)}]

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:28
阅读量:44
阅读量:83
阅读量:116
阅读量:88