西交大数字图像处理第三次作业

  • 格式:docx
  • 大小:9.79 MB
  • 文档页数:32

数字图像处理第三次作业姓名:班级:学号:提交日期:2015年3月31日1、把附件图像的直方图画出; (1)问题分析:强度范围为[0~255]之间,对于RGB 方图显示为两个波峰,是调整图像对比度的重要依据。

直方图实现方法:对一幅灰度图像从上到下,(2)处理结果: citywall.bmp005010015020025000.0020.0040.0060.0080.010.0120.0140.0160.0180.02灰度值像素的概率密度000.010.020.030.040.050.060.070.080.090.1citywall2直方图(自己编写)灰度值像素的概率密度0501001502002500.0050.010.0150.020.0250.030.0350.040.0450.05灰度值像素的概率密度00501001502002500.0050.010.0150.020.0250.030.0350.040.0450.05elain2直方图(自己编写)灰度值像素的概率密度0elain3直方图(自己编写)灰度值像素的概率密度050100150200250灰度值像素的概率密度00501001502002500.010.020.030.040.050.060.070.080.090.1lena2直方图(自己编写)灰度值像素的概率密度000.0020.0040.0060.0080.010.0120.0140.0160.0180.02lena3直方图(自己编写)灰度值像素的概率密度woman.bmp05woman1直方图(调用imhist 函数)5010015020025000.010.02灰度值像素的概率密度05woman2直方图(调用imhist 函数)0.0050.010.0150.020.0250.030.0350.04woman2直方图(自己编写)灰度值像素的概率密度(3)结果分析及总结:本文分别采用imhist 函数和自己编写的程序求取图像的直方图。

由每组中两幅图像对比可知,用两个程序的得到的图像直方图对于原始图像是基本一致,验证了自己编写的程序的正确性。

但对于处理后的图像(如test1.bmp 等)得到的直方图却不相同,分析原因是因为MATLAB 中imhist 会自动把colormap 进行线性扩展,导致结果的不同。

同时,也注意到imhist 函数并没有将统计的灰度值出现的次数除以像素点的总数,造成两幅直方图的坐标略有不同。

将直方图与原始图像对比可以清楚的看到图像的灰度分布与图像直方图之间的关系:在暗图像中,直方图的分量集中在灰度级的低端;亮图像的直方图分量则倾向于灰度级的高端。

低对比度图像具有较窄的直方图,且集中于灰度级的中部;高对比度图像中直方图的分量覆盖了很宽的灰度级范围,而且像素的分布没有太不均匀。

2、把所有图像进行直方图均衡;输出均衡后的图像和源图像进行比对;分析改善内容; (1)问题分析:直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

直方图均衡化的过程:1)列出原始图像和变换后图像的灰度级(L是灰度级的个数);2)统计员图像中各灰度级的像素个数;3)计算原始图像直方图P(i)=Ni/N;4)计算累计直方图P(j)=P(1) + P(2) + P(3) +…+ P(i);5)利用灰度值变换函数计算变换后的灰度值,并四舍五入取整;j=INT[(L-1)Pj+0.5] 6)确定灰度变换关系i→j,据此将原图像的灰度值f(m,n)=i修正为g(m,n)=j;7)统计变换后个灰度级的像素个数Nj;8)计算变换后图像的直方图Pj=Nj/N;(2)MATLAB函数:功能:直方图均衡化。

用法:J = histeq(I,hgram)将原始图像I的直方图变成用户指定的向量hgram。

hgram中的各元素的值域为[0,1]。

J = histeq(I,n)指定直方图均衡后的灰度级数n,默认值为64。

[J,T] = histeq(I,...)返回从能将图像I的灰度直方图变换成图像J的直方图变换T。

(3)处理结果:citywall.bmpcitywall.bmp原始图像citywall.bmp直方图均衡后的结果0灰度值像素的概率密度灰度值像素的概率密度citywall2原始图像citywall2直方图均衡结果0.0050.010.0150.020.0250.030.0350.040.0450.05citywall2原始图像直方图灰度值像素的概率密度0.0050.010.0150.020.0250.030.0350.040.0450.05citywall2均衡化后的直方图灰度值像素的概率密度lena.bmplena.bmp 原始图像 lena.bmp 直方图均衡后的结果lena1原始图像lena1直方图均衡结果0.0050.010.0150.020.0250.030.0350.040.0450.05lena1原始图像直方图灰度值像素的概率密度lena2原始图像lena2直方图均衡结果lena3原始图像lena3直方图均衡结果0.0050.010.0150.020.0250.030.0350.040.0450.05lena3原始图像直方图灰度值像素的概率密度elain.bmpelain.bmp原始图像elain.bmp直方图均衡后的结果灰度值像素的概率密度灰度值像素的概率密度灰度值像素的概率密度灰度值像素的概率密度woman.bmpwoman.bmp原始图像woman.bmp直方图均衡后的结果woman1原始图像woman1直方图均衡结果像素的概率密度像素的概率密度woman2原始图像直方图灰度值像素的概率密度woman2均衡化后的直方图灰度值(4)结果分析及总结:经过处理得到若干组每组四幅图像,每组中四幅图像分别为原始图像、直方图均衡化后的图像、原始图像的直方图以及均衡化后图像的直方图。

