Python 将RGB图像转换为Pytho灰度图像的实例


Posted in Python onNovember 14, 2017

问题:

我正尝试使用matplotlib读取RGB图像并将其转换为灰度。

在matlab中,我使用这个:

img = rgb2gray(imread('image.png'));

在matplotlib tutorial中他们没有覆盖它。他们只是在图像中阅读

import matplotlib.image as mpimg
img = mpimg.imread('image.png')

然后他们切片数组,但是这不是从我所了解的将RGB转换为灰度。

lum_img = img[:,:,0]

编辑:

我发现很难相信numpy或matplotlib没有内置函数来从rgb转换为灰色。这不是图像处理中的常见操作吗?

我写了一个非常简单的函数,它可以在5分钟内使用imread导入的图像。这是非常低效的,但这就是为什么我希望内置专业实施。

塞巴斯蒂安改善了我的功能,但我仍然希望找到内置的一个。

matlab的(NTSC / PAL)实现:

import numpy as np
 
def rgb2gray(rgb):
 
 r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
 gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
 
 return gray

回答:

如何使用PIL

from PIL import Image
img = Image.open('image.png').convert('LA')
img.save('greyscale.png')

使用matplotlib和the formula

Y' = 0.299 R + 0.587 G + 0.114 B

你可以这样做:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
 
def rgb2gray(rgb):
 return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
 
img = mpimg.imread('image.png') 
gray = rgb2gray(img) 
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()

以上这篇Python 将RGB图像转换为Pytho灰度图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自定义函数的创建、调用和函数的参数详解
Mar 11 Python
详解Python中的文本处理
Apr 11 Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python爬取个人微信朋友信息操作示例
Aug 03 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
Python中拆分字符串的操作方法
Jul 23 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
python如何写个俄罗斯方块
Nov 06 Python
人机交互程序 python实现人机对话
Nov 14 #Python
python密码错误三次锁定(实例讲解)
Nov 14 #Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 #Python
python+opencv实现的简单人脸识别代码示例
Nov 14 #Python
解读! Python在人工智能中的作用
Nov 14 #Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 #Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 #Python
You might like
一篇不错的PHP基础学习笔记
2007/03/18 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
python给list排序的简单方法
2020/12/10 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
《草虫的村落》教学反思
2014/02/16 职场文书
大学新生入学教育方案
2014/05/16 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
教师节主持词开场白
2015/05/29 职场文书
python OpenCV学习笔记
2021/03/31 Python
golang实现浏览器导出excel文件功能
2022/03/25 Golang