错误:(-215)ssize.width> 0 && ssize.height> 0 in function resize

Dee*_*kar 5 python opencv machine-learning image-processing image-resizing

我正在构建图像处理分类器,除了这一行以外的整个代码 -

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')
Run Code Online (Sandbox Code Playgroud)

我的代码 -

PATH = os.getcwd()
# Define data path
data_path = PATH + '/data'
data_dir_list = os.listdir(data_path)

img_rows=128
img_cols=128
num_channel=3
num_epoch=30

num_classes = 67

img_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)
Run Code Online (Sandbox Code Playgroud)

Vu *_*ong 13

好吧,显然这行 input_img=cv2.imread(data_path + '/'+ dataset + '/'+ img ) 返回一个空数组.

您应该在阅读之前先检查图像是否存在.并且请停止使用字符串组合来连接文件路径,使用python os.path.join是更好的选择.

image_path = os.path.join(data_path, dataset, img)
if os.path.exist():
    # Do stuff
Run Code Online (Sandbox Code Playgroud)