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二维码生成库qrcode安装和使用示例
Dec 16 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
python实现自动登录
Sep 17 Python
python cv2截取不规则区域图片实例
Dec 21 Python
python单例设计模式实现解析
Jan 07 Python
使用pygame编写Flappy bird小游戏
Mar 14 Python
Python3实现飞机大战游戏
Apr 24 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
通过代码实例了解Python异常本质
Sep 16 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 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
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
js表单登陆验证示例
2016/10/19 Javascript
详解jQuery选择器
2016/12/21 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
Vue 中mixin 的用法详解
2018/04/23 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
python之array赋值技巧分享
2019/11/28 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
电信专业毕业生推荐信
2013/11/18 职场文书
招股说明书范本
2014/05/06 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
心理学培训心得体会
2016/01/22 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
Python学习开发之图形用户界面详解
2021/08/23 Python
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js