Python实现图像直方图均衡化算法
title: "Python实现图像直方图均衡化算法"
date: 2018-06-12T17:10:48+08:00
tags: [""]
categories: ["python"]
效果图
代码
#!/usr/bin/env python3
# coding=utf-8import matplotlib.image as mpimg
from matplotlib import pyplot as plt
import sys
import numpy as npdef equalization(gray_value):"""传入灰度值,对灰度值做均衡化,不需要返回,直接修改传入的参数:param gray_value:"""# 统计灰度直方图gray = np.zeros(256)row, column = gray_value.shapefor i in range(row):for j in range(column):gray[gray_value[i][j]] += 1# 计算灰度占比gray /= (row * column)# 显示灰度直方图plt.subplot(2, 2, 2)plt.plot(gray)cumsum = np.cumsum(gray) # 计算累积和# 均衡化# equa_t[i]=j表示原灰度值i经过均衡化后转化为灰度值j# 255×累积和四舍五入为int型equa_t = np.array((255 * cumsum + 0.5)).astype(np.int32)# 统计均衡化后的灰度数量equa_gray = np.zeros(256)for i in range(256):equa_gray[equa_t[i]] += gray[i]# 显示均衡化后的直方图plt.subplot(2, 2, 4)plt.plot(equa_gray)# 对原灰度矩阵做均衡化for i in range(row):for j in range(column):gray_value[i][j] = equa_t[gray_value[i][j]]def run(img_path):img_array = mpimg.imread(img_path)plt.subplot(2, 2, 1)plt.imshow(img_array)img_array *= 255img_array = img_array.astype(np.int32)equalization(img_array[:, :, 0])equalization(img_array[:, :, 1])equalization(img_array[:, :, 2])img_array = img_array.astype(np.float64)img_array /= 255plt.subplot(2, 2, 3)plt.imshow(img_array)if __name__ == "__main__":if sys.argv.__len__() <= 1:png = input("请输入要处理的图片名:\n")else:png = sys.argv[1]run(png)plt.show()
转载于:https://www.cnblogs.com/lepeCoder/p/9174154.html
Python实现图像直方图均衡化算法相关推荐
- 图像直方图均衡化算法 python实现
一. 直方图均衡化: 直方图均衡化是使图像直方图变得平坦的操作.直方图均衡化能够有效地解决图像整体过暗.过亮的问题,增加图像的清晰度. 具体流程如下所示.其中S是总的像素数,Zmax是像素的最大取值( ...
- python直方图均衡_Python实现图像直方图均衡化算法
效果图 代码 #!/usr/bin/env python3 # coding=utf-8 import matplotlib.image as mpimg from matplotlib import ...
- Python,OpenCV直方图均衡化以提高图像对比度
Python,OpenCV直方图均衡化以提高图像对比度 1. 效果图 2. 原理 2.1 直方图均衡化应用 2.2 直方图均衡化分类 3. 源代码 参考 这篇博客将介绍直方图均衡化(全局 & ...
- Python OpenCV学习笔记之:图像直方图均衡化
# -*- coding: utf-8 -*- """ 图像直方图均衡化 """ import cv2 import numpy as np ...
- 不调用python函数实现直方图均衡化_直方图均衡化(HE)
前面我们已经讲过图像的直方图,那图像的直方图均衡化又是干嘛的呢? 顾名思义:其实对直方图进行均衡化,哈哈感觉自己说的就是废话... 举个例子: import cv2 from matplotlib i ...
- Python+OpenCV:直方图均衡化(Histogram Equalization)
Python+OpenCV:直方图均衡化(Histogram Equalization) ####################################################### ...
- Python实现图像直方图规定化(直方图匹配)-附完整代码
以下内容需要直方图均衡化.规定化知识 均衡化:https://blog.csdn.net/macunshi/article/details/79815870 规定化:https://blog.csdn ...
- 直方图均衡化算法原理详解
算法 经典算法 下面以一幅3*2像素的简单图片(图C)为例,来说明灰度直方图均衡化的算法. (图C) 图C的直方图: 注意看百分位(Percentile)这一项.一般软件的百分位是 当前色阶的像素数量 ...
- 红外图像直方图均衡化算法理解
1.红外图像直方图均衡化背景与目的 红外相机探测器的输出模式有模拟量和数字量,模拟量输出的需要用ADC转换,因而红外相机输出的数据位数一般都在12位到16位,对应的灰度级基本在2^12~2^16级而人 ...
最新文章
- 分布式关系数据库在金融行业的创新实践
- Python爬虫入门并不难,就看你如何选择?
- 54include对象
- python使用virtualenv在本地新建虚拟环境
- 该如何清理手机的垃圾?
- macOS Big Sur无法识别USB外置驱动器怎么办
- UVa 674 - Coin Change
- 移动端 重定向 https 请求
- ai人工智能使用的软件_MachineRay:使用AI创造抽象艺术
- 十二个常见的Web安全漏洞总结及防范措施
- IT外包项目质量把控
- 如何在CAD中进行批量展点(平面和三维)
- 华为OD机试真题 Python 实现【模拟商场优惠打折II】【2023 Q1 | 100分】
- 都柏林大学圣三一学院计算机,2021年都柏林大学圣三一学院什么专业好?这些专业你选对了吗?...
- 太阳能热水器两芯液位温度检测
- c语言写台球游戏,OpenGL版 3D台球 (原创,Basic实现) 申精!
- 传智健康2.0-6-移动端开发-体检预约
- c语言自定义关键词,C语言关键字详解
- php案例:创建日期时间目录
- 曾航:2014年移动互联网流量趋势
热门文章
- js创建对象之原型模式2原型与in操作符
- IOS数据存储 —— 1 沙盒(数据存储目录)
- iPhone ARC 宏定义
- ICCV2021 | 南洋理工大学、港中大提出Talk-to-Edit,对话实现高细粒度人脸编辑
- 滴滴图像技术团队招聘计算机视觉工程师和专家
- OpenVINO+OpenCV 文本检测与识别
- 尺度不变网络提升人群计数性能(附Github地址)
- ECCV18|人脸对齐与跟踪如何克服遮挡、姿态变化带来的特征点跳变?
- spark写入oracle 优化,spark读写数据库大表分区性能优化
- python的课程ppt_第4课 初识Python复习课程.ppt