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中使用PyQt把网页转换成PDF操作代码实例
Apr 23 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
Python实现的双色球生成功能示例
Dec 18 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
详解python while 函数及while和for的区别
Sep 07 Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 Python
python 生成器和迭代器的原理解析
Oct 12 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
Dec 27 Python
Python如何读写二进制数组数据
Aug 01 Python
Python实现数据的序列化操作详解
Jul 07 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
最省空间的计数器
2006/10/09 PHP
我的论坛源代码(一)
2006/10/09 PHP
PHP print类函数使用总结
2010/06/25 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
二招解决php乱码问题
2012/03/25 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP时间类完整代码实例
2021/02/26 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
浅谈vue加载优化策略
2019/03/19 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
python中字符串前面加r的作用
2015/06/04 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
Python内存读写操作示例
2018/07/18 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
想学画画?python满足你!
2020/12/24 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
培训讲师邀请函
2014/01/10 职场文书
初三家长会邀请函
2014/01/18 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
锅炉工岗位职责
2015/02/13 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL