【python】error: (-215) ssize.width > 0 && ssize.height > 0 in function cv::resize

1.Code
[python] view plain copy
import os
import numpy as np
import sys
import cv2
import time
import random

def detect(imgPath, imgLabel):
# Read Image
frame = cv2.imread(imgPath)

if True:  
    # Subtraction from mean file  
    crop = cv2.resize(frame, (256, 256))  

    # Showing output  
    cv2.imshow("Gender Detection",crop)  
    cv2.waitKey(0)  

def main(argv):
assert (len(argv) == 2)

original_txt = argv[1]  

with open(original_txt) as f:  
    def_lines = f.readlines()  

def_lines.pop(0)  

full_list = []  
for def_line in def_lines:  
    def_dic = {}  

    image_dir = def_line.split(' ')[0]  
    temp = def_line.split(' ')[1]  
    image_label = temp.split('\n')[0]  
    image_name = '/home/zhuxiuhong/dataset/age_gender/DATA/aligned/{0}'.format(image_dir)  

    def_dic['image_name'] = image_name  
    def_dic['image_label'] = image_label  
    full_list.append(def_dic)  

images_num = len(full_list)  

for ind in range(images_num):  
    image_name = full_list[ind]['image_name']  
    image_label = full_list[ind]['image_label']  
    detect(image_name, image_label)  

if name == ‘main‘:
print(doc)
import sys
main(sys.argv)

2.Error

3.Solution
当cv2.imread()读入图像的路径不存在时,frame为None,再对其进行cv2.resize(),发生错误

[python] view plain copy
frame = cv2.imread(imgPath)
加入语句:

[python] view plain copy
if(frame == None):
return
修改后如下:

[python] view plain copy
import os
import numpy as np
import sys
import cv2
import time
import random

def detect(imgPath, imgLabel):
# Read Image
frame = cv2.imread(imgPath)

if(frame == None):  
    return  

if True:  
    # Subtraction from mean file  
    crop = cv2.resize(frame, (256, 256))  

    # Showing output  
    cv2.imshow("Gender Detection",crop)  
    cv2.waitKey(0)  

def main(argv):
assert (len(argv) == 2)

original_txt = argv[1]  

with open(original_txt) as f:  
    def_lines = f.readlines()  

def_lines.pop(0)  

full_list = []  
for def_line in def_lines:  
    def_dic = {}  

    image_dir = def_line.split(' ')[0]  
    temp = def_line.split(' ')[1]  
    image_label = temp.split('\n')[0]  
    image_name = '/home/zhuxiuhong/dataset/age_gender/DATA/aligned/{0}'.format(image_dir)  

    def_dic['image_name'] = image_name  
    def_dic['image_label'] = image_label  
    full_list.append(def_dic)  

images_num = len(full_list)  

for ind in range(images_num):  
    image_name = full_list[ind]['image_name']  
    image_label = full_list[ind]['image_label']  
    detect(image_name, image_label)  

if name == ‘main‘:
print(doc)
import sys
main(sys.argv)

注意:码代码要把意外情况考虑全面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值