学习opencv3示例2-11 写入AVI文件,用VideoWriter保存视频失败
opencv用VideoWriter保存視頻失敗,報錯?FFMPEG: tag 0x00000898/'\230???' is not found (format 'avi / AVI (Audio Video Interleaved)')'
?
#include <opencv2/opencv.hpp>
#include <iostream>
?
int main(int argc, char* argv[]){
?? ?
? ? cv::namedWindow("Example2_11", cv::WINDOW_AUTOSIZE);
? ? cv::namedWindow("Log_polar", cv::WINDOW_AUTOSIZE);
?? ?
? ? cv::VideoCapture capture( "/Users/liudongxue/Desktop/liu.mp4");
?? ?
? ? double fps = capture.get( cv::CAP_PROP_FPS);
? ? cv::Size size( (int)capture.get( cv::CAP_PROP_FRAME_WIDTH ),\
? ? ? ? ? ? ? ? ? (int)capture.get( cv::CAP_PROP_FRAME_HEIGHT));
?? ?
? ? cv::VideoWriter writer;
?? //重點是下面這句,直接用書上的不行,稍稍上網(wǎng)查過之后會改成這樣,?writer.open( "/Users/liudongxue/Desktop/liu_out01.avi",cv::CAP_OPENCV_MJPG,fps, size);運行發(fā)現(xiàn)也沒保存成功,后來看了這個網(wǎng)頁試了一下可以,https://blog.csdn.net/struggletolife/article/details/98498004改后是下面這個樣子:
? ? writer.open( "/Users/liudongxue/Desktop/liu_out01.avi",cv::VideoWriter::fourcc('M', 'J', 'P', 'G'),fps, size);
? ? //輸出文件的文件名里最好有數(shù)字,設(shè)置斷點調(diào)試的時候會提示加數(shù)字。
? ? cv::Mat logpolar_frame, bgr_frame;
? ? for(;;){
? ? ? ? capture >> bgr_frame;
? ? ? ? if( bgr_frame.empty() ) break;
?? ? ? ?
? ? ? ? cv::imshow("Example2_11", bgr_frame);
?? ? ? ?
? ? ? ? cv::logPolar( bgr_frame, logpolar_frame, \
?? ? ? ? ? ? ? ? ? ? cv::Point2f( bgr_frame.cols/2, bgr_frame.rows/2),\
?? ? ? ? ? ? ? ? ? ? 40,cv::WARP_FILL_OUTLIERS);
?? ? ? ?
? ? ? ? cv::imshow("Log_Polar", logpolar_frame);
? ? ? ? writer << logpolar_frame;
?? ? ? ?
? ? ? ? char c = cv::waitKey(10);
? ? ? ? if( c == 27 ) break;
?? ? ? ?
? ? }
? ? capture.release();
}
總結(jié)
以上是生活随笔為你收集整理的学习opencv3示例2-11 写入AVI文件,用VideoWriter保存视频失败的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 试题 历届试题 对局匹配(动态规划)保证
- 下一篇: 王者荣耀资深游戏建模师分享游戏角色制作过