【发布时间】:2018-08-22 04:07:44
【问题描述】:
我正在尝试创建一个数据集,用于训练神经网络来验证签名。我在调整数据集中的图像大小时遇到错误。
这是我目前的代码
import cv2
import numpy as np
import os
from random import shuffle
from tqdm import tqdm
from PIL import Image
TRAIN_DIR = '../DATASET/TRAIN/'
TEST_DIR = '../DATASET/TEST/'
IMG_BREDTH = 250
IMG_HEIGHT = 100
LR = 1e-3
MODEL_NAME = 'signature-{}-{}.model'.format(LR, '2conv-basic')
def label_img(img):
word_label = img.split('.')[-2]
if (word_label == '1') or (word_label == '2'): return [1,0]
elif word_label == 'F': return [0,1]
def create_training_set():
training_data = []
for img in tqdm(os.listdir(TRAIN_DIR)):
label = label_img(img)
path = os.path.join(TRAIN_DIR, img)
img = cv2.resize(cv2.imread(path, cv2.IMREAD_GRAYSCALE), (IMG_BREDTH, IMG_HEIGHT))
training_data.append([np.array(img), np.array(label)])
shuffle(training_data)
np.save('training_data.npy', training_data)
return training_data
我收到了这个错误
14%|█▍ | 105/730 [00:00<00:00, 1040.64it/s]
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-87-57e881a5e615> in <module>()
----> 1 create_training_set()
<ipython-input-86-ed607a429014> in create_training_set()
20 path = os.path.join(TRAIN_DIR, img)
21 # img = rotateImage(img, 90)
---> 22 img = cv2.resize(cv2.imread(path, cv2.IMREAD_GRAYSCALE), (IMG_BREDTH, IMG_HEIGHT))
23 training_data.append([unq_num, np.array(img), np.array(label)])
24 unq_num += 3
error: /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function resize
我做错了什么?有人可以解释错误吗?
提前致谢。
【问题讨论】:
标签: python opencv conv-neural-network