0008-用OpenCV的VideoWriter類進行視訊寫/輸出操作!
阿新 • • 發佈:2018-11-14
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