首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图像的灰度直方图、直方图均衡化、直方图规定化(匹配)

均衡化算法 直方图的均衡化实际也是一种灰度的变换过程,将当前的灰度分布通过一个变换函数,变换为范围更宽、灰度分布更均匀的图像。...= L \cdot \sum\limits_{j=0}^{j=m}P_z(z_m) 由于是对同一图像的均衡化操作,所以有 s_k = v_m 规定化操作的目的就是找到原始图像的像素sk sk 到规定化后图像像素的...LUT(src, lut, result); } 上面函数的第二个参数的直方图就是规定化的直方图。...左边是原图像,右边是规定化的图像,也就是上面函数的第一个和第二个输入参数。原图像规定化的结果如下: ?...它可以按照预先设定的它可以按照预先设定的某个形状来调整图像的直方图,运用均衡化原理的基础上,通过建立原始图像和期望图像

5.4K10

python实现图像的直方图均衡化

直方图均衡化是一种用于增强图像对比度的图像处理技术。它通过重新分配图像中的像素值,使得图像的像素值分布更加均匀,增强图像的对比度,从而改善图像的视觉效果。...直方图均衡化的过程如下: 灰度转换:如果图像是彩色图像,则首先需要将其转换为灰度图像。这可以通过将彩色图像的RGB通道值平均或权重化来实现,得到一个表示亮度的灰度图像。...计算累积分布函数:通过计算原始图像的累积分布函数,可以得到每个像素值的累积概率分布,即小于等于该像素值的概率。可以通过对直方图进行归一化和累加操作得到。...生成均衡化后的图像:根据重新映射的像素值,生成均衡化后的图像。均衡化后的图像在直方图上将有更平坦的分布,从而提高了图像的对比度。...('myEqualize') plt.show() # 均衡化灰度图 衡化后的图像的直方图如图所示,其中左图为OpenCV库函数均衡化的效果,右图是我们手动实现均衡化的效果,可见都达到了将原图的像素值均匀分开的效果

85230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    直方图均衡化的原理及实现途径_请简述图像直方图均衡的原理

    大家好,又见面了,我是你们的朋友全栈君 直方图均衡化的原理及实现 一、直方图 1.1 直方图的概念 在图像处理中, 经常用到直方图, 如颜色直方图、 灰度直方图等。...二、直方图均衡化 2.1 直方图均衡化的概念 直方图均衡化(Histogram Equalization)是一种增强图像对比度(Image Contrast)的方法,其主要思想是将一副图像的直方图分布通过累积分布函数变成近似均匀分布...,即像素映射函数的值域应在0和255之间; 综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数...2.2 累积分布函数的数学原理 因为图像由一个个像素点组成,所以图像直方图均衡化是通过离散形式的累积分布函数求解的,直方图均衡化过程中,映射方法是: 其中,s_k指当前灰度级经过累积分布函数映射后的值...) dst:默认即可 ''' # 灰度图像直方图均衡化 dst = cv2.equalizeHist(img) # 直方图 hist = cv2.calcHist([dst],[0],None,[256

    4.5K50

    【16位RAW图像处理三】直方图均衡化及局部直方图均衡用于16位图像的细节增强。

    在我前面的博客里其实也有讲到这方面的信息,本文再尝试将直方图均衡化引入到这个过程中。...那么我们来看看如何把普通的直方图均衡化算法利用到RAW图像中来。...以灰度图为例,如果已经统计了图像的直方图,则直方图均衡化的新的隐射曲线由以下代码获取: for (int Y = 0, Num = 0; Y < 256; Y++) { Num = Num +...对8位的a图直接在直方图均衡后的结果图 通过比较可以看到确实还是有明显的增强效果的,但是似乎有过曝的现象。...我们可以仿照一种强化的基于局部直方图裁剪均衡化的对比度调节算法 或者限制对比度自适应直方图均衡化算法原理、实现及效果 文中的方法将局部直方图均衡化引入到16位中,尝试看看效果是否有改善,这里不多谈,只说下我遇到的几个问题

    1.6K30

    图像处理-灰度变换-直方图

    通常采用直方图均衡化及直方图规定化两种变换,使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的。...均衡化算法 直方图的均衡化实际也是一种灰度的变换过程,将当前的灰度分布通过一个变换函数,变换为范围更宽、灰度分布更均匀的图像。...通常均衡化选择的变换函数是灰度的累积概率,直方图均衡化算法的步骤: 计算原图像的灰度直方图 P(S_k)=n_kn,其中n为像素总数,n_k为灰度级S_k的像素个数 计算原始图像的累积直方图 CDF...综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。...//函数功能:直方图均衡化,该函数能归一化图像亮度和增强对比度 //第一个参数表示输入图像,必须为灰度图(8位,单通道图) //第二个参数表示输出图像 //该函数采用如下法则对输入图像进行直方图均衡化

    1.5K20

    OpenCV系列之直方图-2:直方图均衡 | 二十七

    因此,您需要将这个直方图拉伸到两端(如下图所示,来自wikipedia),这就是直方图均衡化的作用(简单来说)。这通常会提高图像的对比度。 ?...现在我们找到最小的直方图值(不包括0),并应用wiki页面中给出的直方图均衡化方程。但我在这里用过,来自Numpy的掩码数组概念数组。对于掩码数组,所有操作都在非掩码元素上执行。...因此,现在您可以在不同的光照条件下拍摄不同的图像,对其进行均衡并检查结果。 当图像的直方图限制在特定区域时,直方图均衡化效果很好。...CLAHE(对比度受限的自适应直方图均衡) 我们刚刚看到的第一个直方图均衡化考虑了图像的整体对比度。在许多情况下,这不是一个好主意。例如,下图显示了输入图像及其在全局直方图均衡后的结果。 ?...如果任何直方图bin超出指定的对比度限制(在OpenCV中默认为40),则在应用直方图均衡之前,将这些像素裁剪并均匀地分布到其他bin。均衡后,要消除图块边界中的伪影,请应用双线性插值。

    1.2K10

    直方图均衡 Histogram Equalization

    亮度直方图 在说明直方图均衡之前,先说说亮度直方图的概念。为了评估一个图像的色调转换,首先需要建立亮度直方图。亮度直方图就是图像中亮度分布的图表。...在横轴上表示亮度值从黑色到白色;在竖轴上表示某一亮度所累积的像素数量。这里的亮度值指的是灰度等级,范围一般从 0 到 255,0 表示黑色,255 表示白色。 ? 上面图片显示的是对比度差的两个例子。...这时候就需要用到直方图均衡(Histogram Equlization)来处理这种情况,简单过程如下图所示: ? 来自维基百科 简单来说,直方图均衡化是使用图像直方图对对比度进行调整的图像处理方法。...L 是图像中灰度级别的总数(通常为256),n 是图像中的像素总数,px(i) 实际上是像素值 i 的图像直方图,归一化为 [0,1]。 直方图均衡化的处理依赖于累积概率函数(cdf)的使用。...分别将上面过程应用于 RGB 图像的红,绿,蓝通道,就可以对彩色图片进行直方图均衡处理。 但实际上,对彩色分量 RGB 分别做均衡化,会产生奇异的点,破坏图像的色彩平衡。

    2.5K31

    【从零学习OpenCV 4】直方图均衡化

    同时,如果图像中所有的像素灰度值都集中在100到150之间,则整个图像想会给人一种模糊的感觉,看不清图中的内容。...如果通过映射关系,将图像中灰度值的范围扩大,增加原来两个灰度值之间的差值,就可以提高图像的对比度,进而将图像中的纹理突出显现出来,这个过程称为图像直方图均衡化。...dst:直方图均衡化后的输出图像,与src具有相同尺寸和数据类型。 该函数形式比较简单,但是需要注意该函数只能对单通道的灰度图进行直方图均衡化。...对图像的均衡化示例程序在代码清单4-8中给出,程序中我们将一张图像灰度值偏暗的图像进行均衡化,通过结果可以发现经过均衡化后的图像对比度明显增加,可以看清楚原来看不清的纹理。...通过绘制原图和均衡化后的图像的直方图可以发现,经过均衡化后的图像直方图分布更加均匀。 代码清单4-8 myEqualizeHist.cpp直方图均衡化实现 4.

    66020

    数字图像处理灰度变换之灰度直方图及python实现

    图像的对比度是通过灰度级范围来度量的,而灰度级范围可通过观察灰度直方图得到,灰度级范围越大代表对比度越高;反之对比度越低,低对比度的图像在视觉上给人的感觉是看起来不够清晰,所以通过算法调整图像的灰度值,...不过通常会将纵坐标归一化到[0,1][0,1]区间内,也就是将灰度级出现的频率(像素个数)除以图像中像素的总数,得到归一化灰度直方图,计算公式如下: ?...直方图均衡化,对图像进行非线性拉伸,重新分配图像的灰度值,使一定范围内图像的灰度值大致相等。...直方图的均衡化实际也是一种灰度的变换过程,通常均衡化选择的变换函数是灰度的累积概率 全局直方图均衡化 def equalizeHist_map(img_gray):#输入必须是灰度图像 h, w...这其实和均衡化很类似,均衡化后的灰度直方图也是已知的,是一个均匀分布的直方图;而规定化后的直方图可以随意的指定,直方图正规化就是基于当前图像情况自动选取a和b的值的方法。 ?

    2.9K20

    OpenCV中图像直方图与应用

    OpenCV中提供了几个非常有用的直方图操作函数,实现了直方图统计计算、到直方图均衡化、直方图反向投影等功能。 图像像素直方图 OpenCV3.1.0中计算直方图的对应函数calcHist ?...); imshow("Histogram Demo", histImage); 直方图均衡化 直方图均衡化是利用统计得到的直方图数据实现直方图分布的调整,然后根据调整之后的直方图对原图像建立查找表...OpenCV中的API函数为 equalizeHist src参数表示输入的图像,必须是8位灰度图像 dst参数表示均衡化之后的图像,大小和类型必须跟输入图像一致 输入原图如下: ?...直方图均衡化的结果如下: ? 对于三通道的彩色图像,可以先拆分通道对各个通道进行直方图均衡化之后再合并通道即可。...这里以车牌识别中获取车牌区域为例,通过直方图反向投影可以获取。首先看模板图像 ? 测试图像 ? 直方图反向投影结果 ?

    1.3K60

    基于OpenCV的直方图匹配

    图像直方图表示图像的像素分布情况。换言之,图像直方图显示具有特定像素值的图像点数量。例如,假设正常图像的像素强度在0到255之间变化。...为了生成其直方图,我们只需要计算像素值为0的像素数量,然后计算1并继续到255即可。在图1中,我们有一个5 * 5的样本图像,我们通过计算每个像素强度的数量来创建直方图表。 ?..._" + name) 代码1:生成直方图 在大多数情况下,当我们创建直方图时,我们通过将每个强度值的像素数除以归一化因子(即图像宽度和图像高度的乘积)来对直方图进行归一化。...为了便于使用,如果generate_histogram函数的输入图像是彩色图像,我们首先将其转换为灰度图像(请参见第6行)。 03. 如何均衡图像直方图? 直方图均衡化通常用于增强图像的对比度。...对于A的所有强度值,我们继续进行。如果从A到B的均衡直方图中没有映射,我们只需要选择最接近的值即可。

    1.4K10

    OpenCV—python 颜色直方图与直方图均衡化

    我们日常拍照时,背对太阳时或晚上出现图像欠曝,面对太阳拍照会出现过曝,图像均衡可以通过图像直方图均衡来调整图像,也可以通过 γ \gamma γ 校正,来校正图片。...这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。...(直接效果展示) cv2.equalizeHist(img) 均衡化的原图像【输入img:单通道图像】则返回值即为均衡化后的图像。...如下图:依次是原图;全局直方图均衡化;自适应直方图均衡化 2.2 使用查找表来拉伸直方图 在图像处理中,直方图均衡化一般用来均衡图像的强度,或增加图像的对比度。...将RGB彩色图像先转换到YPbPr空间,然后只对亮度通道进行全局直方图均衡化和自适应直方图均衡化,最后再将亮度通道和PbPr通道合并形成彩色图像,然后再转换回RGB空间中。

    3.3K30

    Python opencv图像处理基础总结(三) 图像直方图 直方图应用 直方图反向投影

    文章目录 一、图像直方图 二、直方图应用 1. 直方图均衡化 2. 直方图比较 三、直方图反向投影 1. HSV和RGB色彩空间 2....直方图均衡化 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法,是图像增强的一个手段。...直方图均衡化:如果一副图像的像素占有很多的灰度级而且分布均匀,那么这样的图像往往有高对比度和多变的灰度色调。直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。...import cv2 as cv # 全局直方图均衡化可能得到是一种全局意义上的均衡化,但是有的时候这种操作并不是很好,会把某些不该调整的部分给调整了 def equal_hist(image):...tileGridSize:每次处理块的大小 import cv2 as cv # 局部直方图均衡化,也就是是说把整个图像分成许多小块(比如按10*10作为一个小块),那么对每个小块进行均衡化 def

    83310

    Python opencv图像处理基础总结(三) 图像直方图 直方图应用 直方图反向投影

    直方图均衡化 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法,是图像增强的一个手段。...直方图均衡化:如果一副图像的像素占有很多的灰度级而且分布均匀,那么这样的图像往往有高对比度和多变的灰度色调。直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。...cv2.equalizeHist(src, dst=None) 函数equalizeHist的作用:直方图均衡化,提高图像质量。...import cv2 as cv # 全局直方图均衡化可能得到是一种全局意义上的均衡化,但是有的时候这种操作并不是很好,会把某些不该调整的部分给调整了 def equal_hist(image):...tileGridSize:每次处理块的大小 import cv2 as cv # 局部直方图均衡化,也就是是说把整个图像分成许多小块(比如按10*10作为一个小块),那么对每个小块进行均衡化 def

    4.2K41

    OpenCV图像处理(十七)---图像直方图均衡化

    前言 在上一期的文章中,我们学习了图像的直方图绘制,了解到直方图其实就是对图像像素值数量-大小分布的一个统计图,它能够描述图像中像素值的分布情况。...今天,我们将继续学习图像的新知识--直方图均衡化。 一、直方图均衡化介绍 还记得之前我们讲到的直方图均衡化吗?...plt.plot(img_hist, color="b") plt.show() # 绘制均衡化后的直方图 plt.hist(result_img.ravel(), 256, [0, 256]) plt.show...后面的代码主要是对原始图像和均衡化图像的直方图进行显示,针对原始图像,我们已经计算出了直方图,因此直接进行plt.plot(img_hist, color="b")显示,针对均衡化后的图像,由于我们并没有计算直方图...3)均衡化后的直方图 (可以看到,均衡化后的图像较之前像素值分布较为均匀,像素值的范围几乎都分布了像素) 结语 今天的分享结束了,我们主要对直方图的均衡化进行了知识讲解和代码实践,均衡化主要是调用了

    40710

    【从零学习OpenCV 4】直方图匹配

    直方图均衡化函数可以自动的改变图像直方图的分布形式,这种方式极大的简化了直方图均衡化过程中需要的操作步骤,但是该函数不能指定均衡化后的直方图分布形式。...直方图匹配与直方图均衡化相似,都是对图像的直方图分布形式进行改变,只是直方图均衡化后的图像直方图是均匀分布的,而直方图匹配后的直方图可以随意指定,即在执行直方图匹配操作时,首先要知道变换后的灰度直方图分布形式...直方图匹配操作能够有目的的增强某个灰度区间,相比于直方图均衡化操作,该算法虽然多了一个输入,但是其变换后的结果也更灵活。...图4-7 直方图匹配示例 这个寻找灰度值匹配的过程是直方图匹配算法的关键,在代码实现中我们可以通过构建原直方图累积概率与目标直方图累积概率之间的差值表,寻找原直方图中灰度值n的累积概率与目标直方图中所有灰度值累积概率差值的最小值...calcHist(&img2, 1, channels, Mat(), hist2, 1, bins, ranges); 40. //归一化两张图像的直方图 41.

    2.7K30

    CV学习笔记(十):直方图

    比如我们可以通过标记帧和帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变换。可以通过在每个兴趣点设置一个有相近特征的直方图所构成的标签,用以确定图像中的兴趣点。...运行结果如下: 二:直方图的均衡化 直方图均衡化是通过拉伸像素强度的分布范围,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。...对比度较低的图像适合使用直方图均衡化方法来增强图像细节。...代码如下: #直方图的应用 直方图均衡化(即调整图像的对比度) 直方图即统计各像素点的频次 import cv2 as cv #全局直方图均衡化 def eaualHist_demo(image...实现的结果: 四:参考文章 1:OpenCV从入门到放弃(七):直方图那些事儿 CSDN-专业IT技术社区-登录​blog.csdn.net 2: OpenCV直方图(直方图、直方图均衡,直方图匹配,

    1.1K00

    直方图均衡的一些变体算法

    上上上上周,数字图片处理课程布置了一个作业,需要看论文实现并比较各种直方图均衡的算法: ? 基本的直方图均衡算法已经在这篇文章里说明了,今天这篇主要讲变体。...Histogram Equalization 的缺陷 如下面的图片所示,可以看出,原图片在直方图均衡之后亮度变的异常大,这样给人的感觉会很不自然。 ?...在 Bi-Histogram Equalization 的论文中提到,直方图均衡的这种限制的根本原因是没有考虑图片的平均亮度。所以 BHE 就针对这点进行了改进。...然后根据分离的两个子图片,分别求转换方程(cdf),然后再合并 cdf,最后对整个图片进行均衡化。...CHE 的缺点很容易发现,需要先 plot 图像的直方图,然后根据直方图的结果手动设置限制的高度范围。同时截取高度再重新分配的操作增加了复杂度。因此,后面提出的 BHEPL 方法会改进这些缺点。

    1.1K00

    直方图均衡的一些变体算法

    上上上上周,数字图片处理课程布置了一个作业,需要看论文实现并比较各种直方图均衡的算法: [1240] 基本的直方图均衡算法已经在这篇文章里说明了,今天这篇主要讲变体。...Histogram Equalization 的缺陷 如下面的图片所示,可以看出,原图片在直方图均衡之后亮度变的异常大,这样给人的感觉会很不自然。...right }$ ,基于均值可以将图像分为两部分 $X_{L}$ 和 $X_{U}$,整个图片可以表示成:$$X = X_{L}\cup X_{U}$$ 然后根据分离的两个子图片,分别求转换方程(cdf...),然后再合并 cdf,最后对整个图片进行均衡化。...CHE 的缺点很容易发现,需要先 plot 图像的直方图,然后根据直方图的结果手动设置限制的高度范围。同时截取高度再重新分配的操作增加了复杂度。因此,后面提出的 BHEPL 方法会改进这些缺点。

    1.2K30

    图像直方图与直方图均衡化

    很多数码相机提供图像直方图功能,拍摄者可以通过观察图像直方图了解到当前图像是否过分曝光或者曝光不足。 计算机视觉领域常借助图像直方图来实现图像的二值化. 图像直方图 1....直方图均衡化 直方图均衡化(histogram equalization)是一种借助直方图变换实现灰度映射从而达到图像增强目的的方法。...直方图均衡化通常是对图像灰度值进行归一化的一个非常好的方法,并且可以增强图像的对比度。...基本思想:把原始图的直方图变换成为均匀分布的形式,这样,就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。 ? 直方图均衡化算法.png ?...直方图均衡化则用于增强图片,利于人的视觉效果或便于机器识别。 总结 CalcHistogram 和 EqualHist 是cv4j中直方图相关操作的类。

    1.6K30
    领券