提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen
CV小白从0开始学数字图像处理

23 直方图均衡化( Histogram Equalization )

直方图均衡化是使直方图变得平坦的操作,是不需要计算的平均值、标准差等数据使直方图的值变得均衡的操作。

均衡化操作由以下式子定义。S是总的像素数;Zmax是像素点的最大取值(在这里是 255);h(z)表示取值为z的累积分布函数:

Z' = Zmax / S * Sum{i=0:z} h(z)

代码如下:

1.引入库

CV2计算机视觉库

import cv2
import numpy as np
import matplotlib.pyplot as plt

2.读入数据

img = cv2.imread("imori.jpg").astype(np.float)
H, W, C = img.shape

3.直方图均衡化( Histogram Equalization )

S = H * W * C * 1.out = img.copy()sum_h = 0.
z_max = 255.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)

4.直方图展示

plt.hist(out.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.savefig("out_his.png")
plt.show()

5.保存结果

cv2.imshow("result", out)
cv2.waitKey(0)
cv2.imwrite("out.jpg", out)

6.结果

数字图像处理100问—23 直方图均衡化( Histogram Equalization )相关推荐

  1. Python+OpenCV:直方图均衡化(Histogram Equalization)

    Python+OpenCV:直方图均衡化(Histogram Equalization) ####################################################### ...

  2. 使用 matlab 数字图像处理(二)—— 直方图均衡化(极简实现)

    直方图均衡化(Histogram Equalization)是一种实用性极高的直方图修正技术. 直方图均衡化又称为灰度均衡化,是指通过某种灰度映射使输入图像转换为在每一灰度级上都有近似相同的像素点数的 ...

  3. 数字图像处理100问—43 Canny 边缘检测:第三步——滞后阈值

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 43 Canny 边缘检测:第三步--滞后阈值 在这 ...

  4. 数字图像处理100问—40 JPEG 压缩——第四步:YCbCr+离散余弦变换+量化

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 40 JPEG 压缩--第四步:YCbCr+离散余弦 ...

  5. 数字图像处理100问—03二值化(Thresholding)

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 03二值化(Thresholding) 把图像进行二 ...

  6. 数字图像处理100问—33 傅立叶变换——低通滤波

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 33 傅立叶变换--低通滤波 将imori.jpg灰 ...

  7. 数字图像处理100问—02灰度化(Grayscale)

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 02灰度化(Grayscale) 将图像灰度化,通过 ...

  8. 数字图像处理100问—18 Emboss 滤波器

    提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen CV小白从0开始学数字图像处理 18 Emboss 滤波器 Emboss 滤波器可以 ...

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

    图像灰度直方图 灰度直方图是图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率.直方图显示图像数据时会以左暗右亮的分布曲线形式呈现出来.横坐标是灰度级,纵坐标是该灰度级出现的频率.图 ...

最新文章

  1. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
  2. 编程语言可分为三大类
  3. 小米6 twrp_小米6刷上统信 UOS 国产系统,操作流畅但安装需谨慎!
  4. OpenGL之深入解析纹理的渲染使用
  5. 【ZJOF】用来个栈来实现一个队列
  6. 谷歌提议更改Istio指导委员会
  7. FlowDocumentPageViewer
  8. 中国政法大学政治与公共管理学院丛日云教授在毕业典礼上的演讲在网络上暴红,
  9. 【前端】JavaScript详细教程(二)
  10. 初学SQL Server 2016
  11. pgadmin3连接mysql_如何使用pgAdmin3连接到Ubuntu上的远程PostgreSQL数据库?
  12. CSS 3 颜色属性
  13. 在虚拟机里通过U盘引导安装Win10教程
  14. 常见的磁盘格式以及它们之间的区别
  15. 用python写一个NC(八)
  16. 爱伦·坡:写作的哲学
  17. <转载>项目工程中的WebRoot与WebContent有什么区别?
  18. 经典sql基本语句大全
  19. 字节和unicode
  20. micropython 蓝牙音箱_Arduino从入门到创客带师(-1)—Hello World!

热门文章

  1. 奇迹MU开服教程篇-单机版
  2. 预充电电路工作原理_研究电动汽车预充电过程
  3. CVE-2022-0543:redis lua沙盒绕过命令执行漏洞复现
  4. 【个人心历】说说IT应届毕业生的那些事儿
  5. 基于物联网的智能垃圾桶设计
  6. fft重叠帧_PD雷达谱分析中的帧重叠ZoomFFT优化设计
  7. 船只目标ISAR回波函数matlab,FMCW-ISAR对舰船目标成像脉内补偿方法研究
  8. 长沙医学院英语四级计算机,2018年6月长沙医学院英语四六级考试报名工作的通知...
  9. 3D加速度传感器计算角度
  10. 互联网盈利模式主要只有三种