空域方法
一、直接灰度变换
1.线性灰度变换
作用:增强图像中感兴趣的灰度区域,抑制不感兴趣的灰度区域
%灰度值小于30 不变
%灰度值30~150 拉伸到30~200
%灰度值150~255 压缩到200~255
I=imread('lena.bmp');
I=double(I);
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<30
I(i,j)=I(i,j);
elseif I(i,j)<150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
I=uint8(I)
2.对数变换
公式为:
t=Clog(1+|s|)
作用:消除因动态范围过大导致的失真。对傅里叶谱进行变换,图像细节更可见
(eg.显示傅里叶谱图时,动态范围远超过设备的显示能力,只能显示图像最亮的部分,而无法显示频谱中的低值部分)
3.灰度切割
增强特定范围的对比度,突出图像中特定灰度范围的亮度
方法一.对感兴趣的灰度级以较大灰度值显示,其余用较小灰度值显示
方法二.对感兴趣的灰度级以较大灰度值显示,其余灰度级不变
I=imread('lena.bmp');
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<50
I(i,j)=40;
elseif I(i,j)<180
I(i,j)=200;
else
I(i,j)=40;
end
end
end
二、直方图修正
直方图:表示数字图像中每个灰度级与该灰度级出现的频率间的统计关系
图像像素占有全部可能的灰度级且分布均匀,表明图像有高的对比度和多变的灰度色调。
直方图修正:通过改变直方图的形状增强图像对比度
1.直方图均衡化
将原始图像不均衡的直方图变为均匀分布的形式,增加灰度值的动态范围,提高对比度。
I=imread('lena.bmp');
figure
subplot(2,2,1);imshow(I);
subplot(2,2,2);imhist(I);%显示图像直方图
I1=histeq(I); %对图像进行均衡化处理
figure
subplot(2,2,1);imshow(I1);
subplot(2,2,2);imhist(I1);
- 直方图规定化