linux opencv启动双相机
时间: 2024-01-25 20:01:11 浏览: 115
opencv打开两个摄像头
5星 · 资源好评率100%
在Linux系统中启动双相机需要使用OpenCV库进行操作。下面是一个简单的示例代码:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 创建两个摄像头对象
cv::VideoCapture cam1(0);
cv::VideoCapture cam2(1);
// 检查摄像头是否成功打开
if (!cam1.isOpened() || !cam2.isOpened()) {
std::cout << "无法打开相机" << std::endl;
return -1;
}
// 创建窗口显示图像
cv::namedWindow("Camera 1", cv::WINDOW_NORMAL);
cv::namedWindow("Camera 2", cv::WINDOW_NORMAL);
while (true) {
// 读取摄像头图像
cv::Mat frame1, frame2;
cam1.read(frame1);
cam2.read(frame2);
// 检查图像是否成功读取
if (frame1.empty() || frame2.empty()) {
std::cout << "无法从摄像头读取图像" << std::endl;
break;
}
// 显示图像
cv::imshow("Camera 1", frame1);
cv::imshow("Camera 2", frame2);
// 等待按下Esc键退出
if (cv::waitKey(1) == 27) {
break;
}
}
// 释放摄像头对象
cam1.release();
cam2.release();
// 关闭窗口
cv::destroyAllWindows();
return 0;
}
```
以上代码首先创建了两个`VideoCapture`对象,分别表示两个摄像头。然后,通过使用`isOpened()`方法检查摄像头是否成功打开。接下来,创建了两个窗口用于显示图像。在循环中,使用`read()`方法读取摄像头图像,并使用`imshow()`方法显示在窗口中。最后,通过`waitKey()`方法等待按下Esc键退出循环。循环结束后,释放了摄像头对象,并关闭了窗口。
阅读全文