Python 为人脸识别问题创建数据库

Python 为人脸识别问题创建数据库,python,opencv,Python,Opencv,我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了cv2.imread,然后我在屏幕上显示了其中一张照片,出现了以下错误 -215:在函数“cv::imshow”中,断言大小.宽度>0和大小.高度>0失败 我已经检查了路径是否正确,并再次尝试,同样的错误 这是我用来拍照的代码: cam = cv2.VideoCapture(0) face_detector = cv2.CascadeClassifier('haarcascade_frontalfa

我拍了一些照片,之后我想用它们来训练我的神经网络。当我检查照片是否正确拍摄时,我使用了cv2.imread,然后我在屏幕上显示了其中一张照片,出现了以下错误

-215:在函数“cv::imshow”中,断言大小.宽度>0和大小.高度>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)

错误:-215:断言大小失败。宽度>0&&size.height>0表示无法读取您的图像。大小不大于0

您的图像路径是:

"path../photo0"  + str(count) + ".jpg"
但是,您正在显示此文件:

"path../photo01"

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

我添加了扩展名,但仍然会出现相同的问题。请检查此文件夹路径中是否有fie。我已检查,文件已存在。请复制文件位置并粘贴到此处。path=/photo01.jpg。顺便说一句,分配给路径时不要使用括号。它变成了一个元组。它应该是一个字符串。请尝试使用双斜杠:path=D://poze//photo01.jpg您试图打开的照片的文件名是什么?它实际上是一个.jpg文件吗?你能在OpenCV之外的程序中打开它吗?是的,它是一个jpg文件,我可以在OpenCV之外打开