opencv c++截取录像帧
时间: 2024-01-25 10:13:00 浏览: 77
以下是使用OpenCV C++截取视频帧的示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
cv::VideoCapture capture("E:/ship/200/kejian.mp4");
if (!capture.isOpened()) {
return -1;
}
int imgIndex = 0;
int i = 1;
cv::Mat frame;
while (capture.read(frame)) {
// 在这里对每一帧进行处理,例如输出为固定尺寸大小
cv::resize(frame, frame, cv::Size(640, 480));
// 保存处理后的帧
std::string filename = "frame_" + std::to_string(imgIndex) + ".jpg";
cv::imwrite(filename, frame);
imgIndex++;
}
capture.release();
return 0;
}
```
这段代码使用`cv::VideoCapture`打开视频文件,并使用`capture.read(frame)`循环读取每一帧。在循环中,可以对每一帧进行处理,例如调整尺寸大小。然后,使用`cv::imwrite`保存处理后的帧为图像文件。
请注意,你需要根据你的实际情况修改视频文件的路径和保存图像的路径。
阅读全文