用C++实现opencv调用摄像头
时间: 2024-05-19 09:15:51 浏览: 12
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 打开默认摄像头
VideoCapture cap(0);
// 检查是否成功打开摄像头
if (!cap.isOpened()) {
cerr << "Unable to open the default camera!" << endl;
return -1;
}
// 创建窗口
namedWindow("Camera", WINDOW_AUTOSIZE);
while (true) {
Mat frame;
// 读取一帧图像
cap.read(frame);
// 显示图像
imshow("Camera", frame);
// 等待按键
int key = waitKey(30);
// 按下ESC键退出
if (key == 27) {
break;
}
}
// 释放摄像头
cap.release();
// 关闭窗口
destroyAllWindows();
return 0;
}
相关问题
vscode c++ opencv调用摄像头
可以使用OpenCV库中的VideoCapture类来调用摄像头。首先需要安装OpenCV库并在VSCode中配置好环境。然后可以使用以下代码来调用摄像头:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
VideoCapture cap(0); // 0表示默认摄像头,也可以指定其他摄像头
if (!cap.isOpened()) {
return -1;
}
Mat frame;
while (true) {
cap.read(frame);
imshow("Camera", frame);
if (waitKey(30) == 27) { // 按ESC键退出
break;
}
}
cap.release();
destroyAllWindows();
return 0;
}
```
这段代码会不断读取摄像头的画面并显示在窗口中,按ESC键可以退出。
C++opencv调用摄像头显示视频
可以使用OpenCV库中的VideoCapture类来调用摄像头并显示视频。以下是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cap(0); // 0表示调用默认的摄像头,如果有多个摄像头可以传入对应的编号
if (!cap.isOpened())
{
cout << "Failed to open camera." << endl;
return -1;
}
namedWindow("Camera", WINDOW_NORMAL);
while (true)
{
Mat frame;
cap >> frame; // 读取视频帧
if (frame.empty())
{
cout << "Failed to capture frame." << endl;
break;
}
imshow("Camera", frame);
if (waitKey(30) == 'q') // 按q键退出
{
break;
}
}
cap.release(); // 释放摄像头
destroyAllWindows();
return 0;
}
```
该代码首先创建了一个名为`Camera`的窗口,然后使用`VideoCapture`类调用默认的摄像头。在一个无限循环中,读取每一帧视频,并在窗口中显示。按下`q`键可以退出程序。最后释放摄像头并关闭窗口。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)