目录
获取视频参数
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
capture.open("./xx.mp4");
cout << capture.isOpened() << endl;
int width = capture.get(cv::CAP_PROP_FRAME_WIDTH);
int height = capture.get(cv::CAP_PROP_FRAME_HEIGHT);
auto fps = capture.get(cv::CAP_PROP_FPS);
cout << "width: " << width << ", " << "height: " << height << endl;
cout << "fps: " << fps << endl;
if (!capture.isOpened())
{ cout << "read video fail" << endl; }
else {
cout << "read video success" << endl;
}
}
1
width: 640, height: 368
fps: 24
read video success
读视频&显示
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
capture.open("./xx.mp4");
if (!capture.isOpened())
{ cout << "read video fail" << endl; }
Mat img;
while (capture.read(img))
{
imshow("img",img);
waitKey(200);
}
}
读视频&保存成图片
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
capture.open("./xx.mp4");
if (!capture.isOpened())
{ cout << "read video fail" << endl; }
Mat img;
int index = 1;
string imgName;
while (capture.read(img))
{
imshow("img",img);
waitKey(100);
imgName = to_string(index) + ".jpg";
imwrite("./images/"+imgName, img);
index += 1;
}
}