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实现每次处理一个字符的三种方法
Oct 09 Python
Python中的高级数据结构详解
Mar 27 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 Python
python方向键控制上下左右代码
Jan 20 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
django 删除数据库表后重新同步的方法
May 27 Python
python做反被爬保护的方法
Jul 01 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 Python
通过实例解析python创建进程常用方法
Jun 19 Python
python中sys模块的介绍与实例
Apr 17 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
PHP与javascript的两种交互方式
2006/10/09 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
python中self原理实例分析
2015/04/30 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Python科学计算之Pandas详解
2017/01/15 Python
对python中的pop函数和append函数详解
2018/05/04 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Python timeit模块原理及使用方法
2020/10/10 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
技校学生个人职业生涯规划范文
2014/03/03 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
西安导游词
2015/02/12 职场文书