Python 如何调用摄像头

编程知识 更新时间:2023-04-06 19:26:47

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 namedcv2
没有模块称作cv2。python需要用到opencv-python模块。可在命令行模式输入:

pip install opencv-python -i https://pypi.douban/simple/

-i参数不是必须的。但在这里用-i指定豆瓣源作为依赖下载源速度会更快。

cap = cv2.VideoCapture(0)

声明使用的是默认摄像头,从0依次寻找。具体细节可依照官网docs.opencv/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键,如此类推。

(图片来源:theasciicode.ar)

以上就是 Python调用摄像头的入门了。具体方法和功能可参考 OpenCV官网 docs.opencv

更多推荐

Python 如何调用摄像头

本文发布于:2023-04-06 19:26:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/20991dadc33f7883cbfed1f4bafc135b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:摄像头   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 50528文章数
  • 14阅读数
  • 0评论数