
图像处理实验报告(共23页).doc
23页精选优质文档-----倾情为你奉上中南民族大学计算机科学学院数字图像处理实验报告年 级 专 业 计算机科学与技术 指导教师 学 号 姓 名 实验类型 综合型 成绩评定评语:教师签名: 年 月 日 2012 年 6月 5日一、实验安排1.实验目的加深对数字图像处理理论课程的理解,进一步熟悉数字图像处理课程的相关算法和原理2.实验内容实验一:略(放假)实验二:(1) 选择一副图像,叠加椒盐噪声,分别用邻域平均法和中值滤波法对该图像进行滤波,显示滤波后的图像,比较和分析各滤波器的效果2) 选择一副图像,叠加零均值高斯噪声,设计一种处理方法,既能去噪声,又能保持边缘清晰3.实验环境Matlab7二、算法原理领域平均法有力地抑制了噪声,同时也引起了模糊,模糊程度与领域半径成正比中值滤波是一种非线性平滑滤波,在一定的条件下可以克服线性滤波如(平滑滤波)等所带来的图像细节模糊问题,而且对过滤脉冲干扰及图像扫描噪声非常有效。
但对某些细节多(特别是点,线,尖顶)的图像不宜采用中值滤波方法中值滤波是用一个有奇数点的滑动窗口,将窗口中心点的值用窗口各点的中值代替中值滤波器不像平滑滤波器那样使图像边界模糊,它在衰减噪声的同时,保持了图像细节的清晰三、Matlab代码(1)a.叠加椒盐噪声,用邻域平均法对该图像进行滤波I=imread('eight.jpg');J=imnoise(I,'salt & pepper',0.02);subplot(231),imshow(I);title('原图象');subplot(232),imshow(J);title('添加椒盐噪声图象');k1=filter2(fspecial('average',3),J);k2=filter2(fspecial('average',5),J);k3=filter2(fspecial('average',7),J);k4=filter2(fspecial('average',9),J);subplot(233),imshow(uint8(k1));title('3*3模版平滑滤波');subplot(234),imshow(uint8(k2));title('5*5模版平滑滤波');subplot(235),imshow(uint8(k3));title('7*7模版平滑滤波');subplot(236),imshow(uint8(k4));title('9*9模版平滑滤波');b.叠加椒盐噪声,用中值滤波法对该图像进行滤波I=imread('eight.tif'); I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); 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('3*3模板中值滤波'); subplot(234),imshow(k2);title('5*5模板中值滤波'); subplot(235),imshow(k3);title('7*7模板中值滤波'); subplot(236),imshow(k4);title('9*9模板中值滤波');(2) 叠加零均值高斯噪声,设计一种处理方法,既能去噪声,又能保持边缘清晰。
四、实验结果(1)ab(2)心得体会:实验三:(1) 选择一副灰度图像,分别完成以下处理:a图像求反运算;b 线性灰度变换:要求将灰度值在50到160之间的灰度值拉伸到50到220,将160到255间的灰度值压缩到220到255之间,小于50的灰度值保持不变c 图像规定化处理;d 对原灰度图像进行理想低通滤波和理想高通滤波处理,观察结果图像 3.实验环境Matlab7二、算法原理对图像求反是将原图像灰度值翻转,简单说来就是使黑变白,使白变黑增强图像对比实际是增强原图的各部分的反差,也就是说增强图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域用分段线性法将需要的图像细节灰度级拉伸,增强对比度,将不需要的图像细节灰度级压缩直方图规定化能自动地增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果也是得到全局均衡化的直方图实际上有时需要交换直方图,使之成为某个特定的形状,从而有选择的增强某个灰度值范围内的对比度直方图规定化就是将直方图均衡化后的结果映射到设想的理想直方图上三、Matlab代码A.I=imread(‘camerman.tif’);imshow(I)I=double(I)I=256-1-II=unit8(I)FigureImshow(I)B.I=imread('pout.tif');imshow(I)I=double(I)[M,N]=size(I);for i=1:Mfor j=1:Nif I(i,j)<=50I(i,j)=I(i,j);else if(i,j)<=160I(i,j)=(220-50)/(160-50)*(I(i,j)-50)+50;elseI(i,j)=(255-220)/(255-160)*(I(i,j)-160)+220;endendendfigure(2);imshow(uint8(I));C.I=imread(‘circuit.tif’);[M,N]=size(I);For i=1:8:257counts(i)=I;endQ=imread(‘circuit.tif’);N=histeq(Q,counts);FigureSubplot(221);imshow(N);Subplot(222);imhist(N);Axis([0 260 0 5000]);D. J=imread('lena.bmp');imshow(uint8(J));title('模糊图像')J=double(J);f=fft2(J);g=fftshift(f);[M,N]=size(f);n1=floor(M/2);n2=floor(N/2); d0=20;d0=5;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d>=d0h1=1;h2=1+0.5;elseh1=0;h2=0.5;endg1(i,j)=h1*g(i, j);g2(i,j)=h2*g(i, j);endendg1=ifftshift(g1);g1=uint8(real(ifft2(g1)));subplot(221);imshow(g1);title('理想高通滤波结果');g2=ifftshift(g2);g2=uint8(real(ifft2(g2)));subplot(222);imshow(g2);title('理想高通加强滤波结果');四、实验结果A.B.C. \d. 理想低通滤波和理想高通滤波处理心得体会:实验四1、 应用Matlab中的checkerboard函数来产生原始图像,基于线性运动滤波器PSF产生运动模糊图像,并加入高斯噪声,分别通过逆滤波和维纳滤波进行复原;2、 对于一副图像加入椒盐噪声,分别基于中值滤波、中点滤波和最小值滤波、最大值滤波进行复原处理;3、 对一副彩色图像从RGB空间转换到HSI空间,并分别显示H、S、I分量图像;4、 对一副彩色图像进行平滑滤波处理,显示效果图。
3.实验环境Matlab7二、算法原理匀速直线运动造成图像的模糊,此时我们可以用逆波法消除运动模糊根据傅里叶变换的卷积性质,模糊图像g(x,y)是退化系统单位冲激响应h(x,y)与原图像f(x,y)卷积的结果因此频域中的逆滤波就相当于时域中的去卷积过程维纳滤波综合了退化函数和噪声统计特性两个方面进行复原处理维纳滤波是寻找一个滤波器,使得复原后图像f’(x,y)与原始图像f(x,y)的均方误差最小三、Matlab代码1. F=checkerboard(8);figure(1);imshow(F,[]);PSF=fspecial('motion',7,45);MF=imfilter(F,PSF,'circular');noise=imnoise(zeros(size(F)),'gaussian',0,0.001);MFN=MF+noise;figure(2);imshow(MFN,[]);NSR=sum(noise(:).^2)/sum(MFN(:).^2);figure(3);imshow(deconvwnr(MFN,PSF),[]);figure(4);imshow(deconvwnr(MFN,PSF,NSR),[])2.f=imread('cameraman.tif');figure(1);imshow(f);title('原始图像');g=imnoise(f,'salt & pepper',0.2);figure(2);imshow(g);title('椒盐噪声污染的图像');g1=double(g)/255;j1=medfilt2(g1,'symmetric');figure(3); imshow(j1);title('中值滤波图像');j2=ordfilt2(g1,median(1: 3*3),ones(3, 3),'symmetric');figure(4); imshow(j2);title('中点滤波图像');j3=ordfilt2(g1,1,ones(3, 3));figure(5); imshow(j3);title('最小值滤波图像');j4=ordfilt2(g1,9,ones(3, 3));figure(6); imshow(j4);title('最大值滤波图像');3.rgb=imread(“三原色.Bmp”); Imshow(rgb); rgb=im2double(rgb); r=rgb(:,:,1); g=rgb(:,:,2); b=rgb(:,:,3); I=(r+g+b)/3; temp1=min(min(r,g),b); temp2=r+g+b; temp2(temp= =0)=eps; S=1-3.*temp1./temp2; temp1=0.5*((r-g)+(r。
