ubuntu下使用OpenCV打开摄像头

本文介绍如何在Ubuntu环境下安装OpenCV2.4.3,并详细列出所需依赖库,包括ffmpeg、gstreamer等。如果安装顺序不当可能会导致无法正常使用摄像头。

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

             下载OpenCV2.4.3按照网上的方法编译,安装到/usr/local/,编译之前先安装一系列跟图像有关的库,如下:

                 

apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev

apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev 

 apt-get install libxine1-ffmpeg libxine-dev libxine1-bin 

 apt-get install libunicap2 libunicap2-dev 

 apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils 

 apt-get install swig 

 apt-get install libv4l-0 libv4l-dev 

 apt-get install python-numpy 

 apt-get install libpython2.6 python-dev python2.6-dev #You must install this for python support

          假如在编译安装之后才安装上面的库,那么出现的情况是:使用OpenCV函数打开摄像头的程序编译无误,但是就是打不开摄像头。


### 使用 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 路径以便于检索所需的链接标志位等细节处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值