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 相关文章推荐
CentOS安装pillow报错的解决方法
Jan 27 Python
python 常用的基础函数
Jul 10 Python
python实现桌面壁纸切换功能
Jan 21 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
Python配置文件处理的方法教程
Aug 29 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
零基础学python应该从哪里入手
Aug 11 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
python中添加模块导入路径的方法
Feb 03 Python
python中requests库+xpath+lxml简单使用
Apr 29 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
source.php查看源文件
2006/12/09 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
python 数据类型强制转换的总结
2021/01/25 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
策划助理岗位职责
2013/11/18 职场文书
小学数学国培感言
2014/03/10 职场文书
主办会计岗位职责
2014/03/13 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
优秀纪检干部材料
2014/08/27 职场文书
解除施工合同协议书
2014/10/17 职场文书
2014年电厂工作总结
2014/12/04 职场文书
销售2014年度工作总结
2014/12/08 职场文书
党支部对转正的意见
2015/06/02 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Django实现聊天机器人
2021/05/31 Python