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使用psutil模块获取系统状态
Aug 27 Python
利用python发送和接收邮件
Sep 27 Python
Python中取整的几种方法小结
Jan 06 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python 加密与解密小结
Dec 06 Python
Python参数类型以及常见的坑详解
Jul 08 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python内置函数sorted()用法深入分析
Oct 08 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
PHP实现微信退款功能
2018/10/02 PHP
js css后面所带参数含义介绍
2013/08/18 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
Javascript中的prototype与继承
2017/02/06 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
javascript的this关键字详解
2019/05/20 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
初步讲解Python中的元组概念
2015/05/21 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
Python Process多进程实现过程
2019/10/22 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
Python编写万花尺图案实例
2021/01/03 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
社区学习雷锋活动总结
2014/04/25 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
2014年学校工作总结
2014/11/20 职场文书
2014年工程工作总结
2014/11/25 职场文书
教师思想工作总结2015
2015/05/13 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书