改变图像的深度? [重复]

问题描述 投票:2回答:2

这个问题在这里已有答案:

我正在尝试制作我自己的手写图像数据集来测试我手写的数字分类器。所以为了使它我在一个颜料盒中写入图像并将图像调整为与火车测试像素相同的28x28像素。但当我把它加载到python时,图像形状是(28,28,3)我知道这些是RGB值。但我不知道如何摆脱它们。我应该将图像更改为灰度以获得大小(28,28)的图像。我不知道它叫什么,所以问题标题可能是错误的。用于将图像上载到环境的代码

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img=mpimg.imread('0.png')
imgplot = plt.imshow(img)
Xts_n=img

有人可以给我一个如何完成它的提示。

python image matplotlib image-processing resize
2个回答
1
投票

如果您有RGB图像并且想要将其转换为1通道(灰度) - 使用可以使用:

import cv2

img=cv2.imread('0.png')
img=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

现在它的形状是(28,28)


1
投票

python图像形状是(28,28,3)

如果你这意味着你使用img.shape得到(28,28,3)然后,只是为了澄清 - img.shape返回行数,列数和通道数(如果图像是彩色)的元组。因此,如果您希望(28,28)作为输出,您可能应首先将其转换为灰度。

© www.soinside.com 2019 - 2024. All rights reserved.