图像直方图均衡化算法 python实现
一. 直方图均衡化:
直方图均衡化是使图像直方图变得平坦的操作。直方图均衡化能够有效地解决图像整体过暗、过亮的问题,增加图像的清晰度。
具体流程如下所示。其中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实现相关推荐
- Python实现图像直方图均衡化算法
title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...
- python直方图均衡_Python实现图像直方图均衡化算法
效果图 代码 #!/usr/bin/env python3 # coding=utf-8 import matplotlib.image as mpimg from matplotlib import ...
- Python OpenCV学习笔记之:图像直方图均衡化
# -*- coding: utf-8 -*- """ 图像直方图均衡化 """ import cv2 import numpy as np ...
- 数字图像处理之直方图均衡化(python)
1.概念 直方图均衡化 主要用于增强动态范围偏小的图像的反差. 直方图均衡化借助灰度统计直方图和灰度累积直方图来进行.灰度统计直方图反映了图像中不同灰度级的像素的个数:灰度累积直方图 反 ...
- 直方图均衡化算法原理详解
算法 经典算法 下面以一幅3*2像素的简单图片(图C)为例,来说明灰度直方图均衡化的算法. (图C) 图C的直方图: 注意看百分位(Percentile)这一项.一般软件的百分位是 当前色阶的像素数量 ...
- 红外图像直方图均衡化算法理解
1.红外图像直方图均衡化背景与目的 红外相机探测器的输出模式有模拟量和数字量,模拟量输出的需要用ADC转换,因而红外相机输出的数据位数一般都在12位到16位,对应的灰度级基本在2^12~2^16级而人 ...
- 直方图均衡化算法原理及bins的理解
原理部分转载于:直方图均衡化算法原理与实现 bin的理解和直观展示见 part2 part1 直方图均衡化算法原理 我们知道提高图像对比度的变换函数f(x)需要满足以下条件: f(x)在0<=x ...
- 限制对比度自适应直方图均衡化算法原理、实现及效果
一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算 ...
- 一些常用的直方图均衡化算法
直方图均衡化(HE) 直方图均衡化是常用的图像增强的方法.通过一种映射改变图像中的灰度值,增加图像灰度值的动态范围从而增加图像的对比度.过度曝光的图像中的灰度值主要集中在高亮度的范围内,而曝光不足的图 ...
最新文章
- 如何订阅Form的自定义事件
- python异步IO
- 文件包含(include require)
- pythonhash加密_Python字符串hashlib加密模块使用案例
- linux终端运行w3m,linux shell浏览器,终端浏览器w3m参考参数
- (转)ASP.NET 3.5 企业级开发
- Javascript php 异常捕获
- ShopNc实例化对象
- 最新MATLAB超详细安装教程(附完整文件)
- linux下运行exe程序之wine的使用与安装
- 15693协议命令格式汇总
- 个人和企业都免费的office办公软件
- 『词向量』用Word2Vec训练中文词向量(一)—— 采用搜狗新闻数据集
- 基于.Net Core3.1 与signalR实现一个即时通讯工具(一)
- Ethereum ETH的奖励机制
- plsql developer连接数据库超时,Ping 服务器ip提示“TTL传输中过期”
- Arduino ADC+B10K电位器
- Win7系统如何用记事本打开文件?
- oracle数据库硬恢复,oracle数据库恢复
- 300iq Contest 3简要题解
热门文章
- python代码写好了怎么运行-python的代码写在哪里,怎么样运行python代码
- Android基于讯飞语音SDK实现语音识别
- 10 个 PHP 常见安全问题(实例讲解)
- 【动态规划】完全背包:存钱罐(恰好装满)
- python怎么存为动图_Python将视频或者动态图gif逐帧保存为图片的方法
- 拉普拉斯二阶锐化matlab,laplace(拉普拉斯)锐化matlab程序
- 【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码
- 蚂蚁森林用户须知_公益传播视角下“蚂蚁森林”的用户使用行为研究
- mysql sql优化_Mysql的SQL优化指北
- 电脑换ip软件_如何使用爱加速换iP软件