我给我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了cv2.imread
,然后在屏幕上显示了其中一张,并出现了以下错误。
(-215:断言失败)函数'cv :: imshow中的size.width> 0 && size.height> 0
我检查了路径是否正确,然后重试,同样的错误。
这是我用来拍照的代码:
cam = cv2.VideoCapture(0)
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
face_left = cv2.CascadeClassifier('haarcascade_profileface.xml')
# For each person, enter one numeric face id
face_id = input('\n Enter your face id: ')
while(True):
ret, img = cam.read()
gray = img
faces = face_detector.detectMultiScale(gray, 1.3, 5)
face2 = face_left.detectMultiScale(gray, 1.3, 5)
gray = cv2.flip(gray, +1)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w + 50, y + h + 50), (255, 0, 0), 2)
gray = gray[y:y + h, x:x + w]
count += 1
cropFace = gray.copy()
cv2.imwrite("D:/poze/photo0" + str(count) + ".jpg",cropFace)
k = cv2.waitKey(100) & 0xff
if k == 27:
break
elif count >= 450: # Capture 450 face pictures
break
当我尝试显示图像时,这是我使用的代码:
import cv2
path="D:/poze/photo01.jpg"
show_img = cv2.imread(path)
cv2.imshow("img",show_img)
cv2.waitKey(0)
答案 0 :(得分:1)
错误:(-215:声明失败)size.width> 0 && size.height> 0表示无法读取图像。大小不大于0。
您的图片路径是:
"path../photo0" + str(count) + ".jpg"
但是,您正在显示此文件:
"path../photo01"
因此,在显示图像时,请添加扩展名“ .jpg”。