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删除指定目录下过期文件的2个脚本分享
Apr 10 Python
详解Python编程中time模块的使用
Nov 20 Python
python从入门到精通(DAY 2)
Dec 20 Python
Python3 socket同步通信简单示例
Jun 07 Python
关于Python中浮点数精度处理的技巧总结
Aug 10 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
Python版名片管理系统
Nov 30 Python
使用python模拟命令行终端的示例
Aug 13 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
Python3 assert断言实现原理解析
Mar 02 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
Python requests模块安装及使用教程图解
Jun 30 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
模仿OSO的论坛(二)
2006/10/09 PHP
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
JavaScript this 深入理解
2009/07/30 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python常见数据类型转换操作示例
2019/05/08 Python
Python实现最常见加密方式详解
2019/07/13 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
SQL中where和having的区别
2012/06/17 面试题
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
顶岗实习接收函
2014/01/09 职场文书
公司司机岗位职责
2014/02/07 职场文书
校园文明标语
2014/06/13 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
大明湖导游词
2015/02/03 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