《图像增强直方》PPT课件.ppt
8 图像的增强(2),直方图均衡化,直方图,1.直方图的概念 设图像的灰度范围为a,b,r为此灰度范围内的任一灰度级,p(r)为这幅图像中灰度级为r的象素出现的频率,可以看出p(r)是r的函数。该函数的图形称为这幅图像的直方图。,直方图,图像的直方图,直方图,灰度图像的直方图,直方图,2.直方图的计算 设r表示图像中像素的灰度级,可以用概率密度函数P(rk)表示原始图像的灰度分布。则 式中,N为一幅图像中像素的总数;nk为第k级灰度的像素;rk为第k个灰度级;P(rk)表示该灰度级出现的概率。因为P(rk)给出了对rk出现概率的一个估计,所以直方图提供了原图的灰度值分布情况,也可以说给出了一幅所有灰度值的整体描述。,直方图,3.直方图的性质(1)它只反映该图像中不同灰度值出现的次数,而未反映某一灰度值像素所在的位置。也就是说,它只包含了该图像中某一灰度值的像素出现的概率,而丢失了其所在位置的信息。(2)任一幅图像,都能唯一地确定出一幅与它对应的直方图,但不同的图像,可能有相同的直方图。,直方图,图 不同图像对应相同的直方图,直方图均衡化,原因:大多数自然图像,其灰度分布集中在较窄的区间,引起图像细节不够清晰,采用直方图修正后可使图像的灰度间距拉开或使灰度分布均匀,从而增大反差,使图像细节清晰,达到增强的目的。例如一幅过曝光的图片,其灰度级都集中在高亮度范围内,而曝光不足的图片,其灰度级集中在低亮度范围内,具有这样直方图的图片其可视效果比较差。,直方图均衡化,直方图均衡示意图,直方图均衡化的Matlab实现,1.imhist函数 功能:计算和显示图像的色彩直方图。格式:imhist(I,n)imhist(X,map)counts,x=imhist()说明:imhist(I,n)计算和显示灰度图像I的直方图,n为 指定的灰度级数目,缺省值为256;imhist(X,map)计算和显示索引色图像X的直方图,map为调色板;counts,x=imhist(.)返回直方图数据向量counts和相应的色彩值向量x,用stem(x,counts)同样可以显示直方图。,直方图均衡化的Matlab实现,例4.4 显示灰度图像cameraman.tif的直方图。I=imread(cameraman.tif);subplot(1,2,1),imshow(I);subplot(1,2,2),imhist(I);,直方图均衡化的Matlab实现,直方图均衡化的Matlab实现,例:显示索引图像直方图 clf;load trees;subplot(121);imshow(X,map);subplot(122);imhist(X,map);,直方图均衡化的Matlab实现,I=imread(cameraman.tif);c,x=imhist(I);subplot(1,2,1),imshow(I);subplot(1,2,2),stem(x,c);,直方图均衡化的Matlab实现,2.imadjust函数 功能:通过直方图变换调整对比度。格式:J=imadjust(I,low high,bottom top,gamma)newmap=imadjust(map,low high,bottom top,gamma)说明:J=imadjust(I,low high,bottom top,gamma)返回图像I经直方图调整后的图像J,gamma为校正量,low high为原图像中要变换的灰度范围,bottom top指定了变换后的灰度范围;newmap=imadjust(map,low high,bottom top,gamma)调整索引色图像的调色板map。此时若low high和bottom top都为23的矩阵,则分别调整R、G、B 3个分量。,直方图均衡化的Matlab实现,例4.6调整图像的对比度,调整前后的图像见图 clear all I=imread(pout.tif);J=imadjust(I,0.3 0.7,);subplot(121),imshow(I)subplot(122),imshow(J)figure,subplot(121),imhist(I)subplot(122),imhist(J),直方图均衡化的Matlab实现,3.histeq函数功能:直方图均衡化格式:J=histeq(I,n),指定均衡化后灰度级数n,缺省为64;,直方图均衡化的Matlab实现,例4.7 对图像tire.tif做直方图均衡化,结果见图。I=imread(tire.tif);J=histeq(I);subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(J)figure,subplot(1,2,1),imhist(I,64)subplot(1,2,2),imhist(J,64),