您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字图像处理实验报告
数字图像处理实验报告实验一项目四:直方图均衡化一、直方图均衡化图中,由于反射光线十分微弱,导致屋檐、墙壁、路面等诸多细节都无法显示。请选择合适的图像增强方法,减小图像的亮度动态范围,增强对比度,使上述的细节显示出来。二、理论分析由图可知,图像灰度过低,同时进行直方图分析后,亦可得知有此结论,因而可以运用直方图均衡化的方法进行处理,即可达到所希望的效果。三、概要设计读取图像——读取像素点灰度值——直方图均衡化处理——显示图像四、详细设计实验代码如下:clcclearallu=imread('4.bmp');I=rgb2gray(u);imshow(I);title('原始图像');[MN]=size(I);L=256;K=I;val=zeros(1,L);valMap=zeros(1,L);fori=1:Mforj=1:Nval(I(i,j)+1)=val(I(i,j)+1)+1;endendval=val/(M*N);temp=0.0;fori=1:Ltemp=temp+val(i);valMap(i)=floor((L-1)*temp+0.5);endfori=1:Mforj=1:NK(i,j)=valMap(I(i,j)+1);endendfigure;imhist(I);figure;imhist(K);figure;imshow(K);title('处理后图像');五、实验结果及分析原始图像及其直方图处理后图像及其直方图:由实验结果可知,已经达到较好的效果。在实验刚开始时,由于图像直接从课件上粘贴过来,导致格式不正确,为真彩色图像,内存过大,因而在运用u=imread('4.bmp');I=rgb2gray(u);语句时,总不能正确执行,后改正方可。此外,这个图也可以用分段非线性函数或指数拉伸函数进行处理,也同样可以得到不错的效果。项目七:中值滤波一、中值滤波实现对上图的自适应中值滤波,尽可能去除图像中的椒盐噪声。二、理论分析本实验目标图像被椒盐噪声进行严重污染。由于中值滤波对去除椒盐噪声有着非常良好的效果,故主要采用中值滤波算法对其进行图像复原。采取3*3、5*5、7*7模板进行尝试。三、概要设计读入图片——设计中值滤波器滤波——显示图像四、详细设计实验代码如下:clcclearallK=imread('pig7.png')[a,b]=size(K);figure(1)imshow(K);title('灰白原图');G=ones(size(K));%5*5中值滤波fori=1:aforj=1:bif(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)G(i,j)=K(i,j);elsetemp(1)=K(i-2,j-2);temp(2)=K(i-2,j-1);temp(3)=K(i-2,j);temp(4)=K(i-2,j+1);temp(5)=K(i-2,j+2);temp(6)=K(i-1,j-2);temp(7)=K(i-1,j-1);temp(8)=K(i-1,j);temp(9)=K(i-1,j+1);temp(10)=K(i-1,j+2);temp(11)=K(i,j-2);temp(12)=K(i,j-1);temp(13)=K(i,j);temp(14)=K(i,j+1);temp(15)=K(i,j+2);temp(16)=K(i+1,j-2);temp(17)=K(i+1,j-1);temp(18)=K(i+1,j);temp(19)=K(i+1,j+1);temp(20)=K(i+1,j+2);temp(21)=K(i+2,j-2);temp(22)=K(i+2,j-1);temp(23)=K(i+2,j);temp(24)=K(i+2,j+1);temp(25)=K(i+2,j+2);temp=sort(temp);G(i,j)=temp(13);endendend%subplot(1,2,2);figure(2)imshow(uint8(G));五、实验结果及分析原始图像经过运行可知,运用5*5模板即可达到叫好的滤波效果,因此未在尝试7*7的模板。不过,此代码较为复杂繁琐,设计中值滤波器模块直接用循环语句便可实现。此外,一般采用自适应中值滤波法对纯正的椒盐噪声可达到比中值滤波更好的效果。实验二项目二:几何校正一、几何校正fig2.bmp是由灰度图像orig.bmp(256×256)经过空间线性变换得到的图像。试对Fig2.bmp进行几何校正,恢复出原始图像。二、理论分析由图可知,需对此图进行畸变校正。可通过matlab直接调用函数tform=cp2tform(inputpoints,basepoints,'affine')即可进行非线性几何变换,按照此函数的说明配合图像畸变形状可确定使用affine。因此只要找出图中的四个角对应的像素点,变换到对应的正确位置即可校正。三、概要设计读取图片——找出四个角对应的畸变点及校正点——非线性几何校正——显示图片四、详细设计实验代码:%几何校正clcclearf=imread('2.jpg');f=rgb2gray(f);basepoints=[103;10259;2670;267259];;%校正图像匹配点坐标inputpoints=[103;61230;21527;267259]%失真图像控制点坐标tform=cp2tform(inputpoints,basepoints,'affine');%估计线性变换方程g=imtransform(f,tform);figure(1)subplot(1,2,1),imshow(f);title('原始图像');subplot(1,2,2),imshow(g);title('校正图像');五、实验结果及其分析此实验的关键在于找出畸变点和校正点,运用正确的几何校正函数即可,然而可发现图形的大小已发生变化。若要保持大小不变,可利用双线性变换做灰度级插补的几何变换、或利用最近领域插值做灰度级插补的几何变换。然而,由于matlab函数调用的极其简便,且处理好无伤大雅,故采用此方法。项目四:连通分量一、连通分量标记Fig4.bmp中的连通分量,并保留三个及以上圆形粘连的连通分量。二、理论分析调用matlab函数bwlabel进行标记对象,估计三连通分量以上的总像素值,进行调节,大于此值则保留,低于则舍弃,便可保留三个及以上圆形粘连的连通分量。三、概要设计读取图像——对象标记——自带参数调节——显示图像四、详细设计实验代码如下:%标记连通分量,并保留三个及以上圆形粘连的连通分量clcclearI=imread('4.jpg');I=rgb2gray(I);imshow(I);title('originalimage');%f=I;%figure,imshow(f);%%g=zeros(size(f));%[L,n]=bwlabel(f);%holdon%fork=1:n%[r,c]=find(L==k);%rbar=mean(r);%cbar=mean(c);%%plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k',...%%'MarkerFaceColor','k','MarkerSize','5');%plot(cbar,rbar,'Marker','*','MarkerEdgeColor','r','MarkerSize',3);%end%title('markedimage');%g=mat2gray(L);%figure,imshow(g,'notruesize');%g=zeros(size(I));[L,n]=bwlabel(I,4);T=1500;%自带参数调节fork=1:n[r,c]=find(L==k);l=length(r);ifl=Tfori=1:lI(r(i),c(i))=0;endendend%figure,imshow(mat2gray(g));title('Connectedcomponent');figure,imshow(mat2gray(I));title('Connectedcomponent');五、实验结果及分析原始图像及参数设为1500处理后图像:参数设为3000及500时的处理后图像:由实验结果可知,当估计参数为1500时,效果较好。
本文标题:数字图像处理实验报告
链接地址:https://www.777doc.com/doc-5220632 .html