python opencv利用摄像头抓取视频(ubuntu)

本文介绍了一个使用Python、OpenCV和Ubuntu系统从摄像头捕获视频流的简单示例。通过展示具体的代码片段,读者可以了解到如何初始化摄像头、读取视频帧并实时显示,以及如何优雅地释放资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python + opencv +ubuntu 实现利用摄像头抓取视频(ubuntu)

#!/usr/bin/env python

import cv2
cv2.cv.NamedWindow('testcamera', cv2.cv.CV_WINDOW_AUTOSIZE)

capture = cv2.VideoCapture(0)
print capture.isOpened()
num = 0

while 1:
  ret, img = capture.read()
  cv2.imshow('testcamera', img)
  key = cv2.waitKey(1)
  num += 1
  if key==1048603:#<ESC>
    break

capture.release()
cv2.destroyAllWindows()


### 使用 OpenCV 库在 Ubuntu 系统中打开摄像头 为了实现这一目标,首先需要确保已经正确安装了 OpenCV 库。如果尚未完成这一步骤,则可以通过一系列命令来构建和安装该库[^4]。 一旦确认 OpenCV 已经被成功部署,在 Ubuntu利用它访问 USB 摄像头变得相对简单得多。下面是一份能够执行这项功能的小型 C++ 程序: ```cpp #include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc, char* argv[]) { VideoCapture cap(0); // 打开默认的摄像头设备 if (!cap.isOpened()) { // 如果无法开启摄像头则报错退出程序 cout << "Cannot open camera" << endl; return -1; } namedWindow("Camera", WINDOW_AUTOSIZE); while (true) { Mat frame; cap >> frame; // 获取当前帧 if (frame.empty()) break; // 当前帧为空时跳出循环 imshow("Camera", frame); if (waitKey(30) >= 0) break; // 按任意键停止捕获过程 } destroyAllWindows(); } ``` 这段代码创建了一个窗口用于显示来自连接至系统的第一个可用摄像头的数据流。通过 `VideoCapture` 类实例化对象并传入参数 `0` 来指定要使用的摄像头索引;对于大多数单摄设备而言,默认值即为零即可正常工作[^5]。 #### 编译与运行上述源码 保存以上代码片段到名为 `camera_capture.cpp` 的文件里之后,可采用如下指令来进行编译链接操作,并最终启动应用程序查看效果: ```bash g++ camera_capture.cpp $(pkg-config --cflags --libs opencv4) -o camera_capture ./camera_capture ``` 这里假设读者已按照先前提及的方式完成了必要的开发环境搭建工作,包括但不限于设置好 pkg-config 路径以便于检索所需的链接标志位等细节处理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值