1、Mathematica检测图片中的线条的方法是ImageLines,返回的是线条的端点坐标。
2、在原图中高亮显示所有的线条。HighlightImage[img,{Green,L坡纠课柩ine/@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] // Imag髫潋啜缅eLines[#, .28, 0.06] &)}]