空域处理
1、灰度变换
RGB=imread('img.bmp','bmp'); %读入彩色图片
figure(1),imshow(RGB),title('彩色图'); %显示彩色图片
I=rgb2gray(RGB); %彩色转化成灰度图figure(2),imshow(I),title('灰度图'); %显示灰度图
2、直方图修正
1.1直方图均衡化
I=imread(‘tire.tif’);
J=histep(I); /直方图均衡化
imshow(J)
title(“直方图均衡化”)
imhist(J,64) /均衡变化后的直方图
1.2 直方图规定化
I=imread(‘tire.tif’);
Hgram=50:2:250; /规定化函数
J=histep(I,hgram);
Imshow(J)
Imhist(J,64) /规定化后的直方图
3、空域平滑
3.1 平滑滤波
%线性平滑滤波
I=imread('beauty.tif');
J=imnoise(I,'salt & pepper',0.02);
subplot(221),imshow(I)
title('原图像')
subplot(222),imshow(J)
title('添加椒盐噪声图像')
K1=filter2(fspecial('average',3),J)/255;%应用3*3邻域窗口法
subplot(223),imshow(K1)
title('3x3窗的邻域平均滤波图像')
K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法
subplot(224),imshow(K2)
title('7x7窗的邻域平均滤波图像')
3.2 中值滤波
%中值滤波和平均滤波
I=imread('girl.bmp');
I=rgb2gray(I);
J=imnoise(I,'salt & pepper', 0.02);
subplot(2,2,1);
imshow(I);
title('原图');
subplot(2,2,2);
imshow(J);
title('noise');
/K=fspecial('average',5);
/K1=filter2(K,J)/255;平均滤波
L=medfilt2(J,[3 5]);/中值滤波
subplot(2,2,3);
imshow(L);
title('中值滤波');
4、空域锐化
%Laplacian算子锐化
a=imread('dowels.tif');
subplot(131);
imshow(a);
title('原图');
b=double(a);%将图像矩阵转化为double类型
s=size(b);
c=zeros(s(1,1),s(1,2));
for x=2:s(1,1)-1
for y=2:s(1,2)-1
c(x,y)=(-b(x+1,y)-b(x-1,y)-b(x,y+1)-b(x,y-1)+4*b(x,y));
end
end%用拉氏算子对图像进行滤波,这个过程相当于运用了一个3×3的掩膜[0,-1,0;-1,4,-1;0,-1,0]
subplot(132);
imshow(c);
title('Laplace锐化滤波图像');
d=b+c;%当拉普拉斯掩膜中心系数为正时,增强图像为原图像于拉氏算子滤波图像之和
d=uint8(d);%将图像矩阵变回uint8格式
subplot(133);
imshow(d);
title('Laplace锐化滤波结果');
% Laplacian算子锐化和prewitt模板锐化
H=fspecial(‘laplacianH’);
laplacianH=filter2(H,I)
imshow(laplacianH);/拉普拉斯算子锐化图像H= fspecial(‘prewittH’);
prewittH= filter2(H,I);
imshow(prewittH);/匹配模板锐化图像
5、彩色增强
5.1伪彩色增强
%伪彩色增强
I=imread('dowels.tif');
figure;
imshow(I);
title('原图');
X=grayslice(I,16)
figure;
imshow(X,hot(16));
title('伪彩色增强');
5.2假彩色增强
%假彩色增强处理
[RGB]=imread('peppers.png');
imshow(RGB);
RGBnew(:,:,1)=RGB(:,:,3);
RGBnew(:,:,2)=RGB(:,:,1);
RGBnew(:,:,3)=RGB(:,:,2);
subplot(121);
imshow(RGB);
title('原图');
subplot(122);
imshow(RGBnew);
title('假彩色增强');
5.3真彩色增强
%真彩色图像的分解
RGB=imread('peppers.png');
subplot(221),imshow(RGB)
title('原始真彩色图像')
subplot(222),imshow(RGB(:,:,1))
title('真彩色图像的红色分量')
subplot(223),imshow(RGB(:,:,2))
title('真彩色图像的绿色分量')
subplot(224),imshow(RGB(:,:,3))
title('真彩色图像的蓝色分量')
频域处理
1、低通滤波(平滑)
%利用低通邻域平均模板进行平滑
I=imread('girl.bmp');
I=rgb2gray(I);
subplot(1,3,1);
imshow(I);
title('原图');
J=fspecial('average');
J1=filter2(J,I)/255;
subplot(1,3,2);
imshow(J1);
title('3*3滤波');
K=fspecial('average',9);
K1=filter2(K,I)/255;
subplot(1,3,3);
imshow(K1);
title('9*9滤波');
2、高通滤波——高频提升滤波(锐化)
%高通滤波边缘增强
I=imread('girl.bmp');
I=rgb2gray(I);
subplot(2,2,1);
imshow(I);
title('original pic');
J=fspecial('average',3);
J1=conv2(I,J)/255;
subplot(2,2,2);
imshow(J1);
title('3*3lowpass');
K=fspecial('prewitt');
K1=filter2(K,J1)*5;
subplot(2,2,3);
imshow(K1);
title('prewitt');
L=fspecial('sobel');
L1=filter2(L,J1)*5;
subplot(2,2,4);
imshow(L1);
title('sibel');
3、同态滤波(提高对比度,揭示阴影处细节)。