python 对一幅灰度图像进行直方图均衡化


Posted in Python onOctober 27, 2020
from PIL import Image
from pylab import *
from numpy import *


def histeq(im,nbr_bins = 256):
  """对一幅灰度图像进行直方图均衡化"""
  #计算图像的直方图
  #在numpy中,也提供了一个计算直方图的函数histogram(),第一个返回的是直方图的统计量,第二个为每个bins的中间值
  imhist,bins = histogram(im.flatten(),nbr_bins,normed= True)
  cdf = imhist.cumsum()  #
  cdf = 255.0 * cdf / cdf[-1]
  #使用累积分布函数的线性插值,计算新的像素值
  im2 = interp(im.flatten(),bins[:-1],cdf)
  return im2.reshape(im.shape),cdf


pil_im = Image.open('E:\Python\\fanwei.jpg')  #打开原图
pil_im_gray = pil_im.convert('L')   #转化为灰度图像
pil_im_gray.show()     #显示灰度图像

im = array(Image.open('E:\Python\\fanwei.jpg').convert('L'))
# figure()
# hist(im.flatten(),256)

im2,cdf = histeq(im)
# figure()
# hist(im2.flatten(),256)
# show()

im2 = Image.fromarray(uint8(im2))
im2.show()
# print(cdf)
# plot(cdf)
im2.save("junheng.jpg")

图1:原图的灰度图

python 对一幅灰度图像进行直方图均衡化

图2:进行直方图均衡化后的图像

python 对一幅灰度图像进行直方图均衡化

图3:原图灰度图的直方图

python 对一幅灰度图像进行直方图均衡化

图4:进行直方图均衡化后的直方图

python 对一幅灰度图像进行直方图均衡化

图5:灰度变换函数

python 对一幅灰度图像进行直方图均衡化

以上就是python 对一幅灰度图像进行直方图均衡化的详细内容,更多关于python 直方图均衡化的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python深入学习之对象的属性
Aug 31 Python
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
python网络编程之数据传输UDP实例分析
May 20 Python
Django发送html邮件的方法
May 26 Python
Python读写ini文件的方法
May 28 Python
Python实现的单向循环链表功能示例
Nov 10 Python
Python生成短uuid的方法实例详解
May 29 Python
python实现彩票系统
Jun 28 Python
python实现邮件发送功能
Aug 10 Python
Django 实现外键去除自动添加的后缀‘_id’
Nov 15 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 #Python
python 爬虫如何正确的使用cookie
Oct 27 #Python
python+requests实现接口测试的完整步骤
Oct 27 #Python
python设置中文界面实例方法
Oct 27 #Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 #Python
基于python实现坦克大战游戏
Oct 27 #Python
Django xadmin安装及使用详解
Oct 26 #Python
You might like
laravel框架的安装与路由实例分析
2019/10/11 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
Python类的动态修改的实例方法
2017/03/24 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
简单介绍python封装的基本知识
2019/08/10 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
县优秀教师事迹材料
2014/01/31 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
清扬洗发水广告词
2014/03/14 职场文书
共产党员公开承诺书
2014/03/25 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
五年级上册复习计划
2015/01/19 职场文书
介绍信格式
2015/01/30 职场文书
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL