画像の書き出し
imwrite関数で画像を保存できます。第一引数に出力する場所へのパスを指定します。拡張子はpng、jpgなどが可能です。Mat型のimgに対して下のようにして画像を書き出せます。
imwrite("img.png", img);
動画の書き出し
VideoWriterを使って動画を書き出せます。#include <opencv2/highgui/highgui.hpp>を先頭に記述する必要があります。「<<」を使ってMatを次々に動画のフレームとして継ぎ足していきます。
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main(){
Mat img;
VideoCapture cap("sample.mp4");
int max_frame=cap.get(CV_CAP_PROP_FRAME_COUNT);
VideoWriter writer("output.avi", CV_FOURCC_DEFAULT, 30, cv::Size(600, 600), true);
for(int i=0; i<max_frame;i++){
cap>>img ;
writer << img;
imshow("Video",img);
waitKey(1);
}
return 0;
}