//读取本地视频
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
string videoDir = "video/"; //原视频存放目录
string outputVideo = videoDir + "ouput.mp4";
VideoCapture cap(videoDir + "test1.mp4"); //写视频存放目录
VideoWriter writer;
const int fps = 30; //写视频帧率
const int hight = cap.get(CAP_PROP_FRAME_HEIGHT); //视频帧高度
const int width = cap.get(CAP_PROP_FRAME_WIDTH); //视频帧宽度
Size size(width, hight);
writer.open(outputVideo, CV_FOURCC('M', 'J', 'P', 'G'), fps, size);
while (1)
{
Mat frame;
Mat outputFrame;
cap >> frame; //读视频
if (frame.empty())
break;
writer << outputFrame; //写视频
imshow("video", frame);
waitKey(100);
}
}
//打开摄像头读取视频
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture cap(0); //打开笔记本的默认摄像头,index = 0
if (!cap.isOpened())
return 0; //打开失败,返回
while (1)
{
Mat frame;
cap.read(frame); //读取帧画面
if (frame.empty())
break;
imshow("video", frame); //显示视频画面
waitKey(30);
}
cap.release();
}