使用visual c++ 和opencv打开一个摄像头
时间: 2023-12-03 13:47:48 浏览: 119
可以使用以下代码来打开摄像头:
```
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 打开摄像头
VideoCapture cap(0);
if (!cap.isOpened())
{
printf("无法打开摄像头!\n");
return -1;
}
// 创建窗口
namedWindow("Camera", CV_WINDOW_AUTOSIZE);
// 循环读取摄像头数据
while (true)
{
Mat frame;
cap.read(frame);
imshow("Camera", frame);
// 按下ESC键退出
if (waitKey(30) == 27) break;
}
return 0;
}
```
在上面的代码中,我们首先使用 `VideoCapture` 类创建一个对象 `cap`,并传入参数 0 表示打开默认的摄像头。如果无法打开,则会输出错误信息并退出程序。
然后我们使用 `namedWindow` 创建了一个名为 "Camera" 的窗口,用于显示摄像头捕获的图像。
接着我们使用一个无限循环来不断读取摄像头数据,并使用 `imshow` 函数将每一帧图像显示在窗口中。最后,我们使用 `waitKey` 函数等待用户按下 ESC 键退出程序。
阅读全文