《数字图像处理》实验报告参考模板.docx
《《数字图像处理》实验报告参考模板.docx》由会员分享,可在线阅读,更多相关《《数字图像处理》实验报告参考模板.docx(15页珍藏版)》请在冰豆网上搜索。
《数字图像处理》实验报告参考模板
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’进行直方图均衡化;
以下3题任选1个
3.自编一个直方图均衡化的函数,输入输出格式:
functionJ=myhisteq(I)
并用自编的函数对‘tire.tif’进行直方图均衡化;
4.对图像’coins.png’添加高斯噪声,自编代码用掩膜平滑法实现去噪;
5.对图像’coins.png’添加椒盐噪声,自编代码用中值滤波法实现去噪。
三、程序清单与运行结果
1.灰度线性变换
clearall,clc;
im=imread('office_2.jpg');%office_2.jpg为图片,在m文件所在目录下
s=size(im);
R=im(:
:
1);
G=im(:
:
2);
f=im(:
:
3);
R=reshape(R,[s
(1),s
(2)]);
G=reshape(G,[s
(1),s
(2)]);
B=reshape(B,[s
(1),s
(2)]);
编写程序:
functionJ=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;
fori=1:
M
forj=1:
N
if(I(i,j)>=a)&(I(i,j)<=b)
f(i,j)=((d-c)/(b-a))*(I(i,j)-a)+c;
end
if(I(i,j))
f(i,j)=c;
end
if(I(i,j)>=b)
f(i,j)=d;
end
end
end
figure;
subplot(121);
imshow(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.灰度对数变换
clearall,clc;
im=imread('office_2.jpg');%office_2.jpg为图片,在m文件所在目录下
s=size(im);
R=im(:
:
1);
G=im(:
:
2);
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<30);
r(idx1)=R(idx1)*4;
idx2=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,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);
figure
subplot(221),imshow(R);
subplot(222),imhist(R);
subplot(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),imhist(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),imshow(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(I,[]);
title('均衡化后分量图像还原输出原图');
5.自编一个直方图均衡化的函数,输入输出格式:
functionJ=myhisteq(I)
并用自编的函数对‘tire.tif’进行直方图均衡化;
functionJ=myhisteq(I)
I=double(I);
[m,n]=size(I);
m1=zeros(1,256);
m2=zeros(1,256);
m3=zeros(size(I));
fori=1:
m
forj=1:
n
m1(I(i,j)+1)=m1(I(i,j)+1)+1;
end
end
m1=m1./(m*n)
fori=1:
256
forj=1:
i
m2(i)=m1(j)+m2(i);
end
end
fori=1:
256
m2(i)=floor(m2(i)*255+0.5);
end
fori=1:
m
forj=1:
n
m3(i,j)=m2(I(i,j)+1);
end
end
I=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纸书写,不够另附纸。
第 页,共 页
友情提示:
范文可能无法思考和涵盖全面,供参考!
最好找专业人士起草或审核后使用,感谢您的下载!