这篇文章主要讲解了“Python怎么调用摄像头”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么调用摄像头”吧!
完整代码
import cv2 cap = cv2.VideoCapture(0) while(cap.isOpened()): retval, frame = cap.read() cv2.imshow('Live', frame) if cv2.waitKey(5) >= 0: break
正常结果:显示出摄像头看到的东西,按任意键窗口才关闭。上述代码在环境在Windows 11,Python 版本 3.9.6下调试通过。以下逐句分析。
逐句分析
import cv2
遇到问题:ModuleNotFoundError: No module named ‘cv2’ 没有模块称作cv2。python需要用到opencv-python模块。可在命令行模式输入:
pip install opencv-python -i https://pypi.douban.com/simple/
-i参数不是必须的。但在这里用
-i指定豆瓣源作为依赖下载源速度会更快。
cap = cv2.VideoCapture(0)
声明使用的是默认摄像头,从0依次寻找。具体细节可依照官网docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html 的说明。
while(cap.isOpened()):
摄像头状态是开的话不断地刷新。刷新的具体时间写在后面的waitKey()方法中。
retval, frame = cap.read()
依照官网的说明,在刷新的时候设置两个参数接收读取read方法后的返回,尽管retral后面不会用到。
cv2.imshow('Live', frame)
用imshow()方法将读取后的内容展示出来。窗口命名Live。
if cv2.waitKey(5) >= 0: break
waitKey()方法是短暂停留5毫秒等待一个输入。依照官网的说明,必须这样配合,画面才能够显示出来。若没有这样的等待,那么只会见到因刷新太快而出现的一个灰色窗口。等待的输入可以是键盘的按键,按照ASCII码表组合,0 以上整数表示任意键。比如27是Esc键、81是Q键,如此类推。