opencv4 打开摄像头 C++ 写法
时间: 2024-12-30 13:39:48 浏览: 13
要使用OpenCV4打开摄像头并捕获视频流,可以使用以下C++代码:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 创建视频捕获对象
cv::VideoCapture cap(0); // 0表示使用默认摄像头
// 检查摄像头是否成功打开
if (!cap.isOpened()) {
std::cerr << "无法打开摄像头" << std::endl;
return -1;
}
// 循环捕获视频帧并显示
while (true) {
cv::Mat frame;
cap >> frame; // 获取一帧视频
if (frame.empty()) {
std::cerr << "无法获取视频帧" << std::endl;
break;
}
cv::imshow("摄像头视频", frame); // 显示视频帧
// 等待按键或延迟一段时间后继续循环
if (cv::waitKey(30) >= 0) break; // 等待30毫秒后继续循环
}
// 释放资源并关闭窗口
cap.release();
cv::destroyAllWindows();
return 0;
}
```
这段代码使用了OpenCV库中的`VideoCapture`类来打开摄像头并捕获视频流。通过调用`cap.isOpened()`方法检查摄像头是否成功打开,然后使用`cap >> frame`方法获取一帧视频并将其显示在窗口中。最后,使用`cap.release()`方法释放资源并关闭窗口。请注意,这段代码使用了OpenCV的C++接口,因此需要包含相应的头文件并链接OpenCV库。
阅读全文