我试图使用Python将RGB图像转换为灰度图像作为函数,但问题是我给它一个具有高度、宽度和通道的RGB图像,但在代码后,我应该得到一个仅具有高度和宽度的图像,但它却给了我一个具有高度、宽度和通道的图像,为什么?
通常我想在输出图像的尺寸中查找。
def RGBtoGRAY(img):
height, width, channels = img.shape
grayimg = img
for i in range(height):
for j in range(width):
grayimg[i,j] = 0.3 * image[i,j][0] + 0.59 * image[i,j][1] + 0.11 * image[i,j][2]
return grayimg
输入图像的尺寸为
image.shape
(533, 541, 3)
输出图像的大小是
grayimage.shape
(533, 541, 3)
通常我想在输出图像的尺寸中查找。
(533, 541)
grayimg = img
并没有创建一个新的图像,它只是获取输入图像的引用。您需要创建一个具有相同尺寸的新图像。 - Jean-François Fabre