直方图图像增强(实验报告)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字图像处理作业——直方图图像增强【摘要】在自然界中很多图像可能都不符合人的视觉特点,因此有必要根据图像的特点采用一定的方法增强图像的视觉感知效果。本次作业通过直方图来增强图像,主要是对直方图进行修正来达到视觉转换。具体方法为直方图均衡、直方图匹配以及图像分割技术。其中,直方图均衡是调整图像的对比度使其增强;直方图匹配是将所要处理图像的直方图与已知直方图进行类似匹配的方法;而图像分割是将一副图像的前景与背景区别开来的技术。1.把附件图像的直方图画出:【注】:由于源图像中的附图均是以索引图的形式给出,因此在画直方图之前需要将其转换成灰度图。如果调色板缺失,需要先将调色板中缺失的色彩信息补全之后,再用matlab工具箱提供的图像类型转换函数(G=ind2gray(A,map)%将索引图转换成灰度图)进行类型转换。利用MATLAB工具箱,我们可以直接通过函数imhist()来画出图像的直方图。处理结果如下:0100020003000citywall.bmp的原直方图01002000500010000citywall1.bmp的直方图01002000500010000citywall2.bmp的直方图01002000100020003000elain.bmp的原直方图0100200050001000015000elain1.bmp的直方图0100200050001000015000elain2.bmp的直方图010020000.511.52x104elain3.bmp的直方图01002000100020003000lena.bmp的原直方图0100200012x104lena1.bmp的直方图01002000200040006000lena2.bmp的直方图0100200050001000015000lena4.bmp的直方图01002002.把所有图像进行直方图均衡;输出均衡后的图像和源图像进行比对;分析改善内容;【分析】:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。该方法通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。处理结果如下:0246x104woman.bmp的原直方图0100200024x105woman1.bmp的直方图0100200012x105woman2.bmp的直方图0100200均衡化的elain.bmp及其直方图05001000150020002500300035004000450050000100200均衡化的citywall1.bmp及其直方图05000100000100200均衡化的citywall2.bmp及其直方图05000100000100200均衡化的elain.bmp及其直方图0200040000100200均衡化的elain1.bmp及其直方图0500010000150000100200均衡化的elain2.bmp及其直方图0500010000150000100200均衡化的elain3.bmp及其直方图00.511.52x1040100200均衡化的elain.bmp及其直方图0200040000100200均衡化的lena1.bmp及其直方图012x1040100200均衡化的lena2.bmp及其直方图02000400060000100200均衡化的lena4.bmp及其直方图0500010000150000100200可见,处理后图像的对比度有一定程度的增强,但同时直方图均衡也存在着以下缺点:1)变换后图像的灰度级减少,某些细节消失;2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。均衡化的woman.bmp及其直方图012345678910x1040100200均衡化的woman1.bmp及其直方图024x1050100200均衡化的woman2.bmp及其直方图012x10501002003.进一步把图像按照对源图像直方图的观察,各自指定不同源图像的直方图,进行直方图匹配,进行图像增强;分析:直方图匹配:是指使一幅图像的直方图变成规定形状的直方图而进行的图像增强方法。将图像直方图以标准图像的直方图为标准作变换,使两图像的直方图相同和近似,从而使两幅图像具有类似的色调和反差。均衡后的图像,灰度值减少,图像对比度明显增强,但是导致很多地方的细节模糊,看不清楚;而且有些地方过分增强,严重干扰清晰度。利用Matlab工具箱实现图像直方图匹配,就用imhist()函数和histeq()函数。处理结果:经过直方图匹配的citywall1.bmp(源图像为citywall.bmp)020004000600080001000012000经过匹配的citywall1.bmp的直方图050100150200250经过匹配的citywall2.bmp(源图像为citywall.bmp)02000400060008000100001200014000经过匹配的citywall2.bmp的直方图050100150200250经过匹配的elain1.bmp(源图像为elain.bmp)020004000600080001000012000140001600018000经过匹配的elain1.bmp的直方图0100200经过匹配的elain2.bmp(源图像为elain.bmp)020004000600080001000012000140001600018000经过匹配的elain2.bmp的直方图0100200经过匹配的elain3.bmp(源图像为elain.bmp)00.20.40.60.811.21.41.61.82x104经过匹配的elain3.bmp的直方图0100200经过匹配的lena1.bmp(源图像为elain.bmp)00.511.522.5x104经过匹配的lena1.bmp的直方图0100200经过匹配的lena2.bmp(源图像为elain.bmp)0100020003000400050006000经过匹配的lena2.bmp的直方图0100200经过匹配的lena4.bmp(源图像为elain.bmp)050001000015000经过匹配的lena4.bmp的直方图0100200经过匹配的woman1.bmp(源图像为woman.bmp)012345x105经过匹配的woman1.bmp的直方图01002004.利用直方图对图像elain和woman进行分割;【分析】:利用直方图对图像进行分割,我们可以采用阈值分割法。阈值分割的实质是利用图像的灰度直方图信息获得用于分割的阈值。它是用一个或几个阈值将图像的灰度级分为几个部分,认为属于同一部分的像素是同一个物体。该方法特别适用于目标和背景占据不同灰度级范围的图像。其灰度级直方图呈明显的双峰值。然后在峰谷处的灰度值就可以作为阈值来对图像进行分割。直方图统计的是灰度值出现的频数,那些在第一个峰值附近的灰度值和第一个峰值接近,在第二个峰值附近的灰度值和第二个峰值接近,所以以2个峰值的中间的峰谷对应的灰度值为阈值。大于阈值的点归为一类,小于阈值的点归为一类,这样就把图像分割成2类。以上是比较理想的情况,比如本实验中elain.bmp的直方图,就可以看成是双峰型。因此,对于这幅图像,可以根据观察直方图来确定阈值。但实际中很难找到这样的图像。一幅通常有多个物体和背景所组成,假如,其灰度级直方图能呈现出多个明显的峰值,则仍可以选峰值间峰谷处的灰度值作为阈值,此时有多个阈值将图像进行分割,这样就是多峰值阈值选择。比如有3个峰值,可以去两个峰谷处的灰度值T1,T2作为阈值。同样,可以将阈值化后的图像变成二值图像。阈值分割的主要方法有:迭代法、最大类间方差法、动态阈值法、最大熵法等。本次实验中,采用了阈值迭代法。迭代的方法产生阈值,可以通过程序自动计算出比较合适的分割阈值。其计算方法是这样的:经过匹配的woman2.bmp(源图像为woman.bmp)00.511.522.5x105经过匹配的woman2.bmp的直方图01002001.选择阈值T,通常可以选择图像的平均灰度值来作为初始值;2.通过初始阈值T,把图像的平均灰度值分成两组R1和R2;3.计算两组平均灰度值μ1和μ2;4.重新选择阈值T,新的T的定义为:T=(μ1+μ2)/2;循环做第二步到第四步,一直到两组的平均灰度值μ1和μ2不再发生改变,那么我们就获得了所需要的阈值。算法描述:1.取得原图得数据区指针以及图像的高和宽;2.进行直方图统计;3.设定初始阈值T=127;4.分别计算图像中小于T和大于T的两组平均灰度值;5.迭代计算阈值,直至两个阈值相等;6.根据计算出的阈值,对图像进行二值化处理。【处理结果】:①对于elain.bmp,观察其直方图,并经过试探,发现当阈值为115时,分割效果较为理想。050100150200250050010001500200025003000elain.bmp的直方图②对于woman.bmp,采用迭代法进行取阈值。处理结果如下图:图像分割后的elain.bmp(阈值为115)05010015020025001234567x104woman.bmp的直方图将分割结果与基于直接观察直方图法取阈值的结果进行对比,可知,迭代算法的效果更好一些。基于迭代阈值的图像分割之后的woman.bmp图像分割后的woman.bmp(阈值为90)【附录】1、源代码:第一题%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画源图像的直方图以citywall.bmp为例:I=imread('E:\大三下\图像处理英文课件\作业\第三次\源图像\citywall.bmp','bmp');Figure;subplot(2,2,1);imhist(I);title('citywall.bmp的原直方图');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画处理后图像的直方图以citywall1.bmp及citywall.bmp为例:filename='E:\大三下\图像处理英文课件\作业\第三次\源图像\citywall1.bmp';fmt='bmp';[A,map]=imread(filename,fmt);fori=168:1:256j=1;map(i,j)=0;j=2;map(i,j)=0;j=3;map(i,j)=0;endG=ind2gray(A,map);subplot(2,2,2);imhist(G);title('citywall1.bmp的直方图');[A,map]=imread(''E:\大三下\图像处理英文课件\作业\第三次\源图像\citywall2.bmp','bmp');G=ind2gray(A,map);subplot(2,2,3);imhist(G);title('citywall2.bmp的原直方图');第二题%%%%%%%%%%%%%%%%%%%%%%%%%%%%对源图像进行均衡处理以citywall.bmp为例:I=imread('E:\大三下\图像处理英文课件\作业\第三次\源图像\citywall.bmp','bmp');J=histeq(I);imhist(J);title('经过直方图均衡化的citywall.bmp的直方图');imshow(J)title('经过直方图均衡化的citywall.bmp');I=imread('E:\大三下\图像处理英文课件\作业\第三次\源图像\citywall.bmp','bmp');J=histeq(I);figure;subplot(3,2,1);imshow(J)title('均衡化的citywall.bmp及其直方图');subplot(3,2,2);imhist(J);%%%%%%%%%%%%%%%%%%%%%%%%对处理后的图像进行均衡处理以citywall1.bmp为例:filename='E

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功