python - 打开 Cv 断言失败
问题描述
尝试使用 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()
解决方案
推荐阅读
- php - 将表单数据转发到@mail 帐户和 php 表单
- reactjs - 结果组件未正确更新
- javascript - 在android上的html输入字段上使用eventlistener的奇怪行为
- java - 尝试在 Ubuntu 中运行 java 命令并引发超出堆大小的错误。如何在 64 位模式下运行?-d64 不起作用
- python - unindent 不匹配任何外部缩进级别这是太空入侵者的游戏
- javascript - 如何告诉 pm2 在部署时使用特定的节点版本
- python - 我必须使用哪些数据类型在 Cython 中编写此函数?
- arrays - 计算不同地理网格大小的两个数组之间的值的偏离或异常
- sql - SQL 查询 GROUP BY MIN?
- c# - 无法在 XAML 中正确设置 RibbonGallery SelectedValue