1、先给出一幅图片:i=Rasterize@Graph坡纠课柩ics[{Green, Disk[{0, 0}, {2, 3}], Red, Disk[{-2, 3}, {1, 2/3}]}, PlotRange -> 5, Background -> Black]
2、对i进行距离变换:a = DistanceTransform[i]这里,把图像的黑色部分默认为背景了。前景全部变成了白色区域,背景保持为黑色。
3、j = Rasteri所鼙艘疯ze@ Graphics[{Black, Disk[{0, 0}, {2, 3}], Red, Disk[{-2, 3}, {1, 2/3}]}, PlotRange -> 5, Background -> Green]此时,进行距离变换,会有什么效果呢?
4、b = DistanceTransform[j]仍旧把黑色默认为背景,而别的颜色的区域都视为前景。
5、让图像里面没有黑色像素:h = Rasterize@ Graphics[{Blue, Disk[{0, 0}, {2, 3}], Red, Disk[{-2, 3魈胺闹臣}, {1, 2/3}]}, PlotRange -> 5, Background -> Green]
6、此时,Mathematica好像不能识别谁是背景,因为距离变换的结果,是空白的。c = DistanceTransform[h]
7、此时,每一个像素值,都是1。ImageData[c][[101 ;; 136, 101 ;; 136]] // MatrixForm