实验一 空域图像增强技术
一、实验目的
1结合实例学习如何在视频显示程序中增加图像处理算法; 2理解和掌握图像的线性变换和直方图均衡化的原理和应用; 3了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;
4 了解噪声模型及对图像添加噪声的基本方法
二、实验原理
1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。
g(x,y)?T[f(x,y)]
0?f(x,y)?a??f(x,y)?g(x,y)???[f(x,y)?a]?ga a?f(x,y)?b??[f(x,y)?b]?gb?f(x,y)?255b?x?1,2,?,m, y?1,2,?n
2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。按照图像概率密度函数PDF的定义:
pr(rk)?nk k?0,1,2,...,L?1n
通过转换公式获得:
sk?T(rk)??pr(rj)??j?0j?0kknjn k?0,1,2,...,L?1
3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。将模板中的全体像素的均值(中值)来代替原来像素值的方法。
4 拉普拉斯算子如下:
??1?1?1???18?1??????1?1?1??
拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。
三、实验步骤
1 启动MATLAB程序,对图像文件分别进行灰度线性变换(参考教材57页,例)、直方图均衡化(参考教材64页,例)、均值滤波(参考教材69页,例)、中值滤波(参考教材73页,例)和梯度锐化操作(参考教材76页,例)。添加噪声,重复上述过程观察处理结果。
2记录和整理实验报告
四、实验仪器
1计算机; 2 MATLAB程序;
五、实验步骤及结果
实验过程及结果: 图像文件进行灰度线性变换 I=imread(''); imshow(I); 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); else if 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 end
figure(2);imshow(uint8(I)); 直方图均衡化 I=imread(''); figure
subplot(221);imshow(I); subplot(222);imhist(I) I1=histeq(I); figure;
subplot(221);imshow(I1) subplot(222);imhist(I1)
均值滤波 I=imread(''); [M,N]=size(I); II1=zeros(M,N); for i=1:16
II(:,:,i)=imnoise(I,'gaussian',0,; II1=II1+double(II(:,:,i));
if or(or(i==1,i==4),or(i==8,i==16)); figure;
imshow(uint8(II1/i)); end end
中值滤波 I=imread('');
J=imnoise(I,'salt & pepper',;
subplot(231),imshow(I);title('原始图像'); subplot(232),imshow(J);title('添加椒盐噪声图像') k1=medfilt2(J); k2=medfilt2(J,[5,5]); k3=medfilt2(J,[7,7]); k4=medfilt2(J,[9,9]);
subplot(233),imshow(k1);title('3x3模板中值滤波') subplot(234),imshow(k2);title('5x5模板中值滤波') subplot(235),imshow(k3);title('7x7模板中值滤波')
subplot(236),
原始图像添加椒盐噪声图像3x3模板中值滤波imshow(k4);title('9x9模板中值滤波')
5x5模板中值滤波7x7模板中值滤波9x9模板中值滤波
梯度锐化操作 I=imread('');
subplot(131);imshow(I) H=fspecial('Sobel'); H=H';
TH=filter2(H,I);
subplot(132),imshow(TH,[]); H=H';
TH=filter2(H,I);
subplot(133),imshow(TH,[])