怎么对图像进行距离变换

2025-04-17 11:24:41

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

怎么对图像进行距离变换
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