我是python的真正初学者,当我使用之前的stakoverflow主题(How can I convert an RGB image into grayscale in Python?)中找到的建议时,我想将RGB图像转换为灰度时,我有一个问题我不明白{ p>
当我输入此代码时,一切正常:
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
im = mpimg.imread('test.gif')
gray=rgb2gray(im)
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()
所以,我尝试创建一个函数,这样如果我想转换其他RGB图像,我就不必重复所有这些行(我不确定我应该在最后一行之前写入返回)
def load(fichier):
im = mpimg.imread(fichier)
gray=rgb2gray(im)
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()
似乎工作正常,但我做不到:
load("test.gif")
File "<stdin>", line 5
load("test.gif")
^
SyntaxError: invalid syntax
我明白问题应该是“test.gif”是一个字符串,但是有一种简单的方法来改变我的功能以便它起作用吗?
提前感谢您的帮助!
编辑
我认为它现在有效我不会理解我改变了什么,但似乎可以正常工作:
# -*-coding:utf-8 -*-``
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])
def load(fichier):
im = mpimg.imread(fichier)
gray=rgb2gray(im)
plt.imshow(gray, cmap = plt.get_cmap('gray'))
return plt.show()
load('test.gif')