一. 直方图均衡化:

直方图均衡化是使图像直方图变得平坦的操作。直方图均衡化能够有效地解决图像整体过暗、过亮的问题,增加图像的清晰度。

具体流程如下所示。其中S是总的像素数,Zmax是像素的最大取值(8位灰度图像为255),h(i)为图像像素取值为 i 及 小于 i 的像素的总数。

直方图均衡化算法 ↑


二. python实现直方图均衡化操作

import cv2
import numpy as np
import matplotlib.pyplot as plt# histogram equalization
def hist_equal(img, z_max=255):H, W = img.shape# S is the total of pixelsS = H * W  * 1.out = img.copy()sum_h = 0.for i in range(1, 255):ind = np.where(img == i)sum_h += len(img[ind])z_prime = z_max / S * sum_hout[ind] = z_primeout = out.astype(np.uint8)return out# Read image
img = cv2.imread("../head_g_n.jpg",0).astype(np.float)# histogram normalization
out = hist_equal(img)# Display histogram
plt.hist(out.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.savefig("out_his.png")
plt.show()# Save result
cv2.imshow("result", out)
cv2.imwrite("out.jpg", out)
cv2.waitKey(0)
cv2.destroyAllWindows()

三. 实验结果:

原图 ↑

原图的像素分布直方图 ↑

直方图均衡化后图像 ↑

均衡化后图像的直方图 ↑

可以看到,直方图均衡化后的图像看起来比原来的图像更加清晰。对于图像亮度整体偏暗或者偏亮的图像,我们可以采用直方图均衡化的方法处理图像,使得它们看上去更加清晰。


四. matlab 实现图像直方图均衡化:

可以参考一篇优秀的博文:        https://blog.csdn.net/Ibelievesunshine/article/details/79961027


五. 参考内容:

        https://www.cnblogs.com/wojianxin/p/12510797.html

https://www.jianshu.com/p/792b0ae5ba6d

图像直方图均衡化算法 python实现相关推荐

  1. Python实现图像直方图均衡化算法

    title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...

  2. python直方图均衡_Python实现图像直方图均衡化算法

    效果图 代码 #!/usr/bin/env python3 # coding=utf-8 import matplotlib.image as mpimg from matplotlib import ...

  3. Python OpenCV学习笔记之:图像直方图均衡化

    # -*- coding: utf-8 -*- """ 图像直方图均衡化 """ import cv2 import numpy as np ...

  4. 数字图像处理之直方图均衡化(python)

    1.概念        直方图均衡化 主要用于增强动态范围偏小的图像的反差. 直方图均衡化借助灰度统计直方图和灰度累积直方图来进行.灰度统计直方图反映了图像中不同灰度级的像素的个数:灰度累积直方图 反 ...

  5. 直方图均衡化算法原理详解

    算法 经典算法 下面以一幅3*2像素的简单图片(图C)为例,来说明灰度直方图均衡化的算法. (图C) 图C的直方图: 注意看百分位(Percentile)这一项.一般软件的百分位是 当前色阶的像素数量 ...

  6. 红外图像直方图均衡化算法理解

    1.红外图像直方图均衡化背景与目的 红外相机探测器的输出模式有模拟量和数字量,模拟量输出的需要用ADC转换,因而红外相机输出的数据位数一般都在12位到16位,对应的灰度级基本在2^12~2^16级而人 ...

  7. 直方图均衡化算法原理及bins的理解

    原理部分转载于:直方图均衡化算法原理与实现 bin的理解和直观展示见 part2 part1 直方图均衡化算法原理 我们知道提高图像对比度的变换函数f(x)需要满足以下条件: f(x)在0<=x ...

  8. 限制对比度自适应直方图均衡化算法原理、实现及效果

    一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算 ...

  9. 一些常用的直方图均衡化算法

    直方图均衡化(HE) 直方图均衡化是常用的图像增强的方法.通过一种映射改变图像中的灰度值,增加图像灰度值的动态范围从而增加图像的对比度.过度曝光的图像中的灰度值主要集中在高亮度的范围内,而曝光不足的图 ...

最新文章

  1. 如何订阅Form的自定义事件
  2. python异步IO
  3. 文件包含(include require)
  4. pythonhash加密_Python字符串hashlib加密模块使用案例
  5. linux终端运行w3m,linux shell浏览器,终端浏览器w3m参考参数
  6. (转)ASP.NET 3.5 企业级开发
  7. Javascript php 异常捕获
  8. ShopNc实例化对象
  9. 最新MATLAB超详细安装教程(附完整文件)
  10. linux下运行exe程序之wine的使用与安装
  11. 15693协议命令格式汇总
  12. 个人和企业都免费的office办公软件
  13. 『词向量』用Word2Vec训练中文词向量(一)—— 采用搜狗新闻数据集
  14. 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
  15. Ethereum ETH的奖励机制
  16. plsql developer连接数据库超时,Ping 服务器ip提示“TTL传输中过期”
  17. Arduino ADC+B10K电位器
  18. Win7系统如何用记事本打开文件?
  19. oracle数据库硬恢复,oracle数据库恢复
  20. 300iq Contest 3简要题解

热门文章

  1. python代码写好了怎么运行-python的代码写在哪里,怎么样运行python代码
  2. Android基于讯飞语音SDK实现语音识别
  3. 10 个 PHP 常见安全问题(实例讲解)
  4. 【动态规划】完全背包:存钱罐(恰好装满)
  5. python怎么存为动图_Python将视频或者动态图gif逐帧保存为图片的方法
  6. 拉普拉斯二阶锐化matlab,laplace(拉普拉斯)锐化matlab程序
  7. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码
  8. 蚂蚁森林用户须知_公益传播视角下“蚂蚁森林”的用户使用行为研究
  9. mysql sql优化_Mysql的SQL优化指北
  10. 电脑换ip软件_如何使用爱加速换iP软件