我有以下Python脚本:
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
这是传递图像文件名及其标签的正确方法吗?如果import numpy as np
from PIL import Image
names = []
X = []
labels = []
with open('data.txt', 'r') as f:
for line in f.readlines():
tokens = line.split(' ')
names.append(tokens[0])
labels.append(int(tokens[1]))
for img in range(len(names)):
for name in names:
img = np.array(Image.open(name))
X.append(img)
X = np.array(X)
X_to_text_file = np.savetxt('x.txt', X.reshape(np.shape(X)), fmt='%5f')
X_data = import_data('x.txt')
具有以下格式:
data.txt
我也在下面收到错误:img1.png 1
img2.png 1
img3.png 2
img4.png 1
img5.png 1
X_to_text_file = np.savetxt('x.txt', X.reshape(np.shape(X)), fmt='%5f')
有关于此的任何想法吗?
感谢。
答案 0 :(得分:0)
演示:
from glob import glob
import cv2
In [284]: names = glob(r'D:\temp\photo\*.jpg')
In [285]: names
Out[285]:
['D:\\temp\\photo\\20081116-IMG_0900.jpg',
'D:\\temp\\photo\\20081116-IMG_0902.jpg']
In [286]: X = np.array([cv2.imread(f) for f in names])
In [287]: X.shape
Out[287]: (2, 2112, 2816, 3)