【opencv】7. cv::VideoWriter的使用,把图片写进video
生活随笔
收集整理的這篇文章主要介紹了
【opencv】7. cv::VideoWriter的使用,把图片写进video
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cv::VideoWriter的使用,把圖片寫進video
//注意:輸出的視頻名稱中必須有數字,否則會報錯,CAP_IMAGES: can't find starting number (in the name of file):....,可以查看源碼,這個錯誤不查看源碼根本就找不到問題所在。cv::VideoWriter video_writer_;int frame_count_;//初始化 if (FLAGS_use_test_mode) {// int codec = CV_FOURCC('M', 'J', 'P', 'G');int codec = cv::VideoWriter::fourcc('M', 'J', 'P', 'G');const std::string output_video_file = FLAGS_camera_name + ".avi"; //視頻名稱必須包含數字video_writer_.open(output_video_file, codec, 10, cv::Size(1920, 1080));if (!video_writer_.isOpened()) {SERROR << "Can't create output video file: " << output_video_file;return;}}//當程序運行到這里時,就開始把圖片寫進video.if (FLAGS_use_test_mode) {SRETURN_IF(FLAGS_skip_frame_num <= 0);if ((frame_count_ < FLAGS_max_save_frame_count * FLAGS_skip_frame_num) &&((frame_count_ % FLAGS_skip_frame_num) == 0)) {cv::Mat rgb_img=frame;if ((rgb_img.cols != 1920) || (rgb_img.rows != 1080)) {cv::Mat dst_img;cv::resize(rgb_img, dst_img, cv::Size(1920, 1080), 0, 0,cv::INTER_NEAREST);video_writer_.write(dst_img);} else {video_writer_.write(rgb_img); //圖片寫進視頻}}if (frame_count_ > FLAGS_max_save_frame_count * FLAGS_skip_frame_num) {video_writer_.release();}++frame_count_;} // if FLAGS_use_test_mode總結
以上是生活随笔為你收集整理的【opencv】7. cv::VideoWriter的使用,把图片写进video的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【opencv】6.视频编码格式与封装格
- 下一篇: 【opencv】8.获取鼠标动作(滑轮滚