从直方图上可以观察到灰度分布确实更加均匀并且占据整个灰度级范围;从图像上可以观察到,图像对比的变大,灰度色调变化范围加大。

同时,也注意到有些图像的均衡效果不是很好。

直方图均衡并不是适用于所有的图像,需要分情况处理。

直观上,可以得出这样的结论:若一幅图像的像素倾向于占据整个可能的灰度级并且分布均匀,则该图像会有高对比度的外观并展示灰色调的较大变化。

最终效果将是一幅灰度细节丰富且动态范围较大的图像。

3、进一步把图像按照对源图像直方图的观察,各自指定不同源图像的直方图,进行直方图匹配,进行图像增强; (1)问题分析:直方图匹配(histogram matching):将图像直方图以标准图像的直方图为标准作变换,使两图像的直方图相同和近似,从而使两幅图像具有类似的色调和反差。

直方图匹配的原理:对两个直方图都做均衡化,变成相同的归一化的均匀直方图,以此均匀直方图为媒介,再对参考图像做均衡化的逆运算。

总共有以下几步:1.求给定的函数的累积直方图s。

2.求原图像的累积直方图G。

3.求s中每一个值在G中距离最小的位置index。

4.求原图像每个像素通过index映射到的新像素的值。

(2)MATLAB函数:功能:直方图匹配。

用法:J = histeq(I,hgram)将原始图像I的直方图变成用户指定的向量hgram。

hgram中的各元素的值域为[0,1]。

J = histeq(I,n)指定直方图均衡后的灰度级数n,默认值为64。

[J,T] = histeq(I,...)返回从能将图像I的灰度直方图变换成图像J的直方图变换T。

(3)处理结果:citywall1.bmpcitywall1.bmp原图直方图匹配增强后的图像citywall2.bmpcitywall2.bmp原图直方图匹配增强后的图像elain1.bmp原图直方图匹配增强后的图像elain2.bmp原图直方图匹配增强后的图像elain3.bmp原图直方图匹配增强后的图像lena1.bmp原图直方图匹配增强后的图像lena2.bmp原图直方图匹配增强后的图像lena3.bmp原图直方图匹配增强后的图像woman1.bmp原图直方图匹配增强后的图像woman2.bmp原图直方图匹配增强后的图像(4)结果分析及总结:对比原始图像的直方图、匹配图的直方图以及增强后图像的直方图可知,程序基本达到了直方图匹配的要求。

但也注意到:原始图像直方图和匹配后图像的直方图并没有完全一致。

分析原因:原因一离散量的舍入误差;原因二原始图像中多个灰度值映射到增强后图像的同一个灰度值,即多对一的映射导致。

对比原始图像以及增强后的图像可知,经过直方图后,大部分图像的效果得到了一定的改善。

但也注意到有些图像的效果非但没有改善反而变差了,可能是因为要求匹配的直方图选择不合适导致的或者是要求进行直方图匹配的图像的直方图灰度值分布过于集中。

有些图像匹配后的直方图与被匹配的直方图比较会发现存在“截断”现象,此问题一直不知道是什么原因以及如何解决。

同时发现,MA TLAB中函数imshow函数会自动的将colormap进行插值扩展,导致显示的图像与原始图像不同,解决的方法是将读入的colormap后补0直到补满255个三原色数据为止;或者直接利用imwrite将图像写成文件的形式,得到的结果也是正确的。

4、利用直方图对图像elain和woman进行分割。

(1)问题分析:直方图分割的阈值方法的原理是,如果图像所包括的背景区域与所分的目标区域大小可比,而且两者在灰度上有着明显的去表,那么这样的图像的灰度上有着明显的去表,那么这样的图像的灰度直方图就会呈现很明显的双峰状;其中一个峰值对应的应该是背景区域的灰度;而另一个峰值对应的就是目标灰度了;理想中的图像的灰度直方图,其背景灰度和目标灰度应对应两个不同过的灰度峰值,所以选取位于两峰之间的谷值作为阈值,就很快地将一副图像的背景与目标分割开了。

经典的直方图算法实现简单,但是这只是针对少数不同类别的物体彼此灰度相差很大时,才能进行有效的分割。

当原始图像的双峰不明显时,分割得不到理想的图像。

先对图像进行锐化或者平滑处理,使之达到改善图像的质量的实际应用的要求,这个方法是当图像的边缘细节与图像商上梯度的整体强度有关,图像边缘越强,图像的细节效果越明显。

算法实现为设图像在f(x,y)在(x,y)处的梯度定义为由于梯度是一个矢量,所以其方向和再该方向上的大小为对于一副图像中突出的,变化快的边缘区,其梯度值较大;而对于非边缘信号。