信号处理综合实验报告.docx
《信号处理综合实验报告.docx》由会员分享,可在线阅读,更多相关《信号处理综合实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
![信号处理综合实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/10/1482f8b0-86b4-4b3d-9c1d-23253b9c2b1a/1482f8b0-86b4-4b3d-9c1d-23253b9c2b1a1.gif)
信号处理综合实验报告
课程考试报告书
课程名称信号处理综合实验
题目名称直方图均衡化和匹配
学生学院理学院
专业班级10电信
学号2010142110
学生姓名贺茂海
指导教师黄瑶
2013年6月18日
一、设计题目
信号处理综合实验考试内容
1、对图像加椒盐噪声,对噪声污染后的图像分别进行中值滤波、高斯模板平滑滤波、平均模板平滑滤波,分析对比这几种滤波方法的效果。
2、对图像加高斯噪声,对噪声污染后的图像分别进行中值滤波、高斯模板平滑滤波、平均模板平滑滤波,分析对比这几种滤波方法的效果。
3、对图像分别加椒盐噪声和高斯噪声,用高斯低通滤波器对其进行滤波,分析高斯低通滤波器对这两种噪声的抑制效果。
4、请选择两幅图像A,B;分别进行傅里叶变换,交换A和B的幅度频谱和相位频谱,即用A的幅度与B的相位、B的幅度与A的相位构成两幅新的图像,简单分析幅度频谱和相位频谱对图像构成的作用。
5、选择一幅RGB图像,分别对三个颜色数据进行直方图均衡化处理,观察不同的颜色通道均衡化以后对图像的影响。
二、课程设计目的
数字图像处理,就是用数字计算机及其他有关数字技术,对图像进行处理,以达到预期的目的。
随着计算机的发展,图像处理技术在许多领域得到了广泛应用,数字图像处理已成为电子信息、通信、计算机、自动化、信号处理等专业的重要课程。
数字图像处理课程设计是在完成数字图像处理的相关理论的学习后,进行的综合性训练课程,其目的主要包括:
1、使学生进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法;
2、加强直方图均衡化和直方图匹配的图像增强技术的认识和了解;
学会用Matlab中的下列函数对输入图像进行上述2类运算;
感受各种不同的直方图图像增强处理方法对最终图像效果的影响
3、尝试将所学的内容解决实际工程问题,培养学生的工程实践能力,提高工科学生的就业能力。
三、设计过程
1、直方图的定义
直方图是图像的一种统计表达,由一系列高度不等的纵向条纹表示数据分布的情况。
灰度直方图是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。
灰度直方图描述了图像中各种灰度(对于像素深度为8位的图像,共为0-255共256种取值)在整个图像中占有的比例。
2、直方图均衡化
利用直方图统计的结果,通过使图像的直方图均衡的方法称为直方图均衡化,可以达到增强图像的显示效果的作用。
由于通过直方图统计,可以观察出,图像中各种亮度所占的比例大都分布不均匀,设法增加在直方图统计中所占比例高的像素和其他占的比例少的像素之间的亮度差,可以提高图像的显示效果。
简单来说,直方图增强的方法就是压缩直方图中比例少的像素所占用的灰度范围,多出来的灰度空间按照统计比例分配给直方图中比例高的像素使用。
这种方法主要是针对人眼对灰度差别越大的图像更容易分辨的特点而做的增强。
灰度直方图的计算十分简单,依据定义在离散形式下有下面的公式成立:
(1)
公式中:
为图像中出现
级灰度的像素数,
是图像像素总数,而
即为频数。
计算累积直方图各项:
(2)
取整扩展:
应射对应关系:
程序流程
3、直方图匹配
直方图匹配。
英文:
histogrammatching。
释文:
将图像直方图以标准图像的直方图为标准作变换,使两图像的直方图相同和近似,从而使两幅图像具有类似的色调和反差。
在遥感图像处理中,直方图匹配应用于:
①图像镶嵌中图像的灰度调节,通过直方图匹配使相邻两幅图像的色调和反差趋于相同。
②多时相图像处理中以一个时相的图像为标准,调节另一幅图像的色调与反差,以便作进一步的运算。
③以一幅增强后色调和反差比较满意的图像为标准,对另一幅图像作处理,期望得到类似的结果。
直方图匹配——又叫直方图规定化(HistogramNormalization/Matching)
直方图匹配:
是指使一幅图像的直方图变成规定形状的直方图而进行的图像增强方法。
4、熟悉Matlab文件中有关Imhist和histeq函数的使用说明,充分理解其使用方法并能运用它们完成实验内容
5、将l.jpg图像文件读入Matlab,对其作直方图均衡化。
显示运算前后该图像的直方图,处理后的图像
6、对l.jpg图像做直方图匹配运算,显示运算前后该图像的直方图,处理后的图像和灰度变换函数。
四、实验结果,分析并总结实验结论
1、直方图的均衡化
原图
效果图
2、直方图匹配
匹配图
匹配效果图
3、结论
(1) 经过直方图均衡化后,图像对比度明显增强,视觉效果大为
改善。
(2) 原始图像较暗且所占据的灰度范围比较窄,对原始图像进行
直方图均衡化后,直方图占据了整个图像的灰度值允许范围。
(3) 经过直方图均衡化后的直方图趋向平坦,灰度级有所减少,
某些灰度进行了合并
(4)采用直方图匹配运算后,发现效果明显比直接均衡化的效果好的多,将一些重要的细节突出来了,对比度明显增强,但是有些地方色彩过于暗淡,灰度值过高,影响了图像的美观,但用于进行图像对比分析还是比较实用的
五、设计心得体会
在这次的课程考试中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
通过这次数字图像处理课程,本人在多方面都有所提高。
通过这次课程考试,综合运用本专业所学课程的理论。
在图像处理过程中,使用相对应的方法去获得自己需要的效果,在这次设计过程中,体现出自己的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
首先加深了我对于数字图像处理这门课程的认识,通过对相关知识的进一步了解和掌握,清楚的认识到这门课程在实际应用的广泛性。
这次课程设计不仅将光电图像处理课程的知识进行了实际运用,,来促进数字图像处理的应用,使我的程序能够是想更多的数字图像处理的功能,同时也是程序的界面更接近于我们所希望的形式。
也明白了这个软件作为许多应用方向工具的强大之处,通过对一些小错误的改造还认识到了以往自己没有注意到的一些小的细节问题。
最后要谢谢黄瑶老师,感谢她在考试的过程中对我的直方图均衡化提出来进一步的要求“直方图匹配”,让我有机会更全面的掌握用matlab处理图片的方法。
六、参考文献
《数字图象处理》作者:
冈萨雷斯出版社:
电子工业出版社
《visualc++.net图形图像编程》作者:
李兰友出版社:
电子工业出版社
《精通visualc++》作者:
周长发出版社:
电子工业出版社
《数字图像处理与图像通信实验》作者:
朱秀昌出版社:
北京邮电大学出版社
XX文库《直方图matlab》
七、源程序
直方图均衡化:
RGB=imread('C:
\Users\Administrator\Desktop\l.jpg');%输入彩色图像,得到三维数组
R=RGB(:
:
1);%分别取三维数组的一维,得到红绿蓝三个分量
G=RGB(:
:
2);%为RGB。
B=RGB(:
:
3);
subplot(4,2,1),imshow(RGB);%绘制各分量的图像及其直方图
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,%通过均衡化后的图像还原输出原图像
newimg=cat(3,r,g,b);%
imshow(newimg,[]);
title('均衡化后分量图像还原输出原图');
直方图匹配:
functionfunZG()
clc;
clear;
I=rgb2gray(imread('C:
\Users\Administrator\Desktop\l.jpg'));
figure,subplot(321),imshow(I);
title('原图');
New=I;
L=256;%灰度值
Pj=zeros(L,1);
RH2=zeros(L,1);
[m1n1]=size(I);%计算图像数据举证的行列数
H=zeros(L,1);%存储源图像直方图数据
fori=1:
m1
forj=1:
n1
H(I(i,j)+1)=H(I(i,j)+1)+1;%获取像素灰度级
end
end
%计算直方图概率统计
Pi=zeros(L,1);%存储原图像直方图概率数据
fork=1:
L
Pi(k)=H(k)/(m1*n1);
end
subplot(323),plot(Pi);
title('原图的直方图Pi');
%计算累积直方图
RH=zeros(L,1);%存储原图像累积直方图数据
RH
(1)=Pi
(1);
fork=2:
L
RH(k)=RH(k-1)+Pi(k);
end
%subplot(325),plot(RH);
%title('原图累积直方图RH');
%匹配直方图
J=rgb2gray(imread('C:
\Users\Administrator\Desktop\m.jpg'));
subplot(322),imshow(J);
title('匹配图');
[m2n2]=size(J);
H2=zeros(L,10);%存储原图像直方图数据
fori=1:
m2
forj=1:
n2
H2(J(i,j)+1)=H2(J(i,j)+1)+1;%获取像素灰度级
end
end
%计算直方图概率统计
Pj=zeros(L,1);%存储原图像直方图概率数据
fork=1:
L
Pj(k)=H2(k)/(m1*n1);
end
subplot(324),plot(Pj);
title('匹配图的直方图Pj');
%计算累积直方图
RH2=zeros(L,1);%存储原图像累积直方图数据
RH2
(1)=Pj
(1);
fork=2:
L
RH2(k)=RH2(k-1)+Pj(k);
end
%subplot(326),plot(RH2);
%title('匹配图累积直方图RH2');
%计算原图像与目标图像累积直方图数值的差的绝对值
doubleScMin=zeros(256,256);
fory=1:
L
forx=1:
L
ScMin(x,y)=abs(RH(y)-RH2(x));
end
end
%figure,plot(ScMin);
%title('ScMin');
%建立映射
HisM=zeros(L:
1);
fork=1:
L
min=0;
minV=ScMin(1,k);
fort=1:
L
if(minV>ScMin(t,k))
minV=ScMin(t,k);
min=t;
end
end
HisM(k)=min;
end
%将原图的每个像素灰度转换为直方图均衡化后的灰度
forx=1:
m1
fory=1:
n1
Num=double(I(x,y))+1;
ifNum==i
New(x,y)=HisM(i);
end
end
end
%计算直方图匹配后的直方图
fori=1:
m1
forj=1:
n1
NN=double(New(i,j))+1;
H2(NN)=H2(NN)+1;
end
end
subplot(325),imshow(New),title('匹配后图像');
subplot(326),plot(Pj),title('匹配后直方图');