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实现身份证号码解析
Sep 01 Python
Python科学画图代码分享
Nov 29 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
有关Python的22个编程技巧
Aug 29 Python
使用python进行拆分大文件的方法
Dec 10 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
利用Python实现kNN算法的代码
Aug 16 Python
Django操作session 的方法
Mar 09 Python
Python类和实例的属性机制原理详解
Mar 21 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
php中定时计划任务的实现原理
2013/01/08 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
js用typeof方法判断undefined类型
2014/07/15 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
itchat接口使用示例
2017/10/23 Python
对Python中的@classmethod用法详解
2018/04/21 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
Python之字典对象的几种创建方法
2020/09/30 Python
Django中使用Celery的方法步骤
2020/12/07 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
如何提高SQL Server的安全性
2016/07/25 面试题
Python中如何定义一个函数
2016/09/06 面试题
环境工程大学生个人的自我评价
2013/10/08 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
素质教育标语
2014/06/27 职场文书
创先争优活动心得体会
2014/09/04 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
今日说法观后感
2015/06/08 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS