Traceback (most recent call last):
File "e:/BaiduSyncdisk/project/Vs_Code/Test01.py", line 13, in <module>
get_photo()
File "e:/BaiduSyncdisk/project/Vs_Code/Test01.py", line 6, in get_photo
cv2.imwrite('data/images/image.jpg', frame) # 将图片保存为本地文件
cv2.error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:786: error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrit
这个报错的原因有两种,第一种是你的摄像头没有或者故障了,或者启动不了,第二种就是没有安装好cv2
1,安装cv2
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
2,设置摄像头
当我们使用opencv调用摄像头的命令 cv2.VideoCapture(0),可能会出现下面这个错误。
[ERROR:0@0.433] global obsensor_uvc_stream_channel.cpp:156 cv::obsensor::getStreamChannelGroup Camera index out of range
表明在尝试获取摄像机流通道组时,使用的摄像机索引超出了有效范围。这通常意味着你尝试访问的摄像机索引不存在或者没有被正确初始化。
但是我们知道 cv2.VideoCapture(0)是调用电脑自带的摄像头。我们可以先检查一下电脑是否自带摄像头。打开相机发现电脑并没有自带的摄像头。所以我们只需外接一个摄像头就可以使用cv2.VideoCapture(0)调用摄像头了。
3,第三种
如果电脑自带摄像头,则cv2.VideoCapture(0)调用的是电脑自带的摄像头,调用外接摄像头需要使用cv2.VideoCapture(1)进行调用。