我正在构建一个图像处理分类器。这行代码出现了错误:
input_img_resize=cv2.resize(input_img,(128,128))
错误信息如下:
('error: /io/opencv/modules/imgproc/src/imgwarp.cpp:3483: error: (-215) ssize.width > 0 && ssize.height > 0 in function resize')
我的代码如下:
PATH = os.getcwd()# 定义数据路径data_path = PATH + '/data'data_dir_list = os.listdir(data_path)img_rows=128img_cols=128num_channel=3num_epoch=30num_classes = 67img_data_list=[]for dataset in data_dir_list: img_list=os.listdir(data_path+'/'+ dataset) print ('Loaded the images of dataset-'+'{}\n'.format(dataset)) for img in img_list: input_img=cv2.imread(data_path + '/'+ dataset + '/'+ img ) input_img_resize=cv2.resize(input_img,(128,128)) img_data_list.append(input_img_resize)
回答:
显然,这行代码input_img=cv2.imread(data_path + '/'+ dataset + '/'+ img )
返回了一个空数组。
你应该在读取之前先检查图像是否存在。并且,最好不要使用字符串拼接来组合文件路径,建议使用Python的os.path.join函数。
image_path = os.path.join(data_path, dataset, img)if os.path.exists(image_path): # 执行相关操作