直方图处理(均衡化与匹配)

合集下载

图像处理中直方图均衡化的使用教程

图像处理中直方图均衡化的使用教程

图像处理中直方图均衡化的使用教程图像处理中的直方图均衡化是一种常用的增强图像对比度的方法。

通过对图像的像素值进行重新分布,直方图均衡化可以使图像中的明暗区域更具有对比度,从而提高图像的质量和清晰度。

本文将介绍直方图均衡化的原理、应用场景以及具体的步骤。

1. 直方图均衡化的原理直方图均衡化的原理基于对图像的灰度级进行重新分布。

它通过将原始图像的像素值映射到新的像素值上,使得直方图在整个灰度范围内得到均匀分布。

这样就能够增强图像中的低对比度区域,提高图像的视觉效果。

2. 直方图均衡化的应用场景直方图均衡化在图像处理领域有着广泛的应用。

下面列举了一些常见的应用场景:- 增强图像的对比度:直方图均衡化可以使得图像中的亮度值更加均匀分布,提高图像的对比度,使得图像变得更加清晰。

- 增强图像的细节:直方图均衡化通过增强图像中的低对比度区域,可以使得细节更加显著,提高图像的可视化效果。

- 降低图像的噪声:直方图均衡化可以将图像中的噪声分布均匀化,从而减少噪声对图像质量的影响。

3. 直方图均衡化的步骤下面是使用直方图均衡化对图像进行处理的具体步骤:步骤 1: 将彩色图像转换为灰度图像如果原始图像是彩色图像,我们需要将其转换为灰度图像。

这是因为直方图均衡化是针对灰度级进行处理的。

步骤 2: 计算原始图像的像素值分布使用图像处理工具,计算原始图像中每个像素值的出现频率。

这样可以得到一个直方图,该直方图显示了原始图像中像素值的分布情况。

步骤 3: 计算累积分布函数通过对原始图像的直方图进行累积求和,得到一个累积分布函数。

该函数显示了每个像素值的累积出现频率。

步骤 4: 计算新的像素值根据累积分布函数,计算每个像素值的新的映射像素值。

这个计算公式可以根据具体的图像处理工具而有所不同。

步骤 5: 创建均衡化后的图像使用新的像素值替换原始图像中的像素值,将得到的图像称为均衡化后的图像。

4. 注意事项在使用直方图均衡化时,需要考虑以下几个注意事项:- 直方图均衡化可能会改变图像的整体亮度。

简述直方图均衡化的基本原理。

简述直方图均衡化的基本原理。

简述直方图均衡化的基本原理。

直方图均衡化是一种图像处理技术,它可以改善图像的视觉效果,从而使得图像变得更加清晰、对比度更高。

它的原理是通过将图像的亮度分布更均匀,使得图像的光线更加均衡,而不会给受光照不均匀的部分造成影响。

直方图均衡化可以分为两种:全局均衡化和局部均衡化。

全局均衡化通过改变图像的整体亮度分布来达到均衡化的目的,而局部均衡化则是改变局部亮度分布,以达到均衡化的效果。

首先,我们需要了解什么是图像的直方图以及它与均衡化的关系。

直方图是展示图像的亮度分布的一种图表,它可以帮助我们了解图像的光照状况,从而为均衡化提供参考。

直方图均衡化是基于均匀性的一种图像处理技术。

其基本原理是扩展图像的亮度分布,使得其均衡分布,而不会给受光照不均匀的部分造成影响。

这种技术可以很好地提高图像的对比度,从而使图像更加清晰。

全局均衡化是一种普遍使用的直方图均衡化技术,它可以通过改变图像亮度分布,从而达到均衡化的效果。

这一处理技术可以通过改变一幅图像的整体亮度和对比度来实现图像处理的目的。

另一种技术是局部均衡化,它可以通过改善局部的亮度分布,从而使得图像的整体质量得到改善。

局部均衡化可以有效地减少图像中局部的暗处和亮处,从而使得图像中的一些细节成分得到更加清楚的显示。

对于改善图像质量,所有这些技术都是必不可少的。

因此,任何一种图像处理技术,都应该用最有效的方式改善图像的质量,以实现最佳的视觉效果。

总之,直方图均衡化是一种提高图像对比度、降低图像的灰度级数以及改善图像的质量的一种有效的图像处理技术。

它的基本原理是通过改变图像的亮度分布,使得其均衡分布,从而达到均衡化的目的。

它可以有效地帮助我们改善图像的质量,以达到最佳的视觉效果。

图像直方图均衡化原理

图像直方图均衡化原理

图像直方图均衡化原理
图像直方图均衡化是一种常用的图像增强方法,通过调整图像的像素灰度分布,使得图像的对比度增强、细节更加清晰。

其原理主要分为以下几个步骤:
1. 统计像素灰度值的分布:首先,对待处理的图像,统计每个灰度级别的像素点数量,得到原始图像的灰度直方图。

2. 计算累计分布函数:根据灰度直方图,计算每个灰度级别对应的累计分布函数,即该灰度级别及其之前的像素点的累积数量比例。

3. 灰度映射:对于每个像素点,将其灰度值通过累计分布函数进行映射,得到新的灰度值。

通常情况下,可以通过线性映射或非线性映射来实现,使得图像的灰度分布变得更加均匀。

4. 重构图像:将经过灰度映射处理后的灰度值替换原始图像中的对应像素点的灰度值,从而得到均衡化后的图像。

通过图像直方图均衡化处理,可以提高图像的对比度,使暗部和亮部细节更加突出,同时抑制了图像中灰度级别分布不均匀的问题。

这种方法在图像增强、图像分析等领域都有广泛应用。

直方图均衡化处理

直方图均衡化处理

数字图像处理实验报告姓名: 王程学号: 2012021199037 日期:2013.3.30 一、实验要求(1)对一幅的对比度灰度图像进行直方图均衡化处理,画出处理前后的图像及直方图(2)用matlab读取和显示二、实验代码clc;clear;I=imread('E:\数字图像处理\exp2\伊伽贝拉.jpg'); %读入图像文件if isrgb(I)I=rgb2gray(I);endsubplot(221),imshow(I);title('原图像伊伽贝拉')[m,n]=size(I); %测量图像尺寸参数B=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:mfor j=1:n%k=I(i,j);%k=k+1;%B(k)=B(k)+1;B(I(i,j)+1)=B(I(i,j)+1)+1; %计算每级灰度出现的概率endendsubplot(222),stem(0:255,B,'Marker','none'); %绘制直方图title('未均衡化的直方图');S=I;[m,n]=size(S); %读出图像的大小BP=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255BP(k+1)=length(find(S==k))/(m*n); %计算每级灰度出现的概率endB1=zeros(1,256)for i=1:256for j=1:iB1(i)=BP(j)+B1(i);endendB2=round((B1*256)+0.5); for i=1:256BPeq(i)=sum(BP(find(B2==i))); end I=S;for i=0:255;I(find(S==i))=B2(i+1); %将各个像素归一化后的灰度值赋给这个像素 endsubplot(223),imshow(I); %显示均衡化后的图像title('均衡化后的图像'); subplot(224),imhist(I); %利用系统函数进行直方图计算title('均衡化后的直方图'); 三、 实验结果截图并做分析原图像伊伽贝拉01002003001234x 104未均衡化的直方图均衡化后的图像020004000均衡化后的直方图100200分析:从上面各个图中可以看出在原图像中的一些看不到或看不清楚的细节在均衡化后可以分辨出来,均衡化的图像变得更清晰。

