1、数字图像图像增强实验报告实验:图像增强1实验目的(1)熟悉并学会使用MATLAB中图像增强的相关函数(2)了解图像增强的办法、去噪的方法和效果。2实验主要仪器设备(1)微型计算机:Intel Pentium及更高。(2)MATLAB软件(含图像处理工具箱)。(3)典型的灰度、彩色图像文件。3实验原理(1)将一副图像视为一个二维矩阵,用MATLAB进行图像增强。(2)利用MATLAB图像处理工具箱中的函数imread(读)、imshow(显示)、imnoise(加噪)、filter(滤波)对图像进行去噪处理。(3)图像灰度修正:灰度变换。对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果
2、可以得到明显提高。通过分析,会发现变换前后图像的直方图也发生相应的变化。(4)图像平滑方法:领域平均、中值滤波。分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量,会影响图像细节的重现。中值滤波对某些信号具有不变形,适用于消除图像中的突发干扰,但如果图像含有丰富的细节,则不宜使用。(5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。从频率域看,锐化提升了图像的高频分量。4实验容(1)图像灰度修正。(2)图像平滑方法。(3)图像锐化方法。
3、5实验步骤(1)图像灰度修正。读入一幅灰度级分布不协调的图像,分析其直方图。根据直方图,设计灰度变换表达式,或调用imadjuct函数。调整变换表达式的参数,直到显示图像的灰度级分布均衡为正。(2)图像平滑方法。对有噪声图像或人为加入噪声的图像进行平滑处理。根据噪声的类型,选择不同的去噪方法,如领域平均、中值滤波等方法,调用filter2、medfilt2函数,选择不同的滤波模板和参数,观测和分析各种去噪方法对不同噪声图像处理的去噪或降噪效果。(3)图像锐化方法。读入一幅边缘模糊地图像,利用罗伯茨梯度对图像进行4种蜕化处理,比较各自效果。1图像灰度修正img = imread(d:001.bm
4、p);figure();imshow(img);I = double(img); val=max(max(I);a=log2(val);b=round(a);max_gray=2b;H, W=size(I);J = zeros(H, W);for i = 1 : H for j = 1 : W J(i,j)=max_gray-1-I(i,j); end % endfor jend % endfor iimg2 = uint8(J);subplot(1,2,1),imshow(img);title(原图);subplot(1,2,2),imshow(img2);title(变换后);imwrit
5、e(img2,d:2.bmp); 实验截图:2.1程序代码:img = imread(d:LENA_8G_4bit.bmp);figure();imshow(img);subplot(2,1,1);imshow(img);subplot(2,1,2);imshow(img);I = double(img);%matlab 不支持uint8类型数据的矩阵运算,因此首先要将图像数据转换为double类型,计算后再转换为uint8类型H, W=size(I);J = zeros(H, W);for i = 1 : H for j = 1 : W J(i,j) =255.0/15.0*I(i,j);
6、end;% endfor jend; % endfor iimg2 = uint8(J);subplot(1,2,1),imshow(img,);title(原图);subplot(1,2,2),imshow(img2);title(变换后);imwrite(img2,d:LENA_255G .bmp);实验截图:2.2程序代码:img = imread(d:LENA_255G .bmp);figure();imshow(img);subplot(2,1,1);imshow(img);subplot(2,1,2);imshow(img);I = double(img);%matlab 不支持u
7、int8类型数据的矩阵运算,因此首先要将图像数据转换为double类型,计算后再转换为uint8H, W=size(I);J = zeros(H, W);for i = 1 : H for j = 1 : W if I(i,j)30 J(i,j)=I(i,j); elseif I(i,j)150 J(i,j) = 170.0/120.0*(I(i,j)-30)+30; else J(i,j)= 55.0/105.0*(I(i,j)-150)+200; end; end ;% endfor jend; % endfor iimg2 = uint8(J);subplot(1,2,1),imshow
8、(img,);title(原图);subplot(1,2,2),imshow(img2,);title(变换后);imwrite(img2,d:L.bmp);实验截图:3.1程序代码:img=imread(d:GIRL_8G.bmp);I = double(img);H, W=size(I);max_gray=max(max(I);L=ceil(log2(max_gray);gray=2L-1;x=0:gray;y=zeros(1,gray+1);for i=1:H for j=1:W y(img(i,j)+1)=y(img(i,j)+1)+1; end;end;y1=y/(H*W);S=ze
9、ros(1,gray+1);S(1)=y1(1);for i=2:length(S) S(i)=S(i-1)+y1(i);end;S1=floor(S*gray)+0.5);Z=zeros(H,W);for i=1:H for j=1:W Z(i,j)=S1(img(i,j)+1); end;end;img2=uint8(Z);y2=zeros(1,gray+1);for i=1:H for j=1:W y2(img2(i,j)+1)=y2(img2(i,j)+1)+1; end;end;bar(x,y);%原直方图bar(x,y2);%变换后直方图subplot(1,2,1);imshow(
10、img,);title(原图);subplot(1,2,2);imshow(img2,);title(变换后 );实验截图:原灰度直方图:均衡后灰度直方图:图像平滑和图像锐化1.加入噪声title(加入椒盐噪声的图像);2.图像的平滑邻域平均模板加权平均模板3.邻域平均M1=(1/4)*0,1,0;1,0,1;0,1,0;M2=(1/8)*1,1,1;1,0,1;1,1,1;L=imfilter(J,M1);G=imfilter(J,M2);subplot(1,2,1);imshow(L);title(4邻域平均)subplot(1,2,2);imshow(G);title(8邻域平均)4.加
11、权平均M3=(1/5)*0,1,0;1,1,1;0,1,0;M4=(1/16)*1,2,1;2,4,2;1,2,1;L=imfilter(J,M3);G=imfilter(J,M4);subplot(1,2,1);imshow(L);title(1/5加权平均)subplot(1,2,2);imshow(G);title(1/16加权平均)图像的锐化拉普拉斯模板Laplacian锐化模板I=imread(fabric.png);%读取图像K=rgb2gray(I);M1=0,1,0;1,-4,1;0,1,0;M2=1,1,1;1,-8,1;1,1,1;K=double(K);J=conv2(K
12、,M1,same); %卷积G=conv2(K,M2,same);F=K-J;E=K-G;figure,imshow(K,),figure,imshow(J),figure,imshow(G),figure,imshow(F,)figure,imshow(E,)原图像4邻域8邻域4邻域锐化图像8邻域锐化图像小结平均滤波和加权滤波的效果都不怎么好,不能完全除去高斯噪声,它们对椒盐噪声的处理效果比较理想但仍旧存在提升的空间;另外,在对4邻域8邻域的比较以及1/5加权以及1/16加权平均的比较可以看出,多领域的处理效果比较好,但是它的缺点是会引起图像的模糊。可以肯定的是不同的模版其效果不同,对特定的图像要使用特定的模版。图像变模糊的原因一般为成像系统聚焦不好、信道过窄以及平均过积分运算。图像的锐化使得目标物轮廓变模糊,细节轮廓不清晰,加重目标物轮廓,使模糊图像变清晰。拉普拉斯算子是常用的边缘增强算子,拉普拉斯运算也是偏导数运算的线性组合运算,而且是一种各向同性(旋转不变性)的线性运算。在比较4邻域以及8邻域的锐化图像我们可以发现,4邻域锐化在边缘以及与原图像的相似程度上都有比较满意的效果,8邻域锐化在灰度级对比上比4邻域更加优秀,但它的一个缺点是丢失了一部分图像细节,从而导致图片看起来变得“模糊”。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1