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 相关文章推荐
详解Django中Request对象的相关用法
Jul 17 Python
Python中的字符串查找操作方法总结
Jun 27 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
Python实现给PDF添加水印的方法
Jan 25 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
基于Python实现对比Exce的工具
Apr 07 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
php实现httpclient类示例
2014/04/08 PHP
深入理解PHP 数组之count 函数
2016/06/13 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP7 windows支持
2021/03/09 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
javascript中length属性的探索
2011/07/31 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
Python版的文曲星猜数字游戏代码
2013/09/02 Python
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Python之变量类型和if判断方式
2020/05/05 Python
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
《颐和园》教学反思
2014/02/26 职场文书
公证委托书模板
2014/04/03 职场文书
英文求职信范文
2014/05/23 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
承诺书范本
2015/01/21 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
2015年调度员工作总结
2015/04/30 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python