我有存储在目录中的图像:
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是"图像"文件夹中的样本数。
这里需要帮助吗?
您可以使用np.stack()
函数
np.stack(X_image_array)