《数字图像处理实验报告(图像灰度变换处理)》由会员分享,可在线阅读,更多相关《数字图像处理实验报告(图像灰度变换处理)(6页珍藏版)》请在金锄头文库上搜索。
1、 数字图像处理实验报告班 级 :姓 名 :学 号 : 数字图像处理实验报告 一实验名称: 图像灰度变换二实验目的:1 学会使用Matlab; 2 学会用Matlab软件对图像灰度进行变换,感受各种不同的灰度变换方法对最终图像效果的影响。三实验原理: Matlab中经常使用的一些图像处理函数: 读取图像:img=imread(filename); /支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。 显示图像:imshow(img,G); /G表示显示该图像的灰度级数,如省略则默认为256。 保存图片:imwrite(img,filename); /不支持GIF格式,其他与imr
2、ead相同。 亮度变换:imadjust(img,low_in,high_in,low_out,high_out); /将low_in至high_in之间的值映射到low_out至high_out之间,low_in以下及high_in以上归零。 绘制直方图:imhist(img); 直方图均衡化:histeq(img,newlevel); /newlevel表示输出图像指定的灰度级数。 像平滑与锐化(空间滤波):w=fspecial(type,parameters);imfilter(img,w); /这两个函数结合将变得十分强大,可以实现photoshop里的任意滤镜。 图像复原:decon
3、vlucy(img,PSF); /可用于图像降噪、去模糊等处理。四.实验步骤: 1获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。2产生灰度变换函数T1,使得:0.3r r 0.65用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。3产生灰度变换函数T2,使得: 15.9744r5 r 0.5s = (r0.5)0.2+0.12 r 0.5用T2对原图像Fig3.10(b).jpg进行处理,打印另一处理后的新图像。4分别用 s = r0.6; s = r0.4; s = r0.3 对Fig3.08(a).jpg图像进行处理。为简
4、便起见,请使用Matlab中的imadjust函数。5对Fig3.04(a).jpg图像实施反变换(Negative Transformation)。s =1r;6对Fig3.10(b).jpg图像实施灰度切片(Gray-level slicing)。具体要求如下:当0.2 r 0.4时,将r置为0.6, 当r位于其他区间时, 保持其灰度与原图像一样。五实验程序:%1figure;subplot(4,3,1);i=imread(Fig3.10(b).jpg);i=im2double(i);imshow(i);title(1);%2subplot(4,3,2);r=0:0.001:1;s=r0.
5、35.*r*0.3+r=0.35.*(0.105+2.6333*(r-0.35)+r0.65.*(1+0.3*(r-1);plot(r,s);title(2p,);subplot(4,3,3);T1=i0.35.*i*0.3+i=0.35.*(0.105+2.6333*(i-0.35)+i0.65.*(1+0.3*(i-1);imshow(T1);title(2i,);imwrite(T1,Fig3.10(b)_T1.jpg,jpg);%3subplot(4,3,4);r=0:0.001:1;s=r0.5.*(r-0.5).0.2+0.12);plot(r,s);title(3p,);subp
6、lot(4,3,5);T2=i0.5.*(i-0.5).0.2+0.12);imshow(T2);title(3i,);imwrite(T2,Fig3.10(b)_T2.jpg,jpg);%4subplot(4,3,6);ss1=r.0.6;ss2=r.0.4;ss3=r.0.2;plot(r,ss1,r,ss2,r,ss3);title(4p,);subplot(4,3,7);s1=imadjust(i,0.6);imshow(s1);title(41i,);subplot(4,3,8);s2=imadjust(i,0.4);imshow(s2);title(42i,);subplot(4,
7、3,9);s3=imadjust(i,0.3);imshow(s3);title(43i,);%5subplot(4,3,10);rr=imread(Fig3.04(a).jpg);rr=im2double(rr);imshow(rr);title(5i,);ss=1-rr;imwrite(ss,Fig3.10(a)_ss.jpg,jpg);%6subplot(4,3,11);r=0:0.001:1;s=r=0.2*0.6;plot(r,s);title(6p,);subplot(4,3,12);s6=i=0.2*0.6+i0.4.*i+i0.2.*i;imshow(s6);title(6i,
8、);imwrite(s6,Fig3.10(b)_s6.jpg,jpg);六实验处理前后图像: 七实验小结 在学习了数字图形图像处理之后,我知道了如何学会用VC+6.0和Matlab简单的处理图像,这次的实验我主要是用Matlab软件对图像灰度进行变换。在上机操作的过程中,我遇到了一些难题,在刚开始时,我连Matlab如何使用都不知道,但是上网找到一些资料最终知道了如何使用,到后来在使用Matlab时,我不知道Matlab的一些函数的用法,如imread()函数,imshow()函数等,在运行时总会报错。但是我通过上网查找或者通过与同学讨论,最后将这些问题一一解决,虽然将结果最后弄了出来,但是我还是对Matlab的其它函数有些不懂。我想以后还需要对其进行深入的学习。在本次实验中,我感受各种不同的灰度变换方法对最终图像效果的影响。感觉很有趣,虽然用Matlab简单的处理图像相较于photoshop要麻烦一些,但是当看到数字图像处理在各个领域的应用是如此的广泛。通过本次实验我学会了很多。对其有了初步了解,在查找资料中也知道了用VC+6.0对图像的一些处理方法。总之,这次的收获很多。