使用C或C++ 写一个VideoCapture open 打开摄像头并且拍照代码
时间: 2024-05-17 10:13:20 浏览: 119
好的,以下是一段使用OpenCV库的C++代码,可以打开摄像头并拍照保存到本地:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 打开摄像头
VideoCapture cap(0);
// 检查摄像头是否成功打开
if (!cap.isOpened())
{
cout << "无法打开摄像头" << endl;
return -1;
}
// 读取摄像头中的图像
Mat frame;
cap.read(frame);
// 如果成功读取到图像
if (!frame.empty())
{
// 显示摄像头中的图像
imshow("Camera", frame);
// 保存图像到本地
imwrite("photo.jpg", frame);
}
// 等待用户按下任意键关闭窗口
waitKey(0);
// 关闭摄像头和窗口
cap.release();
destroyAllWindows();
return 0;
}
```
在代码中,我们首先使用 `VideoCapture cap(0)` 打开编号为 0 的摄像头,也就是默认的摄像头。然后检查摄像头是否成功打开,如果没有成功则返回 -1。接着使用 `cap.read(frame)` 从摄像头中读取一帧图像,保存到 `frame` 变量中。如果成功读取到图像,则使用 `imshow()` 显示图像,并使用 `imwrite()` 将图像保存到本地。最后使用 `waitKey(0)` 等待用户按下任意键关闭窗口,然后释放摄像头资源并关闭窗口。
阅读全文