当前位置: 首页 > backend >正文

机器视觉开发-打开摄像头

以下是使用Python和OpenCV打开摄像头的最简单实现:

import cv2# 打开默认摄像头(通常是0)
cap = cv2.VideoCapture(0)# 检查摄像头是否成功打开
if not cap.isOpened():print("无法打开摄像头")exit()print("摄像头已打开 - 按 '空格' 键退出")while True:# 读取摄像头帧ret, frame = cap.read()# 检查帧是否读取成功if not ret:print("无法获取帧")break# 显示帧cv2.imshow('Cap', frame)# 按'q'键退出if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放摄像头资源
cap.release()
cv2.destroyAllWindows()

代码说明:

  1. cv2.VideoCapture(0) - 打开默认摄像头(索引0)

    • 如果有多个摄像头,可以尝试1, 2等索引
  2. cap.isOpened() - 检查摄像头是否成功打开

  3. cap.read() - 读取一帧图像

    • ret: 布尔值,表示是否成功读取
    • frame: 实际的图像数据
  4. cv2.imshow() - 显示图像窗口

  5. cv2.waitKey(1) - 等待键盘输入,1毫秒延迟

    • 按'q'键退出循环
  6. cap.release() - 释放摄像头资源

  7. cv2.destroyAllWindows() - 关闭所有OpenCV窗口

运行要求:

  • 需要安装OpenCV库:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
  • 确保摄像头已连接且未被其他程序占用

运行效果: 

http://www.xdnf.cn/news/3466.html

相关文章:

  • GAMES202-高质量实时渲染(Real-time Environment Mapping)
  • 【二】 数字图像的运算 (下)【数字图像处理】
  • Java学习手册:Spring 数据访问
  • 系统架构设计师:设计模式概述
  • Centos7.9 安装mysql5.7
  • 突破zero-RL 困境!LUFFY 如何借离线策略指引提升推理能力?
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(13): ておきます ています & てあります
  • C++11新特性_Lambda 表达式
  • 世纪华通:从财报数据看其在游戏领域的成功与未来
  • 使用Java正则表达式进行分组与匹配文本提取
  • OpenAI最新发布的GPT-4.1系列模型,性能体验如何?
  • Unity 几种主流的热更新方式
  • 【C++】类和对象(中)——默认成员函数详解(万字)
  • 存算一体架构下的新型AI加速范式:从Samsung HBM-PIM看近内存计算趋势
  • Umi-OCR项目(1)
  • 产品设计三板斧与抓住事物本质的关键意义
  • 【iview】icon样式
  • Vue 生命周期全解析:理解组件从创建到销毁的全过程
  • FPGA中级项目8———UART-RAM-TFT
  • 【Android】四大组件之BroadcastReceiver
  • Lucene并不是只有倒排索引一种数据结构,支持多种数据结构
  • react学习笔记3——基于React脚手架
  • 杜邦分析法
  • Android12 Rom定制设置默认语言为中文
  • 如何拿奖蓝桥杯
  • 电机常用易混淆概念说明(伺服、舵机、多轮)
  • 【CV数据集】Visdrone2019无人机目标检测数据集(YOLO、VOC、COCO格式)
  • 2025五一数学建模竞赛B题完整分析论文(共42页)(含模型、可运行代码、数据)
  • python绘制全球ERA5再分析数据10m风速产品
  • Python 装饰器基础知识科普