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下singleton模式的实现方法
Jul 16 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
Python之list对应元素求和的方法
Jun 28 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
Python求解排列中的逆序数个数实例
May 03 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
Python编程中Python与GIL互斥锁关系作用分析
Sep 15 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
PHP的开发框架的现状和展望
2007/03/16 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
详解AngularJS控制器的使用
2016/03/09 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
Python作用域用法实例详解
2016/03/15 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
大学生的应聘自我评价
2013/12/13 职场文书
四风存在的原因分析
2014/02/11 职场文书
检举信的格式及范文
2014/04/04 职场文书
政治学求职信
2014/06/03 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
无罪辩护词范文
2015/05/21 职场文书
公司年会主持词范文!
2019/05/07 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers