数字图像实验三图像增强.doc
|实验三、图像增强一、 实验目的(1 ) 熟悉并学会使用 MATLAB 中图像增强的相关函数。(2 ) 掌握图像灰度修正 、平滑去噪 、锐化加强边缘和轮廓的方法,并编程实现。二、 实验主要仪器设备(1 ) 台式机或笔记本电脑。(2 ) MATLAB 软件(含图像处理工具箱) 。注意:由于软件版本的缘故,软件的界面可能有所差异,读者可以根据实际安装的软件选择相关的命令。(3 ) 典型的灰度、彩色图像文件。三、 实验原理数码相机的曝光量指到达 DC 感光器件上的光线总量,用曝光值( EV)表示。图像的过度曝光、曝光不足时,用曝光补偿调节曝光量,这种功能可修正自动曝光设置值为上升或下降几级。例如,某些 DC 的 EV 调整范围为+30-3 。尝试对同一景象进行正确曝光、过度曝光和曝光不足三种情况成像情况。(1 ) 将一幅图像视为一个二维矩阵,用 MATLAB 进行图像增强。(2 ) 利用 MATLAB 图像处理工具箱中的函数 imread(读入) ,imshow(显示) ,imnoise(加噪) ,filter2(滤波)对图像进行去噪处理。(3 ) 图像灰度修正:灰度变换。对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果可以得到明显提高。通过分析,会发现变换前后图像的直方图也发生相应的变化。(4 ) 图像平滑方法:领域平均、中值滤波。分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量,会影响图像细节的重现。中值滤波对某些信号具有不变形,适用于消除图像中的突发干扰,但如果图像含有丰富的细节,则不宜使用。(5 ) 图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。从频率域看,锐化提升了图像的高频分量。四、 实验内容MATLAB 图像增强:图像灰度修正;图像平滑方法;图像锐化方法。五、 实验步骤MATLAB 图像增强。(1 ) 图像灰度修正。测试图像为 pout.tif、tire.tif。读入一幅灰度级分布不协调的图像,分析其直方图。根据直方图,设计灰度变换表达式,或调用 imadjuct 函数。调整变换表达式的参数,直到显示图像的灰度级分布均衡为止。(2 ) 不均匀光照的校正。测试图像为 pout.tif。采用分块处理函数 blkproc 和图像相减函数 imsubtract 校正图 6.6 存在的不均匀光照现象。(3 ) 三段线性变换增强。测试图像为 eight.tif。选择合适的转折点,编程进行三段|线性变换增强。(4 ) 图像平滑方法。测试图像为 eight.tif。对有噪声图像或人为加入噪声的图像进行平滑处理。根据噪声的类型,选择不同的去噪方法,如领域平均、中值滤波等方法,调用 filter2、medfilt2 函数,选择不同的滤波模板和参数,观测和分析各种去噪方法对不同噪声图像处理的去噪或降噪效果。(5 ) 图像锐化方法。读入一幅边缘模糊地图像,利用罗伯茨梯度对图像进行 4 种锐化处理,比较各自效果。六、 实验程序(1 )I = imread('pout.tif');subplot(2,2,1);imshow(I);subplot(2,2,2);imhist(I);J = imadjust(I,0.3 0.7,);subplot(2,2,3);imshow(J);subplot(2,2,4);imhist(J)(2 )I=imread('rice.png');subplot(2,2,1);imshow(I);title('原始图像');J = imnoise(I,'salt subplot(2,2,2);imshow(J);title('加噪图像');blocks=blkproc(J,128 128,estibackground);background=imresize(blocks,256256,'bilinear'); subplot(2,2,3);imshow(background);title('提取背景');I2=imsubtract(J,background);Iout=medfilt2(I2,3 3);subplot(2,2,4);imshow(Iout,);title('校正图像');functionbackgray=estibackground(x,thr)meanx=mean(x(:);stdx=std(x(:);minx=min(x(:);backgray=max(meanx-thr*stdx,minx);|(3 )f = imread('pout.tif');M,N=size(f);g=zeros(M,N);f=double(f);g=double(g);k1=min(min(f);k2=max(max(f);a=k1+50;b=k2-50;c=k1-30;d=k2+20;for i=1:Mfor j=1:Nif(f(i,j)>=a)endendendfigure;subplot(1,2,1);imshow(f,);subplot(1,2,2);imshow(g,);(4 )I = imread('eight.tif');subplot(2,3,1);imshow(I);title('原始图像');J=imnoise(I,'gaussian',0.01);subplot(2,3,2);imshow(J);title('高斯白噪声');h0=1/9.*1 1 1 1 1 1 1 1 1;h1=0.1 0.1 0.1;0.1 0.2 0.1;0.1 0.1 0.1;h2=1/16.*1 2 1;2 4 2;1 2 1;h3=1/8.*1 1 1;1 0 1;1 1 1;g0=filter2(h0,J);|g1=filter2(h1,J);g2=filter2(h2,J);g3=filter2(h3,J);subplot(2,3,3);imshow(g0,);subplot(2,3,4);imshow(g1,);subplot(2,3,5);imshow(g2,);subplot(2,3,6);imshow(g3,);(5 )I=imread('rice.png');subplot(2,3,1);imshow(I);title('原始图像');B1=edge(I,'roberts',0.1);subplot(2,3,2);imshow(B1);title('0.1');B2=edge(I,'roberts',0.05);subplot(2,3,3);imshow(B2);title('0.05');B3=edge(I,'roberts',0.07);subplot(2,3,4);imshow(B3);title('0.07');B4=edge(I,'roberts',0.01);subplot(2,3,5);imshow(B4);title('0.01');七、 实验结果(1)|(2)(3)|(4)(5)|八、 思考题(1 ) 如何针对图像过暗、过亮、对比度不足设计灰度变换函数?灰度 g 与灰度 f 之间的关系为:g=a+(b-a)(b-a)*(f-a),可见,如果 b-a?b-a,则线性变换使得图像灰度范围增大,即对比度增大,图像会变得清晰;如果 b-ab-a,则使曝光不充分的图像中黑的更黑,拜的更白,从而有效的提高图像灰度的对比度。(2 ) 比较同一种去噪方法对不同噪声处理的效果。对于高斯噪声, 仍然是中值滤波的峰值信噪比最低, 总体变分的均方误差最小, 的情况一致所以,对于高斯噪声, 中值滤波的降噪效果不太理想 , 而总体变分模型则取得比较好 看出均值滤波的峰值信噪比最低,小波 TV 的峰值信噪比比较接近而总体变分的均方误差仍为最小,对于高斯噪声, 线性均值滤波和 TV 去噪可以取得较好的去噪效果但对于椒盐噪声, 中值滤小波、总体变分(TV)的去噪平滑效果比较好其中,总体变分模型对两种噪声都取得了比较好的去噪效果, 它是现在图像平滑去噪和复原最流行的方法但仍然会丢失部分边界纹理信息。(3 ) 讨论用梯度法锐化图像的 4 种不同方法的应用范围。Robert 算子通常会在图像边缘附近的区域内产生较宽的响应,用此算子可以很准确的定位边缘,但是他对噪声的敏感程度也相对较强。所以如果要用次算法进行锐化处理时,尤其要考虑到噪声的影响。Sobel 锐化算法也是图像微分锐化算法之一。一幅图像进行 Sobel 算子锐化后,图像的灰度变化的幅度会有所增加。