图像直方图均衡方法(python和matlab实现代码)

        最近在学习图像对比度增强,其中一个基本的方法就是图像均衡化,了解并按照大佬的例子写了下自己的彩色图像的均衡化代码,于是记录下学习的结果.

图像直方图均衡化的介绍

        直方图均衡化是一种简单有效的图像增强技术,通过改变图像的直方图的分布来改变图像中各像素的灰度,主要用于增强动态范围偏小的图像的对比度。原始图像由于其灰度分布可能集中在较窄的区间,造成图像不够清晰。例如,过曝光图像的灰度级集中在高亮度范围内,而曝光不足将使图像灰度级集中在低亮度范围内。采用直方图均衡化,可以把原始图像的直方图变换为均匀分布(均衡)的形式,这样就增加了像素之间灰度值差别的动态范围,从而达到增强图像整体对比度的效果。换言之,直方图均衡化的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并,从而增大对比度,使图像清晰,达到增强的目的。

更详细的介绍可见:(26条消息) 【图像处理算法】直方图均衡化_桂哥317的博客-CSDN博客_直方图均衡化

 图像直方图均衡化方法流程:

1.统计出图像的直方图.

2.计算出各个灰度值像素的概率hist[i](i=1:256),每个灰度值的个数除以所有像素点的个数,即归一化 .

3.计算sumhist[i](i=1:256),sumhist[i]为前i个灰度值的分布概率hist[i]的总和.

例: sumhist[4] = hist[1] + hist[2] + hist[3] + hist[4] 

4.将sumhist乘上灰度级(通常为255),再四舍五入

5.将原图像各个灰度值转换成sumhist[i]创建出新图像.

Python图像均衡化代码

import matplotlib.pyplot as plt
import 
  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值