1. 程式人生 > >0008-用OpenCV的VideoWriter類進行視訊寫/輸出操作!

0008-用OpenCV的VideoWriter類進行視訊寫/輸出操作!

OpenCV提供了VideoWriter類進行視訊寫操作,這個類詳細的說明大家可以去OpenCV官方網站去查詢,官方網站對這個類的說明的地址為
http://docs.opencv.org/3.0-beta/ ... eo.html#videowriter
這裡不贅述了!

直接上示例程式碼,大家看了程式碼後就知道該怎麼用了!

影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注!
程式碼中用的視訊下載連結:http://pan.baidu.com/s/1qYbRtqW 密碼:5bcu

//opencv版本:OpenCV3.0
//VS版本:VS2013
//Author:qxsf321.net

#include <opencv2/imgproc/imgproc.hpp>    
#include <opencv2/core/core.hpp>          
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/types_c.h>  
#include <opencv2/videoio/videoio_c.h>  
#include <iostream>

using namespace std;
using namespace cv;

void main()
{
        /** 開啟輸入視訊檔案 */
        cv::VideoCapture vc;
        vc.open("jay_what is wrong.avi");

        if (vc.isOpened())
        {
                /** 開啟輸出視訊檔案 */
                cv::VideoWriter vw;
                vw.open("output.avi", // 輸出視訊檔名
                        (int)vc.get(CV_CAP_PROP_FOURCC), // 也可設為CV_FOURCC_PROMPT,在執行時選取
                        (double)vc.get(CV_CAP_PROP_FPS), // 視訊幀率
                        cv::Size((int)vc.get(CV_CAP_PROP_FRAME_WIDTH), (int)vc.get(CV_CAP_PROP_FRAME_HEIGHT)), // 視訊大小
                        true); // 是否輸出彩色視訊

                /** 如果成功開啟輸出視訊檔案 */
                if (vw.isOpened())
                {
                        while (true)
                        {
                                /** 讀取當前視訊幀 */
                                cv::Mat frame;
                                vc >> frame;

                                /** 若視訊讀取完畢,跳出迴圈 */
                                if (frame.empty())
                                {
                                        break;
                                }

                                /** 將視訊寫入檔案 */
                                vw << frame;
                        }
                }
        }

        /** 手動釋放視訊捕獲資源 */
        vc.release();
}


程式執行結束後,會在工程檔案中生成一個名為output.avi的視訊檔案,可以用播放器開啟檢視,只是沒有了音訊!
相關截圖如下

程式執行完後生成的視訊的下載連結如下:http://pan.baidu.com/s/1bpnNrbD 密碼:sdc6