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

图像处理中直方图匹配以及灰度拉伸

一、基本知识

图像对比度是指:一副图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比度越大;一般来说图像对比度越大,图像越清晰醒目,色彩也越鲜明艳丽;对比度小让整个画面都灰蒙蒙;

图像饱和度是指:图像的鲜艳程度,也是色彩的纯度。饱和度取决于图像中该色中含色成分和消色成分的比例;纯的颜色饱和度都大;

图像的亮度是指:图像的明暗程度;

直方图均衡化以及灰度拉伸都是属于图像对比度增强的方法;

二、灰度拉伸

灰度拉伸是通过对对比度拉伸达到对对比度进行增强的目的;

公式为:

三、直方图均衡化及直方图匹配:

首先直方图均衡化是采用累积函数的方式来实现的;至于为什么选用累积函数来实现均衡化在于

1. 像素不论怎么映射,一定要保证图像中原来的大小关系不变,较亮的区域依然较亮,较暗的区域依然较暗,只是对比度增加,不改变图像明暗特征;

2. 映射过去的函数不能越界;

而累积函数分布函数是单调增函数且值域在0到1符合条件;一副图像的灰度级可看成是区间[0,L-1]内的随机变量;

其中w是积分的假变量,公式右边是随机变量r的累积分布函数。在由莱布尼茨准则

可以转化为

对于离散的图像来说

四、一个例子来说明到底如何进行直方图匹配的过程:

假设一副图像的大小为64*64像素(M*N=4096)的3比特图像(L=2^3=8)的灰度分布表

则根据上表就可以算出S0~S7

就可以得到均衡化后的直方图

这样可以得到均衡化后的直方图只有5个不同的灰度及,r0被映射到了s0=1;r1被映射到了s1=3;r2被映射到了s2=5;r3、r4被映射到了S=6;r5 6 7都被映射到了S=7;如下图就是均衡后的直方图:

接下来我们看需要待直方图匹配;

我们先得到了S0=1;S1=3;S2=5;S3=6;S4=6;S5=7;S6=7;S7=7 。 接下来我们需要对规定直方图进行同样的均衡化;

通过计算的结果发现G函数并不是严格单调的,违反了条件的一一对应关系,所以找到Zq的最小值与SK最接近作为对应标准;例如S0=1;与G(Z3)=1就是完美匹配,因此S0对应Z3,也就是直方图均衡后的图像每个值为1的像素映射为直方图规定话后图像的值为3的像素;最后结果如下图:

以上例子节选来自《数字图像处理第三版》内容;

五、实际opencv例子结果

程序的源代码如下图所示:

测试原图为:

由于选取图像不是很特别,只是用来验算的。从结果上面来看整体目标是实现了,灰度拉伸只是线性的拉宽对比度,对图像的整体影响不大。而灰度直方图均衡化却对图像的整体效果有影响,对直方图的改变也比较大;

本文转自:博客园 - 鑫情91[https://www.cnblogs.com/zvmxvm1991/p/7977872.html]

转载此文目的在于传递更多信息,版权归原作者所有。

权威发布有关Imagination公司GPU、人工智能以及连接IP、无线IP最新资讯,提供有关物联网、可穿戴、通信、汽车电子、医疗电子等应用信息,每日更新大量信息,让你紧跟技术发展,欢迎关注!伸出小手按一下二维码我们就是好朋友!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181119B0GMIE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券