数字图像处理实验报告(图像灰度变换处理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理实验报告
班级:
姓名:
学号:
数字图像处理实验报告
一.实验名称:图像灰度变换
二.实验目的:1 学会使用Matlab;
2 学会用Matlab软件对图像灰度进行变换,感受各种
不同的灰度变换方法对最终图像效果的影响。
三.实验原理:
Matlab中经常使用的一些图像处理函数:
读取图像:img=imread('filename'); //支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。
显示图像:imshow(img,G); //G表示显示该图像的灰度级数,如省略则默认为256。
保存图片:imwrite(img,'filename'); //不支持GIF格式,其他与imread相同。
亮度变换: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里的任意滤镜。
图像复原:deconvlucy(img,PSF); //可用于图像降噪、去模糊等处理。
四.实验步骤:
1.获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。
2.产生灰度变换函数T1,使得:
0.3r r < 0.35
s = 0.105+2.6333(r–0.35) 0.35 ≤ r ≤ 0.65 1+0.3(r–1) r > 0.65
用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。
3.产生灰度变换函数T2,使得:
15.9744r5 r ≤ 0.5
s =
(r–0.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图像进行处理。为简便起见,请使用Matlab中的imadjust函数。
5.对Fig3.04(a).jpg图像实施反变换(Negative Transformation)。s =1-r;
6.对Fig3.10(b).jpg图像实施灰度切片(Gray-level slicing)。具体要求如下:
当0.2 ≤ r ≤ 0.4时,将r置为0.6, 当r位于其他区间时, 保持其灰度与原图像一样。
五.实验程序:
%1
figure;
subplot(4,3,1);
i=imread('Fig3.10(b).jpg');
i=im2double(i);
imshow(i);title('1');
%2
subplot(4,3,2);
r=[0:0.001:1];
s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[ r>0.65].*(1+0.3*(r-1));
plot(r,s);title('2p,');
subplot(4,3,3);
T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+ [i>0.65].*(1+0.3*(i-1));
imshow(T1);title('2i,');
imwrite(T1,'Fig3.10(b)_T1.jpg','jpg');
%3
subplot(4,3,4);
r=[0:0.001:1];
s=[r<=0.5].*(r.^5)*15.9744+[r>0.5].*((r-0.5).^0.2+0.12);
plot(r,s);title('3p,');
subplot(4,3,5);
T2=[i<=0.5].*(i.^5)*15.9744+[i>0.5].*((i-0.5).^0.2+0.12); imshow(T2);title('3i,');
imwrite(T2,'Fig3.10(b)_T2.jpg','jpg');
%4
subplot(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,3,9);
s3=imadjust(i,[],[],0.3);
imshow(s3);title('43i,');
%5
subplot(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');
%6
subplot(4,3,11);
r=[0:0.001:1];
s=[r<=0.4].*[r>=0.2]*0.6;
plot(r,s);title('6p,');
subplot(4,3,12);
s6=[i<=0.4].*[i>=0.2]*0.6+[i>0.4].*i+[i<0.2].*i;
imshow(s6);title('6i,');
imwrite(s6,'Fig3.10(b)_s6.jpg','jpg');
六.实验处理前后图像: