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实现进程间通信简单实例
Jul 23 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 Python
Python找出9个连续的空闲端口
Feb 01 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
python调用摄像头显示图像的实例
Aug 03 Python
Python基于mysql实现学生管理系统
Feb 21 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
解决pip安装的第三方包在PyCharm无法导入的问题
Oct 15 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
详解Python中的进程和线程
详解Go语言运用广度优先搜索走迷宫
常用的Python代码调试工具总结
Django+Celery实现定时任务的示例
Python django中如何使用restful框架
Python基础之变量的相关知识总结
Jun 23 #Python
浅谈Python数学建模之固定费用问题
You might like
用libTemplate实现静态网页的生成
2006/10/09 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
PHP文件操作详解
2016/12/30 PHP
PHP 文件上传限制问题
2019/09/01 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
Js apply方法详解
2017/02/16 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
如何利用python生成MD5并去重
2020/12/07 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
认识深刻的检讨书
2014/02/16 职场文书
大学毕业寄语大全
2014/04/10 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
爱国电影观后感
2015/06/19 职场文书