发布时间:2023-11-27 16:30
代码链接:数字图像处理距离变换实现(python+opencv)
实验要求:
1,自定义64乘64二值图,随机生成图案(像素随机置成0,1,其中1像素的数量为100个)
2,按照某种距离度量,D4或D8(这里计算的是D4,即城市街区距离)
3,根据二值图,计算64*64的距离矩阵,如图
在实际处理中我们要将输入图像中1全部转为0,输入矩阵中的0转为一个比较大的值,如下图:
然后利用两个掩膜进行扫描,参考数字图像的距离变换算法
最终得到的更新后的数组即为距离变换的结果。
这个算法过程在图像编边界需要做出调整,因为在边界处,掩模不能全部覆盖图像,这时可以将掩模中没有对应元素的位置的值当作0来处理。
最后得到结果:
原文博主给出了c++代码,我转为python代码放在这里:
数字图像处理距离变换实现(python+opencv)