用#include <opencv2/opencv.hpp>怎么解决cvCreateCameraCapture
时间: 2024-04-29 08:21:55 浏览: 224
opencv 启动摄像头操作 c++
5星 · 资源好评率100%
在 OpenCV 2.x 版本中,可以使用 `cvCreateCameraCapture` 函数来打开摄像头并获取视频流。但在 OpenCV 3.x 版本中,这个函数被移除了,取而代之的是 `cv::VideoCapture` 类。
如果你想使用 `cvCreateCameraCapture` 函数,可以将 OpenCV 版本降级到2.x版本,或者使用以下代码将其替换为 `cv::VideoCapture` 类:
```cpp
cv::VideoCapture cap(0); // 打开默认摄像头
if (!cap.isOpened()) {
std::cout << "无法打开摄像头" << std::endl;
return -1;
}
cv::Mat frame;
while (true) {
cap >> frame; // 获取一帧图像
if (frame.empty()) {
std::cout << "无法获取图像" << std::endl;
break;
}
cv::imshow("摄像头", frame); // 显示图像
if (cv::waitKey(30) >= 0) {
break;
}
}
cap.release(); // 释放摄像头
cv::destroyAllWindows();
```
这段代码可以打开默认摄像头,获取视频流并显示出来,直到按下 ESC 键退出。如果你想打开其他设备,可以将参数0更改为相应的设备编号(例如1、2等)。
阅读全文