matlab指纹图像增强代码,图像增强的几个方法以及Matlab代码

本文介绍了使用Matlab进行图像增强的三种方法:1) 灰度线性变换,通过简单的线性函数改变像素灰度值;2) 直方图均衡变换,增加图像全局对比度,尤其适用于曝光不足或过度的图像;3) 同态滤波,通过傅里叶变换和高通滤波器增强图像的高频细节。每种方法都给出了相应的Matlab代码示例。
摘要由CSDN通过智能技术生成

1. 灰度线性变换

灰度线性变换, 是一种空域的方法, 直接对每一个像素的灰度值进行操作

假设图像为

math?formula=I

则其中每一个像素点的灰度值为

math?formula=I(x%2Cy)

我们利用简单的线性变换可以得到:

math?formula=I(x%2Cy)%5E*%3Dk*I(x%2Cy)%2Bb

math?formula=k%3D1%2Cb%3D16可以得到

fbfa3b247264?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

Alt text

fbfa3b247264?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

Alt text

fbfa3b247264?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

Alt text

这里给出关键代码

original = imread(strcat(strcat('resource\',name),'.bmp'));

transformed = LinearFunction(original, 1, 16);

subplot(1,3,3);

imshow(transformed)

title('线性变换后的图像')

imwrite(transformed,strcat(strcat('result\',name),'(linear).jpg'))

2. 直方图均衡变换

这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度。

考虑一个离散的灰度图像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值