首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有图像的numpy vstack

带有图像的numpy vstack
EN

Stack Overflow用户
提问于 2019-04-03 18:43:03
回答 1查看 1.7K关注 0票数 1

我正在编写一个函数来从图像中读取像素数据,并将它们存储在numpy数组中,以便进一步进行训练/测试拆分。

当我运行这段代码时,它抛出了一个异常,说明除了连接轴之外,所有输入数组的维数都必须完全匹配。

我不确定为什么会发生这个问题,以及如何修复它。

代码语言:javascript
复制
from PIL import Image
import numpy as np
import os

X = np.array([])
y = []

categories = {
    'A': 1,
    'B': 2
}

root = data_dir + '/cropped_resized(128,128)/'

for path, subdirs, files in os.walk(root):
    for name in files:
        img_path = os.path.join(path,name)
        category = categories[os.path.basename(path)]
        im = Image.open(img_path)
        img_pixels = list(im.getdata())
        width, height = im.size
        X = np.vstack((X, img_pixels))
        #X = np.concatenate((X, img_pixels), axis=0)
        y.append(category)

X_train, X_test, y_train, y_test = train_test_split(X, y)

下面是一个失败的图片示例

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-03 19:35:05

决定你想要你的图像是RGB还是Greyscale,并确保它们是加载的。

具体地说,更改此行:

代码语言:javascript
复制
im = Image.open(img_path)

代码语言:javascript
复制
im = Image.open(img_path).convert('RGB')

代码语言:javascript
复制
im = Image.open(img_path).convert('L')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55493231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档