如下图琐事的迷宫拼图,从上面进入,从下面出去。怎么走?本文,用Mathematica的分水岭算法WatershedComponents,快速寻找迷宫的路径。
工具/原料
1
电脑
2
Mathematica
方法/步骤
1
读图,把图片转化为二值图像。i =Binarize[img,0.8]这个可以去掉图像的水印。
2
分水岭算法,又叫做流域算法。它可以把二值图像分割为不同的区域。ImageResize[Rasterize[MatrixForm[WatershedComponents[i] ]],{500,500}]能够看到,矩阵里面明显有一个左右两边的分水岭。
3
画出分水岭:pic=Image[WatershedComponents[i], 'Bit']
4
对pic转反色,并进行膨胀处理:mask=Dilation[1-pic,1]
5
在原图中彰显这个分水岭:HighlightImage[i,mask] //Rasterize
6
消除中间那个孤岛的方法,是把孤岛和迷宫连起来。
下一篇:贪婪洞窟H5数字迷阵攻略