数字图像处理课程设计报告课程名称数字图像处理与Matlab专业班级学号姓名指导教师2015年11月6日实验一数字图像的基本操作和灰度变换一、实验目的1.了解数字图像的基本数据结构2.熟悉Matlab中数字图像处理的基本函数和基本使用方法3.掌握图像灰度变换的基本理论和实现方法4.掌握直方图均衡化增强的基本理论和实现方法二、实验原理与方法1.图像灰度的线性变换灰度的线性变换可以突出图像中的重要信息。通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。设原图像的灰度为),(jif,处理后的图像的灰度为),(jig,对比度线性展宽的原理示意图如图1.1所示。假设原图像中我们关心的景物的灰度分布在[af,bf]区间内,处理后的图像中,我们关心的景物的灰度分布在[ag,bg]区间内。在这里)(abggg()bafff,也就是说我们所关心的景物的灰度级得到了展宽。根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:),(jif,afjif),(0),(jigaagfjif)),((,bafjiff).,((1-1)0255255图1.1对比度线性变换关系bbgfjif)),((,255),(jiffb(mi,3,2,1;nj,3,2,1)其中,aafg,ababffgg,bbfg255255,图像的大小为m×n。2.直方图均衡化直方图均衡化是将原始图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。离散图像均衡化处理可通过变换函数:来实现三、实验内容与步骤1.熟悉MATLAB语言中数字图像处理函数的使用。2.图像灰度线性变换的实现1)读入一幅灰度图像test1.tif,显示其灰度直方图2)根据图像灰度直方图,选择所关心的图像景物的灰度分布范围[fa,fb],以及拟变换的灰度分布范围[ga,gb]3)实现对图像的灰度线性变换4)调整,,的值,观察对处理结果的影响。3.图像的均衡化处理1)读入一幅灰度图像test2.tif,求出其直方图2)利用Matlab函数实现图像的均衡化处理3)同屏显示处理前后的图像和灰度直方图,说明处理前后直方图的变化以及对应的灰度变化四、程序代码1、图像灰度线性变换的实现I=imread('D:\Matlab\work\imagines\test1.jpg');figure(1);subplot(1,3,1);imshow(I);title('原始图像');subplot(1,3,2);imhist(I);title('灰度直方图');I=double(I);[M,N]=size(I);fori=1:Mforj=1:NifI(i,j)=30I(i,j)=I(i,j);elseifI(i,j)=1500()kjkkjnsTrnI(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;elseI(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;endendendsubplot(1,3,3);imshow(uint8(I));title('灰度线性变化图像');2、图像的均衡化处理I=imread('D:\Matlab\work\imagines\test2.jpg');figure(1);subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imhist(I);title('灰度直方图');I1=histeq(I);subplot(2,2,3);imshow(I1);title('图像均衡化处理');subplot(2,2,4);imhist(I1);title('灰度直方图');五、实验结果1、图像灰度线性变换的实现分析:从灰度直方图可以知道,主要分布于较暗区域,导致图像亮度偏暗。采用灰度线性变化后,与原图对比可以提高了亮度,使边缘突出。2、图像的均衡化处理分析:采用了均衡化处理后,使灰度级均衡分布于[0,255],明显把亮度拉伸了。六、思考问题1.在映射关系中,分段直线的斜率的大小对图像处理结果有哪些影响?答:为了突出感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换。设原图像f(x,y)在[0,Mf],感兴趣目标的灰度范围在[a,b],欲使其灰度范围拉伸到[c,d],则对应的分段线性变换表达式为ffgMyxfbdbyxfbMdMbyxfacayxfabcdayxfyxfacyxg),(]),()][/()[(),(]),()][/()[(),(0),()/(),(通过调整折线拐点的位置及控制分段直线的斜率,可对任一灰度区间进行拉伸或压缩。2.直方图均衡化适用于什么形式的灰度分布情形?答:原图较暗且动态范围小,在直方图中的表现是直方图灰度范围窄且集中在低灰度值区域。实验二图像的空间域增强一、实验目的1.熟悉图像空间域增强方法,掌握增强模板使用方法2.掌握均值滤波器、中值滤波器的理论基础和实现方法3.掌握图像锐化的基本理论和实现方法4.验证图像滤波处理结果二、实验原理与方法图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”信息,削弱或去除不需要的信息,以改善图像的视觉效果,或突出图像的特征,便于计算机处理。图像增强可以在空间域进行,也可以在频率域中进行。空间域滤波主要利用空间模板进行,如33,55模板等。一般来说,使用大小为m×n的滤波器对大小为M×N的图像f进行空间滤波,可表示成:其中,m=2a+1,n=2b+1,𝑤(𝑠,𝑡)是滤波器系数,𝑓(𝑥,𝑦)是图像值均值滤波器是一种空间平滑滤波器,它是对包含噪声的图像上的每个像素点,用它邻域内像素的平均值替代原来的像素值。例如,采用一个3×3的模板,待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1)g(i,j)=1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1));中值滤波器也是一种空间平滑滤波器,它是对以图像像素点为中心的一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,因此它是一种非线性的图像平滑法。采用Laplacian锐化算子进行图像边缘的锐化,是采用二阶差分运算获得像素间的差异值,由此,获得对图像景物边界的锐化。Laplacian也可以算子也可以写成是模板作用的方式,如下:设待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1),则g(i,j)=4*f(i,j)-(f(i-1,j-1)+f(i,j-1)+f(i,j+1)+f(i+1,j));常用的锐化算子还有Roberts、Prewitt和Sobel算子等三、实验内容与步骤1.读入一幅256×256大小、256级灰度的数字图像test32.图像的平滑滤波处理1)对原图像分别加入高斯噪声、椒盐噪声。2)利用邻域平均法,分别采用33,55模板对加噪声图像进行平滑处理,显示原图像、加噪图像和处理后的图像。3)利用中值滤波法,分别采用33,55模板对加噪声图像进行去噪处理,显示原图像、加噪图像和处理后的图像。4)比较各种滤波方法和滤波模板的处理结果3.图像的锐化处理1)利用Laplacian锐化算子(α=-1)对256×256大小、256级灰度的数字图像test4进行锐化处理,显示处理前、后图像。2)分别利用Roberts、Prewitt和Sobel边缘检测算子,对数字图像test4进行边缘检测,显示处理前、后图像。四、实验代码1、图像的平滑滤波处理I=imread('D:\Matlab\work\imagines\test3.gif');J=imnoise(I,'salt&pepper',0.02);K=imnoise(I,'gaussian',0,0.01);h1=fspecial('average',3);h2=fspecial('average',5);K2=imfilter(K,h1);K3=imfilter(K,h2);J2=imfilter(J,h1);J3=imfilter(J,h2);K4=medfilt2(K,[33]);K5=medfilt2(K,[55]);J4=medfilt2(J,[33]);J5=medfilt2(J,[55]);figure(1);subplot(3,2,1);imshow(I);title('原始图像');subplot(3,2,2);imshow(K);title('高斯噪声');subplot(3,2,3);imshow(K2);title('3*3领域平均法');subplot(3,2,4);imshow(K3);title('5*5领域平均法');subplot(3,2,5);imshow(K4);title('3*3中值滤波');subplot(3,2,6);imshow(K5);title('5*5中值滤波');figure(2);subplot(3,2,1);imshow(I);title('原始图像');subplot(3,2,2);imshow(J);title('椒盐噪声');subplot(3,2,3);imshow(J2);title('3*3领域平均法');subplot(3,2,4);imshow(J3);title('5*5领域平均法‘);subplot(3,2,5);imshow(J4);title('3*3中值滤波');subplot(3,2,6);imshow(J5);title('5*5中值滤波');2、图像的锐化处理L=imread('D:\Matlab\work\imagines\test4.gif');h3=fspecial('laplacian',0.2);L2=imfilter(L,h3);L3=edge(L,'sobel');%sobelL4=edge(L,'prewitt');%prewittL5=edge(L,'roberts');%robertsfigure(3);subplot(3,2,[1,2]);imshow(L);title('原始图像');subplot(3,2,3);imshow(L2);title('拉普拉斯');subplot(3,2,4);imshow(L3);title('Sobel');subplot(3,2,5);imshow(L4);title('Prewitt');subplot(3,2,6);imshow(L5);title('Roberts');五、实验结果1、高斯图像的滤波处理分析:领域平均算法简单,可减小图像灰度的“尖锐”变化,减小噪声。但它在降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。2、椒盐图像的滤波处理分析:它对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多的图像却不太合适。对中值滤波法来说,正确选择窗口尺寸的大小是很重要的环节。一般很难事先确定最佳的窗口尺寸,需通过从小窗口到大窗口的中值滤波试验,再从中选取最佳的。3、图像的锐化处理分析:Prewitt和Sobel算子是计算数字梯度时最常用的算子。Prewitt模板比Sobel模板简单,但Sobel模板能够有效抑制噪声。拉普拉斯对噪声敏感,常产生双像素宽的边缘,无方向性。六、思考问题1.采用均值滤波、中值滤波,对高斯噪声和椒盐噪声的抑制哪种比较有效?答:均值滤波,可减小图像灰度的“尖锐”变化,减小噪声。但它在降低噪声的同时使图像产生模糊,特别