保存视频图像,Opencv提供了简单的方法,可以将帧依次输入到视频文件中。
VideoWriter的构造函数
CV_WRAP VideoWriter(const String& filename, int fourcc, double fps,Size frameSize, bool isColor = true);
filename:保存视频的路径
fourcc:保存视频的编码格式,若为-1会弹出个编码选择框
fps:视频的帧率
frameSize:视频的分辨率
isColor :默认为真(保存彩色帧),反之为灰度帧
// cv::VideoCapture cap("C:\\Users\\chuan\\Desktop\\123.mp4"); //读取视频文件
// double fps = cap.get(cv::CAP_PROP_FPS);
cv::VideoCapture cap(0); //摄像头序号
double fps = 30;
cv::Size size((int)cap.get(cv::CAP_PROP_FRAME_WIDTH), (int)cap.get(cv::CAP_PROP_FRAME_HEIGHT)); //视频的分辨率
cv::VideoWriter writer;
writer.open("C:\\Users\\chuan\\Desktop\\321.mp4", CV_FOURCC('D','I','V','X'),fps,size);
cv::Mat frame;
for(;;)
{
cap >> frame;
if(frame.empty()) break;
cv::imshow("examp",frame);
writer << frame;
char c = cv::waitKey(10);
if(c==27)break;
}
writer.release();