创建用于面部识别问题的数据库

时间:2019-06-18 14:25:21

标签: python opencv

我给我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了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)

1 个答案:

答案 0 :(得分:1)

错误:(-215:声明失败)size.width> 0 && size.height> 0表示无法读取图像。大小不大于0。

您的图片路径是:

"path../photo0"  + str(count) + ".jpg"

但是,您正在显示此文件:

"path../photo01"

因此,在显示图像时,请添加扩展名“ .jpg”。

相关问题