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正则表达式re模块详细介绍
May 29 Python
python根据出生日期获得年龄的方法
Mar 31 Python
python+opencv实现动态物体识别
Jan 09 Python
儿童学习python的一些小技巧
May 27 Python
python实现彩票系统
Jun 28 Python
浅谈Python中的bs4基础
Oct 21 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python实现车牌识别的示例代码
Aug 05 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
Django中session进行权限管理的使用
Jul 09 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
239军机修复记
2021/03/02 无线电
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
jquery实现数字输入框
2017/02/22 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
用Python读取几十万行文本数据
2018/12/24 Python
python系列 文件操作的代码
2019/10/06 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
人力资源管理毕业生自荐信
2013/11/21 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
工会换届选举方案
2014/05/21 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
家装业务员岗位职责
2015/04/03 职场文书
投标单位介绍信
2015/05/05 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript