1、数字图像处理实验报告参考模板GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称图像灰度变换与直方图修正课程名称数字图像处理课程号19242504学院(系)理学院数信系专业信息与计算科学班级 1112学生姓名麦杰洪学号201111921215实验地点钟05008实验日期13.10.11一、实验目的1.能熟练运用Matlab对图像进行灰度变换;2.能熟练运用Matlab对图像进行直方图修正;3.能熟练运用Maltab对图像进行空域平滑去噪。二、实验内容1.对图像office_2.jpg分别进行灰度线性变换、对数变换、幂次变换,使图像更清晰;2.对图像office_2.jpg进
2、行直方图均衡化;以下3题任选1个3.自编一个直方图均衡化的函数,输入输出格式:function J=myhisteq(I) 并用自编的函数对tire.tif进行直方图均衡化;4.对图像coins.png添加高斯噪声,自编代码用掩膜平滑法实现去噪;5.对图像coins.png添加椒盐噪声,自编代码用中值滤波法实现去噪。三、程序清单与运行结果1. 灰度线性变换 clear all,clc;im=imread(office_2.jpg);% office_2.jpg为图片,在m文件所在目录下s=size(im);R=im(:,:,1);G=im(:,:,2);f=im(:,:,3);R=reshap
3、e(R,s(1),s(2);G=reshape(G,s(1),s(2);B=reshape(B,s(1),s(2);编写程序:function J=my(I)M,N=size(I);figure,imhist(I);j=zeros(M,N);I=double(I);f=double(f);k1=min(min(I);k2=max(max(I);a=k1+50;b=k2-50;c=k1-30;d=k2+20; for i=1:M for j=1:N if (I(i,j)=a)&(I(i,j)=b) f(i,j)=d; end end end figure; subplot(121); imsho
4、w(I,); subplot(122); imshow(f,);先对红色部分进行处理:J=my(R)r=f;再对绿色部分进行处理:J=my(G)g=r;最后对蓝色部分进行处理:J=my(B) b=f;再把三个部分组合起来:I=cat(3,r,g,b);I=uint8(I);figure,subplot(121),imshow(im);subplot(122),imshow(I);2. 灰度对数变换clear all,clc;im=imread(office_2.jpg);% office_2.jpg为图片,在m文件所在目录下s=size(im);R=im(:,:,1);G=im(:,:,2);
5、f=im(:,:,3);R=reshape(R,s(1),s(2);G=reshape(G,s(1),s(2);B=reshape(B,s(1),s(2);先对红色部分进行处理:figure, imhist(R); %观察直方图,确定调整方案%以下作分段线性变换R=double(R);r=zeros(size(R);idx1=find(R=31);k=(255-121)/(255-31);r(idx2)=121+k*(R(idx2)-31);r=uint8(r); R=uint8(R); %还原成无符号8位整数figure,subplot(2,2,1),imshow(R),subplot(2,
6、2,2),imhist(R)subplot(2,2,3),imshow(r),subplot(2,2,4),imhist(r)再分别对绿色部分和蓝色部分进行处理,最后把三个部分组合起来:I=cat(3,r,g,b);I=uint8(I);figure,subplot(121),imshow(im);subplot(122),imshow(I);3.灰度幂次变换分别对红、绿、蓝三种颜色进行处理:红色部分:k=0.5;r=255*(double(R)/255).k;r=uint8(r);figuresubplot(221), imshow(R);subplot(222), imhist(R);su
7、bplot(223), imshow(r);subplot(224), imhist(r);再分别对绿色和蓝色进行处理: 最后把三个部分组合起来:I=cat(3,r,g,b);I=uint8(I);figure,subplot(121),imshow(im);subplot(122),imshow(I);4. 对图像office_2.jpg进行直方图均衡化绘制各分量的图像及其直方图 :subplot(4,2,1),imshow(im) title(原始真彩色图像); subplot(4,2,3),imshow(R); title(真彩色图像的红色分量); subplot(4,2,4), imh
8、ist(R); title(真彩色图像的红色分量直方图);subplot(4,2,5),imshow(G); title(真彩色图像的绿色分量);subplot(4,2,6), imhist(G); title(真彩色图像的绿色分量直方图); subplot(4,2,7),imshow(B); title(真彩色图像的蓝色分量); subplot(4,2,8), imhist(B); title(真彩色图像的蓝色分量直方图); 对个分量直方图均衡化,得到个分量均衡化图像r=histeq(R); g=histeq(G); b=histeq(B); figure, subplot(3,2,1),i
9、mshow(r); title(红色分量均衡化后图像); subplot(3,2,2), imhist(r); title(红色分量均衡化后图像直方图); subplot(3,2,3),imshow(g); title(绿色分量均衡化后图像); subplot(3,2,4), imhist(g); title(绿色分量均衡化后图像直方图); subplot(3,2,5), imshow(b); title(蓝色分量均衡化后图像); subplot(3,2,6), imhist(b); title(蓝色分量均衡化后图像直方图); figure, I = cat(3,r,g,b); imshow(
10、I,); title(均衡化后分量图像还原输出原图);5. 自编一个直方图均衡化的函数,输入输出格式:function J=myhisteq(I) 并用自编的函数对tire.tif进行直方图均衡化;function J=myhisteq(I)I=double(I);m,n=size(I);m1=zeros(1,256);m2=zeros(1,256);m3=zeros(size(I);for i=1:mfor j=1:nm1(I(i,j)+1)=m1(I(i,j)+1)+1; endendm1=m1./(m*n)for i=1:256for j=1:im2(i)=m1(j)+m2(i);end
11、endfor i=1:256m2(i)=floor(m2(i)*255+0.5);endfor i=1:mfor j=1:nm3(i,j)=m2(I(i,j)+1);endendI=uint8(I);J=uint8(m3);subplot(2,2,1),imshow(I);title(原始图像);subplot(2,2,2),imhist(I);title(原图像对应的直方图);subplot(2,2,3),imshow(J);title(均衡化的图像);subplot(2,2,4) ,imhist(J);title(均衡化的图像的直方图);调用函数:I=imread(tire.tif);J=myhisteq(I)可得:四、实验总结成绩指导教师日期注:请用A4纸书写,不够另附纸。 第页,共页 友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!