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构造函数及解构函数介绍
Feb 26 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python绘制彩虹图
Dec 16 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
python算的上脚本语言吗
Jun 22 Python
如何查看python关键字
Jan 17 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 Python
Python Pandas 删除列操作
Mar 16 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
JS 字符串连接[性能比较]
2009/05/10 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
javascript的this关键字详解
2019/05/20 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
美国社交购物市场:MassGenie
2019/02/18 全球购物
村干部培训班主持词
2014/03/28 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
公积金具结保证书
2015/05/11 职场文书
2015年教务工作总结
2015/05/23 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
总结python多进程multiprocessing的相关知识
2021/06/29 Python
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
Go gorilla/sessions库安装使用
2022/08/14 Golang