直方图均衡化

直方图均衡化

图像增强是数字图像处理的基本内容。

遥感图像增强是为特定目的,突出遥感图像中的某些信息,削弱或除去某些不需要的信息,使图像更易判读。

图像增强的实质是增强感兴趣目标和周围背景图像间的反差。

它不能增加原始图像的信息,有时反而会损失一些信息。

它也是计算机自动分类一种预处理方法。

目前常用的图像增强处理技术可以分为两大类:空间域和频率域的处理。

主要内容包括基于直方图的处理、图像平滑以及图像锐化等。

空间域处理是指直接对图像进行各种运算以得到需要的增强结果。

频率域处理是指先将空间域图像变换成频率域图像,然后在频率域中对图像的频谱进行处理,以达到增强图像的目的。

6.2.1 图像灰度的直方图图像灰度直方图反映了一幅图像中灰度级与其出现概率之间的关系。

对于数字图像,由于图像空间坐标和灰度值都已离散化,可以统计出灰度等级的分布状况。

数字图像的灰度编码从0,1,2,…,2n-1(n为图像量化时的比特数),每一个灰度级的像元个数mi可以从图像中统计出来,整幅图像的像元数为M,则任意灰度级出现的频率为:(6-20)(6-21)由2n个P值即可绘制出数字图像的灰度直方图,如图6-5。

图像直方图随图像不同而不同,不同图像有不同的直方图。

图6-5数字图像直方图灰度直方图可以看成是一个随机分布密度函数,其分布状态用灰度均值和标准差两个参数来衡量。

灰度均值为:(6-22)式中:为整幅图像灰度平均值;X ij为(i,j)处像元的灰度值;R为图像行数;L为图像列数;M=R*L为图像像元总数;标准差:Xi:i处像元的灰度值直方图分布状态不同,图像特征不同,如图6-6所示。

a图像直方图靠近低灰度区,该图像属于低反射率景物图像;b图像为高反射率景物图像;c图像直方图标准差偏小,为低反差景物图像;d图像直方图的标准差较大,为高反差景物的图像;e图像直方图呈现出多峰,图中有多种地物出现的频率较高;f图像直方图呈现出双峰,并且高亮度地物(如云、白背景等)出现频率高。

图像直方图的均衡化处理图的均衡化

图像直方图的均衡化处理图的均衡化

图像直⽅图的均衡化处理图的均衡化图像直⽅图的均衡化处理⼀,技术要求1.1,利⽤matlab提供的函数处理 (2)1.2,利⽤matlab⾃⾏编辑代码处理 (3)⼆,基本原理 (3)2.1,直⽅图的均衡化 (3)2.2,直⽅图的标准化 (3)三,建⽴模型描述 ......................................................................... 3~43.1,利⽤matlab提供的函数处理 (4)3.2,利⽤matlab⾃⾏编辑代码 (4)四,源程序代码 ............................................................................. 5~64.1,绘制图像直⽅图的代码 (5)4.2,绘制图像均衡化后直⽅图的代码 (5)4.3,显⽰均衡化后图像的代码 (6)五,调试过程及结论 ..................................................................... 6~85.1,在编辑窗⼝键⼊绘制直⽅图的源代码得到的输出结果为图2 (6)5.2,利⽤matlab函数绘制的图像直⽅图标准化的输出结果如图3..75.3,直⽅图均衡化输出结果如图4所⽰。

(8)六,⼼得体会 (9)七,参考⽂献 (9)图像直⽅图的均衡化处理⼀,技术要求1.1,利⽤matlab提供的函数处理利⽤matlab提供的函数画出⼀幅图像的直⽅图,对其进⾏均衡化和标准化处理,并⽐较均衡化(标准化)后图像和原图像的区别。

1.2,利⽤matlab⾃⾏编辑代码处理利⽤matlab⾃⾏编辑代码,实现⼀幅图像的直⽅图显⽰和均衡化的处理,同样⽐较处理前后两幅图像的区别,了解图像均衡化的效果和实际运⽤。

⼆,基本原理直⽅图是多种空域处理技术的基础。

它能有效的⽤于图像增强。

图像处理基础(8):图像的灰度直方图、直方图均衡化、直方图规定化(匹配)

图像处理基础(8):图像的灰度直方图、直方图均衡化、直方图规定化(匹配)

图像处理基础(8):图像的灰度直⽅图、直⽅图均衡化、直⽅图规定化(匹配)本⽂主要介绍了灰度直⽅图相关的处理,包括以下⼏个⽅⾯的内容:利⽤OpenCV 计算图像的灰度直⽅图,并绘制直⽅图曲线直⽅图均衡化的原理及实现直⽅图规定化(匹配)的原理及实现图像的灰度直⽅图⼀幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的⼀个重要特征。

图像的灰度直⽅图就描述了图像中灰度分布情况,能够很直观的展⽰出图像中各个灰度级所占的多少。

图像的灰度直⽅图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数:其中,横坐标是灰度级,纵坐标是该灰度级出现的频率。

不过通常会将纵坐标归⼀化到[0,1]区间内,也就是将灰度级出现的频率(像素个数)除以图像中像素的总数。

灰度直⽅图的计算公式如下:p (r k )=n kMN其中,r k 是像素的灰度级,n k 是具有灰度r k 的像素的个数,MN 是图像中总的像素个数。

OpenCV 灰度直⽅图的计算直⽅图的计算是很简单的,⽆⾮是遍历图像的像素,统计每个灰度级的个数。

在OpenCV 中封装了直⽅图的计算函数calcHist ,为了更为通⽤该函数的参数有些复杂,其声明如下:void calcHist( const Mat* images, int nimages,const int* channels, InputArray mask,OutputArray hist, int dims, const int* histSize,const float** ranges, bool uniform = true, bool accumulate = false );该函数能够同时计算多个图像,多个通道,不同灰度范围的灰度直⽅图.其参数如下:images ,输⼊图像的数组,这些图像要有相同⼤⼤⼩,相同的深度(CV_8U CV_16U CV_32F ).nimages ,输⼊图像的个数channels ,要计算直⽅图的通道个数。

【数字图像处理】直方图的均衡与规定化

【数字图像处理】直方图的均衡与规定化

【数字图像处理】直⽅图的均衡与规定化很多情况下,图像的灰度级集中在较窄的区间,引起图像细节模糊。

通过直⽅图处理可以明晰图像细节,突出⽬标物体,改善亮度⽐例关系,增强图像对⽐度。

直⽅图处理基于概率论。

直⽅图处理通常包括直⽅图均衡化和直⽅图规定化。

直⽅图均衡化可实现图像的⾃动增强,但效果不易控制,得到的是全局增强的结果。

直⽅图规定化可实现图像的有选择增强,只要给定规定的直⽅图,即可实现特定增强的效果。

直⽅图均衡化直⽅图均衡化借助灰度统计直⽅图和灰度累积直⽅图来进⾏。

灰度统计直⽅图灰度统计直⽅图反映了图像中不同灰度级出现的统计情况。

灰度统计直⽅图是⼀个⼀维离散函数,可表⽰为h (k )=n k ,k =0,1,...L −1,其中k 为某个灰度级,L 为灰度级的数量,最⼤取256,n k 为具有第k 级灰度值的像素的数⽬。

灰度直⽅图归⼀化概率灰度统计直⽅图的归⼀化概率表达形式给出了对s k 出现概率的⼀个估计,可表⽰为p s (s k )=n k /N ,k =0,1,2..,L −1式中,k 为某个灰度级;L 为灰度级的数量,最⼤取256;s k 为第k 级灰度值的归⼀化表达形式,s k =k /255,故s k ∈[0,1];n k 为具有第k 级灰度值的像素的数⽬;N 为图像中像素的总数,故(n k /N )∈[0,1]。

灰度累计直⽅图灰度累积直⽅图反映了图像中灰度级⼩于或等于某值的像素的个数。

灰度累积直⽅图是⼀个⼀维离散函数,可表⽰为H (k )=k ∑i =0n i ,k =0,1,2..,L −1式中,k 为某个灰度级;L 为灰度级的数量,最⼤取256;n i 为具有第i 级灰度值的像素的数⽬。

累积分布函数可以表⽰为:t k =k ∑i =0p s (s i )相对的,灰度累积直⽅图的归⼀化表⽰如下图:Processing math: 100%原理步骤直⽅图均衡化主要⽤于增强动态范围偏⼩的图像的反差。

线性变换、非线性变换、直方图均衡、直方图匹配

线性变换、非线性变换、直方图均衡、直方图匹配

线性变换、非线性变换、直方图均衡、直方图匹配2 图像滤波图像卷积运算平滑:均值平滑、中值滤波平滑锐化:梯度检测、边缘检测、定向检测3 彩色增强单波段彩色变换和多波段彩色合成4图像运算差值运算:两幅同样行、列数的图像,对应像元的亮度值相减就是差值运算。

比值运算:两幅相同行列数的图像, 对应像元的亮度值相除就是比值运算。

5多光谱变换其变换的本质:对遥感图像实行线性变换,使光谱空间的坐标按一定规律进行旋转。

K-L变换K-T变换1.教学时数2学时2.教学方式(手段)讲授法、演示法3.师生活动设计教师提问,学生回答。

4.讲课提纲、板书设计采用多媒体教学5.教学内容第五节遥感数据的融合图像融合是指把多源遥感数据按照一定的规则或算法进行处理, 生成一幅具有新的空间、光谱和时间特征的合成图像。

图像融合并不是数据间的简单复合, 其目的是: 突出有用信息, 消除或抑制无关信息; 增加解泽的可靠性, 减少识别目标的模糊性和不确定性, 为快捷、准确地识别和提取目标信息奠定基础。

1 多源遥感数据的融合多源遥感数据融合的基本过程包括图像选择、图像配准和图像融合三个关键环节。

图像融合时,需根据融合图像的类型、特点以及融合的目的,选择恰当的融合方法。

常用的融合方法主要有:基于加减乘除运算的融合,基于相关分析、主成分变换、小波分析以及基于IHS变换的融合等。

2 遥感数据与地学信息的融合地学信息与遥感数据的结合和相互印证, 则有助于对遥感图像特征的综合分析, 提高图像解译的科学性。

(1) 地学信息的预处理地学信息主要指各种专题地图和专题数据, 前者包括土地利用图、植被图、土壤图、等值线图等, 后者包括各种采样分析数据、野外测量数据、调查统计数据、 DEM数据等。

地学信息的预处理包括专题地图的数字化和专题数据的图像化。

地学信息的预处理实现了地学信息到数字图像的转换, 接下来就可以进行空间配准和融合处理了。

空间配准包括地学数据之间及地学与遥感数据之间的空间配准, 即运用图像处理技术, 将不同地学数据集配准到统一的地理坐标系统上, 形成以图像为基础的综合数据库。

直方图均衡化处理

直方图均衡化处理

实验1.直方图均衡化程序的原理及步骤直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化的原理:直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像,其变换函数取决于图像灰度直方图的累积分布函数。

概括地说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。

当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来更清晰。

灰度直方图用各灰度值出现的相对频数(该灰度级的像素数与图像总像素数之比)表示。

直方图表示数字图像中每一灰度级与其出现频数的的统计关系,用横坐标表示灰度级,纵坐标表示频数。

直方图就能给出该图像的概貌性描述,例如图像的灰度范围、每个灰度级的频数和灰度的分布、整幅图像的亮度和平均明暗对比度等,由此可得出进一步处理的重要依据。

计算每个灰度级出现的概率为:P r (r k )=N k /N k=0,1,2,…,L-1上式中, P r (r k )表示第k 个灰度级出现的概率,N k 为第 k 个灰度级出现的频数,N 为图像像素总数,L 为图像中可能的灰度级总数。

