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操作SQLite简明教程
Jul 10 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
python实现nao机器人手臂动作控制
Apr 29 Python
python 梯度法求解函数极值的实例
Jul 10 Python
python 中不同包 类 方法 之间的调用详解
Mar 09 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
Python装饰器的应用场景代码总结
Apr 10 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 Python
字典算法实现及操作 --python(实用)
Mar 31 Python
Python基础之进程详解
May 21 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php事务处理实例详解
2014/07/11 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
js数组的基本使用总结
2021/01/18 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
Python实现简单的2048小游戏
2021/03/01 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
李宁官方网店:中国运动品牌
2017/11/02 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
南京软件公司的.net程序员笔试题
2014/08/31 面试题
网络工程师个人的自我评价范文
2013/10/01 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
实习生岗位职责
2014/04/12 职场文书
服务标兵事迹材料
2014/05/04 职场文书
检讨书范文500字
2015/01/28 职场文书
武夷山导游词
2015/02/03 职场文书