【问题标题】:In image dataset loading into numpy array, How can I convert image's 3d format into 2d?在图像数据集加载到 numpy 数组中,如何将图像的 3d 格式转换为 2d?
【发布时间】:2020-06-06 20:10:30
【问题描述】:

为了加载我的图像数据集,我已经完成了以下编码

X=[]
for i in range(1,682):
    image=Image.open(str(i)+'.jpg')
    image=image.resize((100,100))
    temp=asarray(image)
    X.append(temp)

X 的形状是 (681,100,100,3),但我希望 X 的形状是 (681,100,100)。我该怎么做?

【问题讨论】:

  • size 3 维度标识每个像素的颜色。没有它,您只能显示黑白图像。
  • 您可以使用:image = Image.open(str(i)+'.jpg').convert('LA')(读取图像并转换为灰度),但正如 hpaulj 评论的那样,图像将采用灰度格式。
  • 现在 X 形状是 (681,100,100,2)

标签: python-3.x numpy machine-learning image-processing deep-learning


【解决方案1】:

您可以使用 opencv 读取图像,它将图像读取为 numpy 数组

import cv2
X=[]
for i in range(1,682):
    temp = cv2.imread(str(i)+'.jpg', cv2.IMREAD_GRAYSCALE)
    temp = cv2.resize(temp, (100,100))
    X.append(temp)

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 2012-12-31
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多