由此可得直方图均衡化变换函数,即图像的灰度累积分布函数Sk 为:1,...,2,1,0)()(00-====∑∑==L k r P r T s kj NN k j j r k k j 上式中, S k 为归一化灰度级。

这个变换映射称做直方图均衡化或直方图线性化。

直方图均衡化过程如下:(1) 输出原图像;(2) 根据公式P r (r k )=n k /m*n ( k=0,1,2,…,L-1)计算对应灰度级出现的概率,绘制原图像的直方图。

(3) 计算原图象的灰度级累积分布函数:sk=Σp r (r k );(4) 取整Sk=round((S1*256)+0.5);将Sk 归一到相近的灰度级,绘制均衡化后的直方图。

直方图均衡化的本质和作用

直方图均衡化的本质和作用
和均衡化。
具体实现方法是首先计算每个像素点周围的局部阈值, 然后根据阈值将像素点的灰度值分为两类或多类,最 后对每类像素点进行直方图均衡化。
优点是能够更好地处理具有特定分布和噪声的图像; 缺点是计算复杂度较高,且阈值的选择对结果影响较
大。
感谢您的观看
THANKS
01
直方图均衡化通过拉伸图像的对比度,使得图像的 细节更加突出,提高了图像的视觉效果。
02
通过扩展像素值的动态范围,直方图均衡化使得图 像中的亮部和暗部细节都得到更好的展示。
03
对比度的提高有助于增强图像的层次感和立体感, 使得图像更加生动逼真。
增强图像的细节信息
01 直方图均衡化通过拉伸像素值的动态范围,使得 图像中的细节信息得到更好的展示。
02 对于低对比度图像,直方图均衡化能够增强其细 节表现,提高图像的分辨率。
03 在医学影像、卫星遥感等领域,增强细节信息对 于后续的分析和识别至关重要。
改善图像的视觉效果
01
直方图均衡化能够改善图像的视觉效果,使得图像更加清晰、 自然。
02
通过调整像素值的分布,直方图均衡化能够消除图像中的噪声
和干扰,提高图像的质量。
直方图均衡化的本质和作用
目 录
• 直方图均衡化的定义 • 直方图均衡化的本质 • 直方图均衡化的作用 • 直方图均衡化的优缺点 • 直方图均衡化的实现方法
01
直方图均衡化的定义
直方图均衡化的概念
直方图均衡化是一种图像处理技术, 通过拉伸图像的灰度直方图,使其均 匀分布在整个灰度级别范围内,从而 提高图像的对比度和动态范围。
改善视觉效果有助于提高图像的辨识度和可读性,使得图像更
03
加易于分析和处理。

(精品)数字图像处理实验报告--直方图规定化

(精品)数字图像处理实验报告--直方图规定化

数字图像处理实验报告直方图匹配规定化直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。

实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。

这时可以采用比较灵活的直方图规定化。

一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。

所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。

所以,直方图修正的关键就是灰度映像函数。

直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况):(1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化:(2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换:(3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。

一、A图直方图规定B图Matlab程序:%直方图规定化clear allA=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像imshow(A) %显示出来title('输入的A图像')%绘制直方图[m,n]=size(A); %测量图像尺寸B=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置endfigure,bar(0:255,B,'g'); %绘制直方图title('A图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])C=imread('C:\Users\hp\Desktop\B.tif');%读入B图像imshow(C) %显示出来title('输入的B图像')%绘制直方图[m,n]=size(C); %测量图像尺寸D=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255D(k+1)=length(find(C==k))/(m*n); %计算每级灰度出现的概率,将其存入D中相应位置endfigure,bar(0:255,D,'g'); %绘制直方图title('B图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])S1=zeros(1,256);for i=1:256for j=1:iS1(i)=D(j)+S1(i); %计算B灰度图累计直方图endendcounts=Bfigure,bar(0:255,counts,'r')title('A图像直方图 ')S2=zeros(1,256);for i=1:256for j=1:iS2(i)=counts(j)+S2(i);endend; %"累计"规定化直方图%对比直方图,找到相差最小的灰度级for i=1:256for j=1:255if S1(j)<=S2(i)&S1(j+1)>=S2(i)if abs(S1(j)-S2(i))<=abs(S1(j+1)-S2(i)) T(i)=j;else T(i)=j+1;endendendend%确定变换关系,重组直方图H=zeros(1,256);H(1)=S2(1);for i=2:255if T(i-1)>0for k=(T(i-1)+1):T(i)H(i)=H(i)+D(k);endelse H(i)=0;endendfigure,bar(0:255,H,'g') %显示规定化后的直方图title('A规定B后的直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.6])%显示规定图PA=C; %将各个像素归一化后的灰度值赋给这个像素for i=1:mfor j=1:nfor k=2:255if T(k-1)<=C(i,j)&C(i,j)<=T(k)PA(i,j)=k;break;endendendendfigure,imshow(PA) %显示规定化后的图像title('A规定B后图像')imwrite(PA,'guidinghua.bmp');二、用已知直方图规定A图规定灰度为[zeros(1,49),0.3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.1,zeros(1,49 ),0.2,zeros(1,49),0.1]Matlab程序:clear allA=imread('C:\Users\hp\Desktop\B.tif'); %读入A图像imshow(A) %显示出来title('输入的A图像')%绘制直方图[m,n]=size(A); %测量图像尺寸B=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置endfigure,bar(0:255,B,'g'); %绘制直方图title('A图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])S1=zeros(1,256);for i=1:256for j=1:iS1(i)=B(j)+S1(i); %计算原灰度图累计直方图endendcounts=[zeros(1,49),0.3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.1,zer os(1,49),0.2,zeros(1,49),0.1];%规定化直方图figure,bar(1:300,counts,'r')title('规定化直方图')S2=zeros(1,256);for i=1:256for j=1:iS2(i)=counts(j)+S2(i);endend; %"累计"规定化直方图%对比直方图,找到相差最小的灰度级for i=1:256for j=1:256if S1(j)<=S2(i)&S1(j+1)>=S2(i)if abs(S1(j)-S2(i))<=abs(S1(j+1)-S2(i)) T(i)=j;else T(i)=j+1;endendendend%确定变换关系,重组直方图H=zeros(1,256);H(1)=S2(1);for i=2:256if T(i-1)>0for k=(T(i-1)+1):T(i)H(i)=H(i)+B(k);endelse H(i)=0;endendfigure,bar(0:255,H,'g') %显示规定化后的直方图title('规定化后的直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.6])%显示规定图PA=A; %将各个像素归一化后的灰度值赋给这个像素for i=1:mfor j=1:nfor k=2:256if T(k-1)<=A(i,j)&A(i,j)<=T(k)PA(i,j)=k;break;endendendendfigure,imshow(PA) %显示规定化后的图像title('规定化后图像')imwrite(PA,'guidinghua.bmp');。

直方图均衡化计算公式

直方图均衡化计算公式

直方图均衡化计算公式直方图均衡化(色调均化)“图像(Image)>调整(Adjust)”菜单的功能色调均化(Equalize)Photoshop菜单:图像>调整>色调均化公式:(公式中Sk表示均衡化后的灰度值,∑表示总与,nj是原图中某个灰度色阶j 的像素数量,j的范围是0~k,N是图像像素总数。

)“色调均化”命令重新分布图像中像素的亮度值,以便它们更均匀地呈现所有范围的亮度级。

使用此命令时,Photoshop尝试对图像进行直方图均衡化(Histogram Equalization),即在整个灰度范围中均匀分布每个色阶的灰度值。

当扫描的图像显得比原稿暗,而您想平衡这些值以产生较亮的图像时,能够使用“色调均化”命令。

配合使用“色调均化”命令与“直方图”命令,能够看到亮度的前后比较。

使用“色调均化”命令:1. 选择菜单图像>调整>色调均化。

2. 假如已选择一个图像区域,在弹出的对话框中选择要均化的内容,然后点按“好”。

•“仅色调均化所选区域”只均匀地分布选区的像素。

•“基于所选区域色调均化整个图像”基于选区中的像素均匀分布所有图像的像素。

原理直方图均衡化是一种灰度变换算法,因此我们重点研究灰度图像的直方图均衡化。

绝对的均匀图A是一个黑白灰均匀渐变,0~255的每一个色阶的灰度数量都是相同的。

图B 的是图A的像素打乱了顺序随机分布的,每种灰度的数量都与图A的相同,因而它的直方图也与图A的相同。

图A与图B的直方图。

每种灰度数量是相同的,直方图呈一个黑色矩形。

近似的均匀关于通常的图像,由于每种灰度的像素数量并不相同,我们没办法把每种灰度的分量调得像图A、B那么均匀,但是能够做到近似的均匀。

也就是说,把直方图横向平均分成几份之后,使每一份的像素数量大致相等。

下面是一幅图片的直方图,共有19200个像素,从左到右平均分成三份。

均衡化之后,每份的像素数量都在6400左右。

手工调整方法我们拍摄或者扫描的照片往往会由于光线太强或者太弱,使图像对比度减弱,细节分辨不清。

数字图像处理---直方图均衡化

数字图像处理---直方图均衡化

数字图像处理---直⽅图均衡化直⽅图均衡化的英⽂名称是Histogram Equalization. 图像对⽐度增强的⽅法可以分成两类:⼀类是直接对⽐度增强⽅法;另⼀类是间接对⽐度增强⽅法。

直⽅图拉伸和直⽅图均衡化是两种最常见的间接对⽐度增强⽅法。

直⽅图拉伸是通过对⽐度拉伸对直⽅图进⾏调整,从⽽“扩⼤”前景和背景灰度的差别,以达到增强对⽐度的⽬的,这种⽅法可以利⽤线性或⾮线性的⽅法来实现;直⽅图均衡化则通过使⽤累积函数对灰度值进⾏“调整”以实现对⽐度的增强。

直⽅图均衡化处理的“中⼼思想”是把原始图像的灰度直⽅图从⽐较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直⽅图均衡化就是对图像进⾏⾮线性拉伸,重新分配图像像素值,使⼀定灰度范围内的像素数量⼤致相同。

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

缺点: 1)变换后图像的灰度级减少,某些细节消失; 2)某些图像,如直⽅图有⾼峰,经处理后对⽐度不⾃然的过分增强。

