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实现Const详解
Jan 27 Python
Python是编译运行的验证方法
Jan 30 Python
修改Python的pyxmpp2中的主循环使其提高性能
Apr 24 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
May 03 Python
python3+PyQt5实现文档打印功能
Apr 24 Python
详解python单元测试框架unittest
Jul 02 Python
django2.0扩展用户字段示例
Feb 13 Python
利用python将图片版PDF转文字版PDF
May 03 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
Django+boostrap 美化admin后台的操作
Mar 11 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python类的继承和多态代码详解
2017/12/27 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
生日庆典策划方案
2014/06/02 职场文书
限期整改通知书
2015/04/22 职场文书
领导新年致辞2016
2015/07/29 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
关于Python使用turtle库画任意图的问题
2022/04/01 Python
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL