Python+OpenCV实现摄像头调用的方法

Theo
Theo
发布时间:2026-10-11| 2人浏览过
原创

本文介绍如何使用Python和OpenCV调用摄像头。首先通过apt-get或pip安装OpenCV库,随后编写Python脚本,利用cv2.VideoCapture打开摄像头设备,并通过while循环实时读取视频帧。最后通过cv2.imshow显示画面,按q键退出程序。

环境准备与安装

在开始编写代码前,需要确保系统中已安装Python以及OpenCV库。根据Python版本的不同,安装方式略有差异。

使用apt-get安装

如果使用Python 2.7,可以直接通过系统包管理器安装:

apt-get install python2.7-dev    //本人的python版本为2.7
apt-get install python-opencv    //python2的cv安装直接运行此命令即可

使用pip安装

对于较新的Python版本,推荐使用pip工具安装opencv-python包:

apt install python-pip     //安装pip
pip --version         //查看pip的版本信息
 
pip install opencv-python   //安装opencv-python

安装完成后,可以在Python环境中输入import cv2进行检查。如果无报错信息,则表示OpenCV安装成功。

编写摄像头调用代码

接下来,编写Python脚本以调用摄像头。以下是一个简单的示例:

# by Bend_Function
 
import cv2
cap = cv2.VideoCapture(0)        # 打开摄像头
 
while True:
  ret, frame = cap.read()       # 读摄像头
  cv2.imshow("video", frame) 
  if cv2.waitKey(1) & 0xFF == ord('q'):  # 按q退出
    break
    
cap.release()      
cv2.destroyAllWindows()    # 基本操作

代码解析

  • cv2.VideoCapture(0):打开默认摄像头(设备索引为0)。
  • cap.read():读取摄像头的一帧图像,返回ret(布尔值,表示是否成功读取)和frame(图像数据)。
  • cv2.imshow("video", frame):在名为“video”的窗口中显示图像。
  • cv2.waitKey(1) & 0xFF == ord('q'):等待1毫秒,如果按下q键,则退出循环。
  • cap.release():释放摄像头资源。
  • cv2.destroyAllWindows():关闭所有OpenCV创建的窗口。

运行与验证

将上述代码保存为test.py文件,然后在终端中运行:

python test.py(文件名)

如果一切正常,将弹出一个窗口显示摄像头画面。按下q键即可退出程序。

常见问题排查

如果运行代码时出现cv2.error报错,提示size.width>0 && size.height>0,这通常是因为摄像头未正确插入或未被系统识别。请检查摄像头连接状态,确保设备已正确插入并供电。

以上就是Python+OpenCV实现摄像头调用的详细内容,更多关于Python+OpenCV的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。