簡體   English   中英

帶有圖像的 numpy vstack

[英]numpy vstack with images

我正在編寫一個函數來從圖像中讀取像素數據並將它們存儲在一個 numpy 數組中以進一步進行訓練/測試拆分。

當我運行這段代碼時,它拋出一個異常,說除了連接軸之外的所有輸入數組維度都必須完全匹配。

我不確定為什么會發生這個問題以及如何解決它。

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)

這是一個失敗的圖片示例

在此處輸入圖片說明

確定您希望圖像為 RGB 還是灰度,並確保它們在加載時如此。

具體來說,改變這一行:

im = Image.open(img_path)

im = Image.open(img_path).convert('RGB')

或者

im = Image.open(img_path).convert('L')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM