前言
这篇文章主要讲述如何读取视频并且获取一帧图像和帧率
一、代码
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
VideoCapture cap;
cap.open("C://Users//john//Desktop//VID20211016121229.mp4");
if (!cap.isOpened())
{
std::cout << "不能打开视频文件" << std::endl;
return -1;
}
double fps = cap.get(CAP_PROP_FPS);
std::cout << "fps" << fps << std::endl;
while (1)
{
cv::Mat frame;
bool rSucess = cap.read(frame);
if (!rSucess)
{
std::cout << "不能从视频文件中读取帧" << std::endl;
break;
}
else
{
cv::imshow("frame", frame);
}
waitKey(0);
}
}
总结
代码运行成功,就可以成功从视频中读取一帧并且获取帧率。