我尝试使用 Kaggle 中的网络摄像头为人脸检测项目进行捕捉。但它不起作用。
代码在系统中的 Jupyter Notebook 中运行良好
这是我正在使用的代码:
cap = cv2.VideoCapture(0)
for imgnum in range(number_images):
print('Collectiong image {}'.format(imgnum))
ret,frame = cap.read()
imgname = os.path.join(IMAGES_PATH,f'{str(uuid.uuid1())}.jpg')
cv2.imwrite(imgname,frame)
cv2.imshow('frame', frame)
time.sleep(1)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
这是 Kaggle 显示的错误: 收藏图片 0
[ 警告:0] 全局 /tmp/pip-req-build-jpmv6t9_/opencv/modules/videoio/src/cap_v4l.cpp (890) open VIDEOIO(V4L2:/dev/video0): 无法按索引打开摄像头 ---------------------------------------------- ---------------------- 错误回溯(最近调用 最后) /tmp/ipykernel_27/1415701618.py 中 4 ret,frame = cap.read() 5 imgname = os.path.join(IMAGES_PATH,f'{str(uuid.uuid1())}.jpg') ----> 6 cv2.imwrite(imgname,frame) 7 cv2.imshow('框架',框架) 8 time.sleep(1)
错误:OpenCV(4.5.4) /tmp/pip-req-build-jpmv6t9_/opencv/modules/imgcodecs/src/loadsave.cpp:799: 错误:(-215:断言失败)!_img.empty()在函数'imwrite'中
注意:我尝试在 cap = cv2.VideoCapture(0) 中使用 1,2 值。但没有用。
如果任何人有任何办法,请写信。谢谢