我在Google协作室中编写以下Python代码时遇到错误:
- 代码**:
import cv2
import dlib
cap = cv2.VideoCapture(0)
hog_face_detector = dlib.get_frontal_face_detector()
dlib_facelandmark = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
while True: _,
frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = hog_face_detector(gray)
for face in faces:
face_landmarks = dlib_facelandmark(gray, face)
for n in range(0, 16):
x = face_landmarks.part(n).x
y = face_landmarks.part(n).y
cv2.circle(frame, (x, y), 1, (0, 255, 255), 1)
cv2.imshow("Face Landmarks", frame)
key = cv2.waitKey(1)
if key == 27:
break
cap.release()
cv2.destroyAllWindows()
- 错误**:
运行时错误追溯(最近调用最后)in()6 hog_face_detector = dlib. get_frontal_face_detector()7----〉8 dlib_facelandmark = dlib. shape_predictor("shape_predictor_68_face_landmarks. dat")9 10为真时:
运行时错误:无法打开文件夹
3条答案
按热度按时间chy5wohz1#
您的笔记本无法打开文件
shape_predictor_68_face_landmarks.dat
。这可能是因为该文件未上载到您的笔记本,或者您在dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
中指定的路径错误。下面是一个自动下载
bzip2
文件,提取它并将其设置为形状预测器的代码编辑。您可以通过更改!wget
的链接来使用不同的.dat
文件。单元格1:
单元格2:
此外,请注意,如果您在Jupyter笔记本电脑上使用
cv2.VideoCapture(0)
打开摄像头,它将无法工作,因为代码运行在某个远程服务器上,而不是您的计算机上。查看此处的代码片段,了解如何在Colab中访问您的本地摄像头。zbdgwd5y2#
对我来说,解决类似问题的方法是下载Anaconda 3并按照下面的指导安装dlib:https://learnopencv.com/install-dlib-on-windows/
我还将项目解释器更改为Anaconda(我使用PyCharm)
9lowa7mx3#
添加操作系统模块
导入操作系统
然后创建变量pwd
pwd =操作系统.路径.目录名(文件)
然后将pwd变量放在文件的url之前
预测值=数据库.形状预测值(密码+'/shape_predictor_68_fac_landmarks.dat')