python图片灰度化处理的几种方法


Posted in Python onJune 23, 2021

今天在学习的时候,发现scipy.misc中的imread提取图片的方法被弃用了。太生气了!

只好使用了matplotlib.pyplot中的imread了,可是当我发现他不能直接通过True来提取灰度图片时,我崩溃了

上网查了一下,了解了灰度化处理的几种方法:

首先先解释一下,彩色图片一般是由RGB组成,其实就是3个二维数组叠加而成。我们也就能看到一些彩色图片了。当R=G=B时,彩色图片就会变成一种灰度颜色,就是我们俗称的“黑白照片”。所以灰度颜色的图片其实就是一个二维数组。
灰度化处理总共有三种方法:最大值法、平均值法、加权平均法。
从字面意思我们也能看出,前两种的意思。但第三种中的加权平均中的权值从何而来?
它是一个固定值,分别是R:0.299、G:0.587、B:0.114。因为人眼对绿色的敏感度更高,对红色次之,蓝色最低,因此使用不能的权值可以得到更合理的灰度图像,所以经过多次的实验才推导出该数值。

首先康康原图

original = plt.imread('C:\\Users\\11140\\Pictures\\Saved Pictures\\abc.jpg')
print(original.shape)
# (640, 640, 3)
plt.imshow(original)
plt.show()

python图片灰度化处理的几种方法

最大值法:

original = original.max(axis=2)
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

python图片灰度化处理的几种方法

平均值法:

original = original.mean(axis=2)
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

python图片灰度化处理的几种方法

加权平均法

original = np.dot(original,[0.299,0.587,0.114])
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

python图片灰度化处理的几种方法

这样看起来,第一张和第二张有很大的差别。第三张相比第二张,好像确实第三张看起来更舒服一点

到此这篇关于python图片灰度化处理的几种方法的文章就介绍到这了,更多相关python图片灰度化内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
Python实现的txt文件去重功能示例
Jul 07 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
pyinstaller还原python代码过程图解
Jan 08 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
Python实现画图软件功能方法详解
Jul 28 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python 同时读取多个文件的例子
2019/07/16 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
大学生村官事迹材料
2014/01/21 职场文书
新任教师自我鉴定
2014/02/24 职场文书
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
开学典礼策划方案
2014/05/28 职场文书
法制宣传口号
2014/06/16 职场文书
二手房购房协议书范本
2014/10/05 职场文书
三好学生评语大全
2014/12/29 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
国庆阅兵观后感
2015/06/15 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
Python 内置函数速查表一览
2021/06/02 Python