前言:为了对视频帧的处理更加高效,更改降低图像的分辨率,这里写了有关视频处理的代码。看到网上很多是使用python写的,这里是使用C++/opencv写的。
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapture capture("F:\\leafseg\\video1.mp4");//获取视频,根据自己的视频位置更改
if (!capture.isOpened())
return -1;
Mat frame;
capture.set(CAP_PROP_FRAME_WIDTH, 640);
capture.set(CAP_PROP_FRAME_HEIGHT, 480);
Mat image;
//VideoWriter(const String & filename, int fourcc, double fps,Size frameSize, bool isColor = true);
VideoWriter videowriter("F:\\leafseg\\video1Change.avi", VideoWriter::fourcc('M', 'J', 'P', 'G'),30,Size(640,480),true); //改变图像的帧速为30,图像帧的大小是(640,480)
while (capture.read(image))
{
resize(image, image, Size(640, 480), INTER_LINEAR);
videowriter.write(