from PIL import Imagefrom pylab import *import copy# 读取图像到数组中
im = array(Image.open(r"E:\data\yangben\653.jpg"))#获取通道
r = im[:,:,0]
g = im[:,:,1]
b = im[:,:,2]
#显示各个通道原始直方图,均值化之后的直方图以及累计分布函数
figure()
#计算各通道直方图
imhist_r,bins_r = histogram(r,256,normed=True)
imhist_g,bins_g = histogram(g,256,normed=True)
imhist_b,bins_b = histogram(b,256,normed=True)subplot(331)
hist(r.flatten(),256)
subplot(332)
hist(g.flatten(),256)
subplot(333)
hist(b.flatten(),256)#各通道累积分布函数
cdf_r = imhist_r.cumsum()
cdf_g = imhist_g.cumsum()
cdf_b = imhist_b.cumsum()#累计函数归一化(由0~1变换至0~255)
cdf_r = cdf_r*255/cdf_r[-1]
cdf_g = cdf_g*255/cdf_g[-1]
cdf_b = cdf_b*255/cdf_b[-1]
#绘制累计分布函数

subplot(334)
plot(bins_r[:256],cdf_r)
subplot(335)
plot(bins_g[:256],cdf_g)
subplot(336)
plot(bins_b[:256],cdf_b)#绘制直方图均衡化之后的直方图

im_r = interp(r.flatten(),bins_r[:256],cdf_r)
im_g = interp(g.flatten(),bins_g[:256],cdf_g)
im_b = interp(b.flatten(),bins_b[:256],cdf_b)# 显示直方图图像
subplot(337)
hist(im_r,256)
subplot(338)
hist(im_g,256)
subplot(339)
hist(im_b,256)
#显示原始通道图与均衡化之后的通道图
figure()
gray()#原始通道图
im_r_s = r.reshape([im.shape[0],im.shape[1]])
im_g_s = g.reshape([im.shape[0],im.shape[1]])
im_b_s = b.reshape([im.shape[0],im.shape[1]])#均衡化之后的通道图
im_r = im_r.reshape([im.shape[0],im.shape[1]])
im_g = im_g.reshape([im.shape[0],im.shape[1]])
im_b = im_b.reshape([im.shape[0],im.shape[1]])subplot(231)
imshow(im_r_s)subplot(232)imshow(im_g_s)subplot(233)imshow(im_b_s)subplot(234)imshow(im_r)subplot(235)imshow(im_g)subplot(236)imshow(im_b)#显示原始图像与均衡化之后的图像
figure()#均衡化之后的图像
im_p = copy.deepcopy(im)im_p[:,:,0] = im_rim_p[:,:,1] = im_gim_p[:,:,2] = im_bsubplot(121)imshow(im)subplot(122)imshow(im_p)show()

python直方图均衡化相关推荐

  1. python opencv 直方图均衡_深入理解OpenCV+Python直方图均衡化

    原标题:深入理解OpenCV+Python直方图均衡化 正文 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法. 基本思想:把原始图的直方图变换为均匀分 布的形式,这样就增加了像素灰度 ...

  2. python直方图均衡化代码_基于matlab的直方图均衡化代码

    基于matlab的直方图均衡化代码 2007-04-15 20:15 clear all %一,图像的预处理,读入彩***像将其灰度化 PS=imread('1.jpg');             ...

  3. python 直方图均衡化

    目录 图像的直方图是什么¶ 直方图均衡化是什么¶ 直方图均衡化是怎样做到的¶ 实现过程可视化分析 图像的直方图是什么¶ 直方图是图像中像素强度分布的图形表达方式. 它统计了每一个强度值所具有的像素个数 ...

  4. python统计图像灰度直方图_python 对一幅灰度图像进行直方图均衡化

    from PIL import Image from pylab import * from numpy import * def histeq(im,nbr_bins = 256): "& ...

  5. python图像直方图与直方图均衡化

    图像直方图以及灰度与彩色图像的直方图均衡化 图像直方图: 图像的直方图用来表征该图像像素值的分布情况.用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目 ...

  6. python用numpy和pil处理图像成灰度图_「火炉炼AI」机器学习047-图像的直方图均衡化操作...

    [火炉炼AI]机器学习047-图像的直方图均衡化操作 [火炉炼AI]机器学习047-图像的直方图均衡化操作 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, sc ...

  7. python高通滤波器设计_python实现直方图均衡化,理想高通滤波与高斯低通滤波

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验二,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验二. 由于时间紧张,代码没有进行任何优化, ...

  8. [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  9. 【图像处理】——图像增强Python实现直方图均衡化

    目录 一.相关概念 1.灰度直方图概念(hist) 2.灰度概率累积函数(cdf) 3.灰度直方图均衡化(equalizehist) 4.均衡化适用范围 二.均衡化的目的以及求解步骤 1.目的 2.求 ...

最新文章

  1. Lucene4 入门(2)–Field类及辅助类说明
  2. Techshack Weekly 第 0002 期
  3. 荣耀3OS怎么升级鸿蒙系统,华为鸿蒙OS正式发布!教你如何升级
  4. 安装pr_PR 一键转场插件 安装教程
  5. 前端基础-CSS的各种选择器的特点以及CSS的三大特性
  6. intern10天想到的——如何做小任务
  7. 【工程项目经验】Bash On Windows(WSL)无法运行32Bit程序
  8. count(1)与count(id)与count(*)效率,以及覆盖索引,索引下推
  9. ITEXT7 实现 PDF文档的合并与拆分
  10. 【线性规划】投资的收益和风险
  11. 绩效考核管理中的模型分析与功能设计
  12. 国内测试看Netflix
  13. Android获内外网IP地址工具类(Json解析读取)
  14. 怎样装系统(附图文教程)
  15. Polaris Office for Mac(经典办公套件)
  16. 研究:骇客又在合法的苹果Xcode专案上植入恶意程式
  17. 计算机考研数学书,计算机考研参考书(专业课、数学、英语)
  18. 使用 Siri 拨打电话并使用电话功能的技巧
  19. 区块链女侠杨霞:为区块链代码提供军事级的安全检测丨蚂蚁区块链大赛成都站火热报名...
  20. 电子商务系统设计经验分享

热门文章

  1. golang中base64编码_MySQL中如何将字符串转为base64编码?
  2. Ubuntu下安装中文输入法(本文安装的搜狗输入法)
  3. c语言if判断正确却不进函数,C语言初学者,为什么满足if条件却不进入,求大老解惑...
  4. 微信朋友圈装x代码_NBA总决赛朋友圈装X图鉴:直男之间有真正的友谊吗?
  5. java 泛型 恶心_Java的泛型原来这样让人不舒服
  6. ajax post对象参数,ajax用post方法传递参数
  7. Keycloak Spring Security适配器的常用配置
  8. 拼多多面试真题:如何用 Redis 统计独立用户访问量!
  9. 皮一皮:当你在上海地铁里被夹住后...
  10. Spring Boot 2.x基础教程:使用集中式缓存Redis