如何将目录中的图片转换为np数组?

问题描述 投票:0回答:1

我在目录中存储了一些图片,我想把'X_image_array'转换为张量。

from pathlib import Path
from PIL import Image
import os, shutil
from os import listdir
## Image Resizing
from PIL import Image

# load and display an image with Matplotlib
from matplotlib import image
from matplotlib import pyplot


# Image folder
images_dir = Path('C:\\Users\\HP\\Desktop\\XXXXXXXXXXXXXXXXX\\images').expanduser()
images_dir

dim = (400, 300)

# Resizing all the images to same dimension
X_image_train = []
for fname in listdir(images_dir):
    fpath = os.path.join(images_dir, fname)
    im = Image.open(fpath)
    im_resized = im.resize(dim)
    X_image_train.append(im_resized)

## Converting the image to numpy array
X_image_array=[]
for x in range(len(X_image_train)):
    X_image=np.array(X_image_train[x],dtype='uint8')
    X_image_array.append(X_image)

# Checking the size of a single image
X_image_array[0].shape
> (300, 400, 3)

 # Checking the size of a single image
    X_image_array[15].shape
    > (300, 400, 3)

我想把 "X_image_array "转换为一个张量,其dim如下:

(2000,300, 400, 3)

其中2000是'images'文件夹中的样本数。

需要帮助吗?

python image-processing image-resizing numpy-ndarray
1个回答
0
投票

你可以使用 np.stack() 功能

np.stack(X_image_array) 
© www.soinside.com 2019 - 2024. All rights reserved.