直⽅图均衡化是图像处理领域中利⽤图像直⽅图对对⽐度进⾏调整的⽅法。

这种⽅法通常⽤来增加许多图像的局部对⽐度,尤其是当图像的有⽤数据的对⽐度相当接近的时候。

通过这种⽅法,亮度可以更好地在直⽅图上分布。

这样就可以⽤于增强局部的对⽐度⽽不影响整体的对⽐度,直⽅图均衡化通过有效地扩展常⽤的亮度来实现这种功能。

这种⽅法对于背景和前景都太亮或者太暗的图像⾮常有⽤,这种⽅法尤其是可以带来X光图像中更好的⾻骼结构显⽰以及曝光过度或者曝光不⾜照⽚中更好的细节。

这种⽅法的⼀个主要优势是它是⼀个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直⽅图,并且计算量也不⼤。

这种⽅法的⼀个缺点是它对处理的数据不加选择,它可能会增加背景杂讯的对⽐度并且降低有⽤信号的对⽐度。

1.连续灰度值r:待处理图像的灰度。

假设r的取值区间[0,L-1], r = 0表⽰⿊⾊,r = L - 1表⽰⽩⾊。

直方图均衡化实验报告

直方图均衡化实验报告

直方图均衡化实验报告直方图均衡化实验报告引言:直方图均衡化是一种常用的图像处理技术,它可以增强图像的对比度和细节,使得图像更加清晰明亮。

本实验旨在通过实际操作验证直方图均衡化的效果,并探讨其在不同场景下的应用。

实验步骤:1. 图像获取与预处理:选择一张高对比度的彩色图像作为实验对象,通过图像处理软件将其转换为灰度图像。

确保图像的亮度范围适中,避免过亮或过暗的情况。

2. 直方图均衡化算法:实现直方图均衡化算法的代码,可以使用Python等编程语言。

算法的核心思想是将原始图像的像素值映射到新的像素值,使得新图像的直方图均匀分布在整个灰度范围内。

3. 实验结果展示:将经过直方图均衡化处理后的图像与原始图像进行对比展示。

通过观察图像的对比度、亮度和细节等方面的变化,评估直方图均衡化算法的效果。

实验结果与分析:经过直方图均衡化处理后,图像的对比度明显增强,细节更加清晰可见。

原本过亮或过暗的区域得到了适当的修正,使得整个图像的亮度分布更加均匀。

同时,图像中的细节也得到了突出,使得观察者能够更好地识别和分析图像中的内容。

在实际应用中,直方图均衡化可以用于图像增强、目标检测、图像匹配等领域。

例如,在安防监控系统中,直方图均衡化可以提高图像的对比度,使得目标物体更加明显,有利于目标检测和识别。

在医学图像处理中,直方图均衡化可以增强图像的细节,有助于医生对病灶的判断和诊断。

然而,直方图均衡化也存在一些局限性。

首先,直方图均衡化是一种全局操作,对整个图像进行处理,可能会导致某些局部细节的损失。

其次,直方图均衡化对于亮度变化较大的图像效果较差,可能会导致过度亮化或过度暗化的问题。

因此,在实际应用中,需要根据具体情况选择合适的图像处理方法。

结论:通过本次实验,我们验证了直方图均衡化在图像处理中的有效性。

直方图均衡化可以增强图像的对比度和细节,使得图像更加清晰明亮。

然而,直方图均衡化也存在一些局限性,需要根据具体情况选择合适的图像处理方法。

直方图均衡化和直方图规定化-实验报告

直方图均衡化和直方图规定化-实验报告

一、实验目的掌握直方图均衡化和直方图规定化的图像增强方法掌握图像平滑滤波和锐化滤波的模板计算方法二、实验内容:1. 使用IPT中imhist,histeq函数进行直方图的均衡化和规定化,并显示结果2. 编写myhisteq函数实现直方图均衡化,与1中结果进行对比3. 给读取的图像叠加椒盐噪音(imnoise),分别使用均值滤波和中值滤波进行去噪,并对比图像处理的结果(使用IPT函数)4. 自定义3*3模板矩阵F,编写myfilter函数实现模板和图像的卷积运算,设计模板矩阵,实现图像的平滑和锐化。

