matlab距离变换,图像处理之距离变换

本文介绍了距离变换在二值图像处理中的作用,包括欧几里德距离、曼哈顿距离和象棋格距离等计算方法。通过腐蚀操作实现距离变换,并强调结构体选择对效果的影响。最后展示了如何在matlab中进行距离变换,生成不同灰度值的图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图像处理之距离变换

概述

距离变换是二值图像处理与操作中常用手段,在骨架提取,图像窄化中常有应用。距离

变换的结果是得到一张与输入图像类似的灰度图像,但是灰度值只出现在前景区域。并

且越远离背景边缘的像素灰度值越大。

基本思想

根据度量距离的方法不同,距离变换有几种不同的方法,假设像素点p1(x1, y1),

p2(x2, y2)计算距离的方法常见的有:

1.      欧几里德距离,Distance =

1c4db01ff2eb7f9d84f9134f8e79213b.png

2.      曼哈顿距离(City Block Distance),公式如下:Distance = |x2-x1|+|y2-y1|

3.      象棋格距离(Chessboard Distance),公式如下:Distance = max(|x2-x1|,|y2-y1|)

一旦距离度量公式选择,就可以在二值图像的距离变换中使用。一个最常见的距离变换

算法就是通过连续的腐蚀操作来实现,腐蚀操作的停止条件是所有前景像素都被完全

腐蚀。这样根据腐蚀的先后顺序,我们就得到各个前景像素点到前景中心骨架像素点的

距离。根据各个像素点的距离值,设置为不同的灰度值。这样就完成了二值图像的距离

变换。

注意点:

腐蚀操作结构体的选取会影响距离变换的效果,例子使用3*3的矩阵完成。有很多快速

的距离变换算法,感兴趣的可以自己研究。

运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值