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的keyword模块用法实例分析
Jun 30 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
python编程羊车门问题代码示例
Oct 25 Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
Python中的特殊方法以及应用详解
Sep 20 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 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
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
jQuery随机切换图片的小例子
2013/04/18 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
python中去空格函数的用法
2014/08/21 Python
python3.5仿微软计算器程序
2020/03/30 Python
django+mysql的使用示例
2018/11/23 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
统计系教授推荐信
2014/02/28 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
护士实习自荐信
2015/03/06 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