三、实验代码及结果(1) 直方图的均衡化和规定化clc;clear;I= imread('H:\image\jpg\flower.jpg');I= rgb2gray(I) ; %将图像转换为灰度图像J= histeq( I) ; %对I 进行直方图均衡化figure,subplot( 2,2,1) ,imshow(I) ,title('原始图像') ;subplot (2,2,2), imshow(J), title('直方图均衡化后的图像');subplot( 2,2,3) ,imhist(I, 64), title( '原始的直方图');subplot( 2,2,4) ,imhist(J,64) ,title(' 均衡化后的直方图');clc;clear;I= imread('H:\image\jpg\flower.jpg');I= rgb2gray(I) ; %将图像转换为灰度图像h=0:255;h=1-h/255;J= histeq( I,h) ;figure,subplot( 2,3,1) ,imshow(I) ,title('原图像') ; subplot( 2,3,2) ,imhist(I, 64), title( '原图像的直方图'); subplot (2,3,3), stem(h), title('目标直方图');subplot( 2,3,4) ,imshow(I, 64), title( '规定化后的图像'); subplot( 2,3,5) ,imhist(J,64) ,title(' 规定化后的直方图');二、myhisteq函数实现直方图均衡化I = imread('j:\image\jpg\flower.jpg');I = rgb2gray(I);[height,width] = size(I);figuresubplot(2,2,1)imshow(I)%显示原始图像title('原图像');subplot(2,2,2)imhist(I)%显示原始图像直方图title('原图像直方图');%进行像素灰度统计;s = zeros(1,256);%统计各灰度数目,共256个灰度级for i = 1:heightfor j = 1: widths(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一endend%计算灰度分布密度p = zeros(1,256);for i = 1:256p(i) = s(i) / (height * width * 1.0);end%计算累计直方图分布c = zeros(1,256);c(1) = p(1);for i = 2:256c(i) = c(i - 1) + p(i);end%累计分布取整,将其数值归一化为1~256c = uint8(255 .* c + 0.5);%对图像进行均衡化for i = 1:heightfor j = 1: widthI(i,j) = c(I(i,j)+1);endendsubplot(2,2,3)imshow(I)%显示均衡化后的图像title('均衡化后图像');subplot(2,2,4)imhist(I)%显显示均衡化后的图像的直方图title('均衡化后图像的直方图');三、使用均值滤波和中值滤波进行去噪I= imread('j:\image\jpg\flower.jpg');I= rgb2gray(I) ; %将图像转换为灰度图像I1 = imnoise(I,'salt & pepper',0.02);%0.02是噪声强度,其值越大噪声越多h=fspecial('average',5);J1=filter2(h,I1,'valid');J2= imfilter(I1,h,'full');figure,subplot(3,3,1),imshow(I1);title('原始椒盐噪声图像图1');subplot(3,3,2),imshow(uint8(J1));title('filter2均值滤波图2');subplot(3,3,3),imshow(J2);title('imfilter均值滤波图3');J3 = medfilt2(I1,[5,5]);subplot(3,3,4),imshow(J3),title('中值滤波效果图4');G1= histeq(I1);subplot(3,3,5),imhist(G1,64),title('原图均衡化后的直方图');G2= histeq(J1);subplot(3,3,6),imhist(uint8(G2),64),title('图2均衡化后直方图'); G3= histeq(J2);subplot(3,3,7),imhist(G3,64),title('图3均衡化后直方图');G4= histeq(J3);subplot(3,3,8),imhist(G4,64),title('图4均衡化后直方图');问题:对于filter2均值滤波均衡化直方图不显示,不知道原因。

直方图处理(均衡化与匹配)解析

直方图处理(均衡化与匹配)解析
s T (r ) pr (r )dr
0 r
上式表明,当变换函数为r的累积直方图函数 时,能达到直方图均衡化的目的。
对于离散的数字图像,用频率来代替概率 , 则 变换函数T(rk)的离散形式可表示为:
sk T (rk ) pr (rj )
j 0 j 0 k k
nj n
上式表明,均衡后各像素的灰度值 sk 可直接由 原图像的直方图算出。
一幅图像的sk与rk之间的关系称为该图像的累积灰 度直方图。
Pr(rk) 1.0 S(rk)
rk 1.0 1.0
rk
直方图均衡化的计算 直方图均衡化过程(算法):
(1) 列出原始图灰度级rk;
0 1 1 2
0 1 1 2
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
3
3 3 5 7 7
k rk , k 0,1, , L 1 L 1 求得:rk=0,1/7,2/7, …, 6/7
3.3 直方图处理
一、灰度直方图 直方像图反映了图的像素的灰度分布是反映一幅图像 中的灰度级与出现这种灰度级的像素的概率之间关系 的图形。 直方图的横坐标为灰度级(用r表示),纵坐标是具 有该灰度级的像素个数或出现此灰度级的概率P(rk)。 设N(=a×b)为一幅图像中像素总数,nk为第k级灰 度的像素数;r k表示第k个灰度级。则: P(rk)= nk /N (归一化后k级灰度像素数) 定义:反映各灰度级出现频数的分布情况,进而反映 图像对(清晰)度,但不反映各灰度级的空间位置分 布。

数字图像处理之直方图均衡化

数字图像处理之直方图均衡化

数字图像处理之直⽅图均衡化直⽅图均衡化是图像处理领域中利⽤图像直⽅图对对⽐度进⾏调整的⽅法。

直⽅图均衡化要达到的效果:基本思想:把原始图的直⽅图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从⽽达到增强图像整体对⽐度的效果使⽤的⽅法是灰度级变换:s = T(r)原理:s=T(r) 0≤r≤1T(r)满⾜下列两个条件:(1)T(r)在区间0≤r≤1中为单值且单调递增(2)当0≤r≤1时,0≤T(r) ≤1条件(1)保证原图各灰度级在变换后仍保持从⿊到⽩(或从⽩到⿊)的排列次序条件(2)保证变换前后灰度值动态范围的⼀致性Pr(r)是r的概率密度函数,Ps(s)是s的概率密度函数,Pr(r)和T(r)已知,且T-1(s) 满⾜上述条件(1),所以有已知⼀种重要的变换函数:关于上限的定积分的导数就是该上限的积分值(莱布尼茨准则)对于离散值:其中r k 是第k个灰度级,k = 0,1,2,…,L-1. n k是图像中灰度级为r k的像素个数. n是图像中像素的总数.已知变换函数的离散形式为:sk称作直⽅图均衡化将输⼊图像中灰度级为rk(横坐标)的像素映射到输出图像中灰度级为sk (横坐标)的对应像素得到.实现代码:/******************************************************************************* 作⽤: 灰度均衡函数* 参数:* pixel 原始像素数组* tempPixel 保存变换后图像的像素数组* width 原始图像宽度******************************************************************************/void GrayEqualize(BYTE* pixel, BYTE* tempPixel, UINT width, UINT height){// 灰度映射表BYTE map[256];long lCounts[256];memset(lCounts, 0, sizeof(long) * 256);// 计算各灰度值个数for (UINT i = 0; i < width * height; i++){int x = pixel[i * 4];lCounts[x]++;}// 保存运算中的临时值long lTemp;for (int i = 0; i < 256; i++){lTemp = 0;for (int j = 0; j <= i; j++)lTemp += lCounts[j];map[i] = (BYTE)(lTemp * 255.0f / width / height);}// 变换后的值直接在映射表中查找for (UINT i = 0; i < width * height; i++){int x = pixel[i * 4];tempPixel[i*4] = tempPixel[i*4+1] = tempPixel[i*4+2] = pixel[i * 4]; tempPixel[i*4+3] = 255;}}View Code彩⾊图直⽅图均衡化:更清晰:opencv代码:////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>using namespace cv;using namespace std;int main( int argc, const char** argv ){Mat img = imread("MyPic.JPG", CV_LOAD_IMAGE_COLOR); //open and read the imageif (img.empty()) //if unsuccessful, exit the program{cout << "Image cannot be loaded..!!" << endl;return -1;}vector<Mat> channels;Mat img_hist_equalized;cvtColor(img, img_hist_equalized, CV_BGR2YCrCb); //change the color image from BGR to YCrCb formatsplit(img_hist_equalized,channels); //split the image into channelsequalizeHist(channels[0], channels[0]); //equalize histogram on the 1st channel (Y)merge(channels,img_hist_equalized); //merge 3 channels including the modified 1st channel into one imagecvtColor(img_hist_equalized, img_hist_equalized, CV_YCrCb2BGR); //change the color image from YCrCb to BGR format (to display image properly)//create windowsnamedWindow("Original Image", CV_WINDOW_AUTOSIZE);namedWindow("Histogram Equalized", CV_WINDOW_AUTOSIZE);//show the imageimshow("Original Image", img);imshow("Histogram Equalized", img_hist_equalized);waitKey(0); //wait for key pressdestroyAllWindows(); //destroy all open windowsreturn0;}View Code代码中使⽤的函数:New OpenCV functionscvtColor(img, img_hist_equalized, CV_BGR2YCrCb)This line converts the color space of BGR in 'img' to YCrCb color space and stores the resulting image in 'img_hist_equalized'.In the above example, I am going to equalize the histogram of color images. In this scenario, I have to equalize the histogram of the intensity component only, not the color components. So, BGR format cannot be used because its all three planes represent color components blue, green and red. So, I have to convert the original BGR color space to YCrCb color space because its 1st plane representsthe intensity of the image where as other planes represent the color components.void split(const Mat& m, vector<Mat>& mv )This function splits each channel of the 'm' multi-channel array into separate channels and stores them in a vector, referenced by 'mv'. Argument listconst Mat& m - Input multi-channel arrayvector<Mat>& mv - vector that stores the each channel of the input arrayequalizeHist(channels[0], channels[0]);Here we are only interested in the 1st channel (Y) because it represents the intensity information whereas other two channels (Cr and Cb) represent color components. So, we equalize the histogram of the 1st channel using OpenCV in-built function, 'equalizeHist(..)' and other two channels remain unchanged.void merge(const vector<Mat>& mv, OutputArray dst )This function does the reverse operation of the split function. It takes the vector of channels and create a single multi-channel array. Argument listconst vector<Mat>& mv - vector that holds several channels. All channels should have same size and same depthsOutputArray dst - stores the destination multi-channel arraycvtColor(img_hist_equalized, img_hist_equalized, CV_YCrCb2BGR)This line converts the image from YCrCb color space to BGR color space. It is essential to convert to BGR color space because 'imshow(..)' OpenCV function can only show images with that color space.This is the end of the explanation of new OpenCV functions, found in the above sample code. If you are not familiar with other OpenCV functions, please refer to the previous lessons.参考博客:http://opencv-srf.blogspot.jp/2013/08/histogram-equalization.html。

直方图均衡化

直方图均衡化

1 直方图均衡化原理、目标、应用及编程实现1.1 直方图均衡化原理直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

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

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

直方图规定化直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图.实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法.直方图规定化增强处理的步骤如下:令Pr (r )和Pz (z )分别为原始图像和期望图像的灰度概率密度函数。

如果对原始图像和期望图像均作直方图均衡化处理,应有⎰==x r dr r P r T S 0)()((1) ⎰==xz dzz p Z G V 0)()((2) )(1V G Z -= (3)由于都是进行均衡化处理,处理后的原图像概率密度函数Ps (S )及理想图像概率密度函数PV (V )是相等的。

于是,我们可以用变换后的原始图像灰度级S 代替(2)式中的V 。

即Z = G - 1(S ) (4)这时的灰度级Z 便是所希望的图像的灰度级。

此外,利用(1)与(3)式还可得到组合变换函数Z = G - 1[T (r )] (5) 对连续图像,重要的是给出逆变换解析式。

对离散图像而言,有n n Z P ii Z =)( (6)∑-===10)()(l i i z i i Z P Z G V (7))]([)(11i i i r T G S G Z --== (8)1.2直方图均衡化目标及应用这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过这种方法,亮度可以更好地在直方图上分布。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sk
T (rk )
k j0
pr (rj )
k j0
nj n
上式表明,均衡后各像素的灰度值sk可直接由
原图像的直方图算出。
一幅图像的sk与rk之间的关系称为该图像的累积灰
度直方图。
Pr(rk)
S(rk) 1.0
rk 1.0
rk 1.0
直方图均衡化的计算
直方图均衡化过程(算法):
b) 计算各灰度级的像素频数(或概率)
设nk为灰度级为rk的像素的个数,N为总的像素个数,令
pr
(rk
)

nk N
nk是像素值为k的像素的频数,pr (rk )为其出现的概率
c) 作图
建立直角坐标系,横轴表示rk 的取值,纵轴表示pr (rk )的取值, 作pr (rk )的函数图
练习:试求如图所 示一幅10×10, 8级灰度图像的灰
举例
应用:直方图修正 灰度修正(改变像素灰度值)⇔ 改变直方图
(修正)⇔ 灰度非线性变换 方法:直方图均衡化 直方图规定化(匹配)
3.3.1直方图均衡化
一、直方图均衡化
灰度直方图反映了数字图像中每一灰度级与其 出现频率间的关系,它能描述该图像的概貌。通过 修改直方图的方法增强图像是一种实用而有效的处 理技术。
T(r) 1r
1 r
将非均匀密度变换为均匀密度
T(r)作为变换函数,满足下列条件:
①在0≤r≤1内为单调递增函数,保证灰度级从
黑到白的次序不变;
②在0≤r≤1内,有0≤T(r)≤1,确保映射后的
像素灰度在允许的范围内。
反变换关系为
r T 1(s)
T-1(s)对s同样满足上述两个条件。
由概率论理论可知,如果已知随机变量r的概率 密度为pr(r),而随机变量s是r的函数,则s的概率密 度ps(s)可以由pr(r)求出。
1
(s)

可见,输出图像的概率密度函数可以通过变换函数T(r)控
制原图像灰度级的概率密度函数得到,因而改善原图像的灰度 层次,这就是直方图修改技术的基础。
从人眼视觉特性来考虑,一幅图像的直方图如果是均匀分
布的,即Ps(s)=k(归一化时k=1)时,该图像色调给人的感觉 比较协调。因此将原图像直方图通过T(r)调整为均匀分布的
EH(rk)是一个单调增加函数,它等于灰度在rk一下的 像素所占的比例,可以写出反函数:
rk= EH-1(tk) ,0≤tk≤1, k=0,1,…,L-1
假设tk=EH(rk)=1/4,那么灰度rk 映射到tk意味着tk=1/4一下的 灰度占像素总数的1/4。如果 tk=1/2,那么tk=1/2以下的像素 占像素总数的1/2,即 tk的直方图是均匀分布的。
nk
rk 01234567
偏暗图像 及其直方图
动态范围偏小图像 及其直方图
动态范围正常图像 及其直方图
二、直方图的用途
1.数字化参数
可用来判断一幅图像是否合理地利用了全部被允许的 灰度级范围。一幅图像应利用几乎全部的灰度级。
2. 边界阈值选取
频 率
0
阈值点 灰度
三、积累直方图
积tk=累E直H(r方k)图= 就ik0 nn是i 由= i前k0 pkr(个ri) ,等0≤级rk≤之1,和k=生0,1成,…的,L积-1累直方图。
度直方图。
a)将图像的灰度级归一化
rk

