Open Cv断言失败

问题描述 投票:0回答:1

尝试使用openCv检测人脸标志,错误是:

Traceback (most recent call last):
  File "/Users/aksheenmalhotra/Desktop/gaze controlled/gazecontrolledkeys.py", line 13, in <module>
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

可能是什么错误?以及如何解决,其他openCv项目也遇到类似的错误

import cv2
import numpy as np
import dlib
cap = cv2.VideoCapture()

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
cap.release()
def midpoint(p1 ,p2):
    return int((p1.x + p2.x)/2), int((p1.y + p2.y)/2)
while True:
    ref, frame = cap.read()
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    faces = detector(gray)
    for face in faces:
        #x, y = face.left(), face.top()
        #x1, y1 = face.right(), face.bottom()
        #cv2.rectangle(frame, (x, y), (x1, y1), (0, 255, 0), 2)
        center_top = midpoint(landmarks.part(37), landmarks.part(38))
        center_bottom = midpoint(landmarks.part(41), landmarks.part(40))
        hor_line = cv2.line(frame, left_point, right_point, (0, 255, 0), 2)
        ver_line = cv2.line(frame, center_top, center_bottom, (0, 255, 0), 2)
        cv2.imshow("Frame", frame)
    key = cv2.waitKey(1)
    if key == 27:
        break
cap.release()
cv2.destroyAllWindows()
python opencv facial-landmark-alignment
1个回答
0
投票
由于无法加载框架而发生此类型错误。本主题还讨论了here。就您而言,您的

VideoCapture()

没有读取任何内容。您应该将摄像机编号添加为int之类的内容,例如:VideoCapture(0)
© www.soinside.com 2019 - 2024. All rights reserved.