k ,k L 1
0,1,L
,L 1
求得:rk=0,1/7,2/7, …, 6/7
b)计算各灰度级的像素频数
pr
(rk
)

nk N
Pk=0.1, 0.2, 0.1, …
c)作图
00 000000 00 11 111111 11 11 111111 11 22 222222 22 33 333333 33 33 333333 33 33 333333 33 55 555555 55 77 777777 77 77 777777 77
(1) 列出原始图灰度级rk; (2) 统计原始直方图各灰度级像素数nk; (3) 计算原始直方图各概率:pk=nk/N; (4) 计算累计直方图:sk=Σpk; (5) 取整Sk=int{(L-1)sk+0.5}; (6) 确定映射对应关系:rksk; (7) 统计新直方图各灰度级像素nk'; (8) 用pk (sk) =nk'/N计算新直方图。
其中L是灰度层次数, N是图幅总像素数。
直方图均衡化计算列表

运算

步骤和结果
1
列出原始灰度级rk
0 1 2345 6 7
2 统计原始直方图各级灰度 790 1023 850 656 329 245 122 81 nk
3 计算原始直方图rk的pk 0.19 0.25 0.21 0.16 0.08 0.06 0.03 0.02
3.3 直方图处理
一、灰度直方图 直方像图反映了图的像素的灰度分布是反映一幅图像 中的灰度级与出现这种灰度级的像素的概率之间关系 的图形。 直方图的横坐标为灰度级(用r表示),纵坐标是具 有该灰度级的像素个数或出现此灰度级的概率P(rk)。 设度N的(像=素a×数b;)r为k表一示幅第图k像个中灰像度素级总。数则,:nk为第k级灰 P(rk)= nk /N (归一化后k级灰度像素数)
假定随机变量s的分布函数用Fs(s)表示,根据分
布函数定义
s
r
FS (s) ps (s)ds pr (r)dr
利用密度函数是分布函数的导数的关系,等式两边对s求
导,有:
Ps (s)
d ds

r
pr
(r
)dr


pr
dr ds

pr
d ds
T
0
1
2
3
4
5
6
7
790 1023 850 656 329 245 122 81
Pz(zk) 0.3 0.2 0.1
0.3
0.2 0.15
0.2 0.15
0 1/7 3/7 5/7 (c)
1 zk
解:直方图规定化计算过程如下:
1
列出原图灰度级rk , k=0,1…,7
0
1
234567
2 统计原图各灰度级像素数nk 790 1023 850 656 329 245 122 81
0
0
0 0.15 0.2 0.3 0.2 0.15
0
0
0 0.15 0.35 0.65 0.85 1
3
4
566777
8 确定映射对应关系(k →l ) 0→3 1→4 2→5 3,4→6
5,6,7→7
9 变换后各灰度级像素n'z
0
0
0 790 1023 850 985 448
1 0
变换后直方图
0.19 0.25 0.21 0.24 0.11
直方图均衡化是将原图像通过某种变换,得到 一幅灰度直方图为均匀分布的新图像的方法。
直方图均衡化
对连续变化图像:
设r和s分别表示归一化了 的原图像灰度和经直方图修 正后的图像灰度。即
0 r,s 1
在[0,1]区间内的任一个r值, 都可产生一个s值,且
s T (r)
ss 11
Ps(s)
Pr(r)
4
计算累计直方图sk
0.19 0.44 0.65 0.81 0.89 0.95 0.98 1.00
5 取整sk=int[(L-1)sk +0.5] 1
3
5667 7
7
6 确定映射关系(rk→sk) 0-1 1-3 2-5 3,4-6
7 统计新直方图各灰度级n’k
790
1023
5,6,7-7
850 985 448
1 Sk
直 方 图 规 定 化
4 7
5 7
6 7
1 Sk
直方图均衡化
Pz(zk) 0.3 0.2 0.1
0.3
0.2 0.15
0.2 0.15
0 1/7
3/7 5/7
(c)
1 zk
希望直方图
ps(Sk)
0.25 0.20 0.15 0.10 0.05
0.25 0.24 0.19 0.21
0.11
0
1 7
23456
7直方7 图7规定7 化7
0.44
0.20 0.19
0
1 7
2 7
3 7
45 77
6 7
1 rk
(b)
ps(Sk)
0.25
0.20
0.19
0.25
0.24 0.21
0.15
0.11
0.10
0.05
0
1 7
2 7
3 7
4 7
5 7
6 7
1 Sk
(c)
直方图均衡化效果
3.3.2直方图匹配(规定化)
直方图均衡化的优点是能自动地增强整个图像
化处理后图像的灰度概率密度函数.
对原始直方图进行均衡化处理,有:s

T
(r
)

r
0
Pr
(r
)dr
对规定化后的直方图均衡化处理,有:v

G(
z
)

z
0
ቤተ መጻሕፍቲ ባይዱ
Pz
(
z
)dz
两者经直方图均衡化处理后应有相同的直方图,因此
规定化后的的图像灰度级为:
z G1(v) G1(s) G1[T (r)]
pr(rk)
0.25 0.25
相关文档
最新文档