日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

保存处理后的视频文件

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 保存处理后的视频文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCV是一個強大的計算機視覺庫,而不是視頻流編碼器或者解碼器。希望大家不要走入這個誤區,可以把這部分簡單單獨看待。目前,OpenCV只支持avi的格式,而且生成的視頻文件不能大于2GB,而且不能添加音頻。如果你想突破這些限制,我建議你最好還是看看ffMpeg,而不是浪費時間在OpenCV上。不過也可以利用視頻后期合成工具制作。閑言少敘,進入重點VideoWriter類。

這個類是highgui交互很重要的一個工具類,可以方便我們容易的將圖片序列保存成視頻文件。類內成員函數有構造函數,open,isOpened,write(也可以用<<),使用還是很簡單的。

使用很簡單,先調用構造函數確定文件的名稱,格式,幀率,幀大小,是否彩色。其中格式作為第二個參數,OpenCV提供的格式是未經過壓縮的,目前支持的格式如下:

CV_FOURCC('P', 'I', 'M', '1') = MPEG-1 codec

CV_FOURCC('M', 'J', 'P', 'G') = motion-jpeg codec
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec?
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec?
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec?
CV_FOURCC('U', '2', '6', '3') = H263 codec?
CV_FOURCC('I', '2', '6', '3') = H263I codec?

CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec

然后就<<不停的把image傳進去就行啦,太簡單了,我都不好意思寫了。上代碼:

[cpp]?view plaincopy
  • #include?<opencv2/core/core.hpp>??
  • #include?<opencv2/highgui/highgui.hpp>??
  • ??
  • using?namespace?cv;??
  • ??
  • void?main()??
  • {??
  • ????VideoCapture?capture(0);??
  • ? ?VideoWriter?writer("VideoTest.avi",?CV_FOURCC('M',?'J',?'P',?'G'),?25.0,?Size(640,?480));??
  • ?? ?
  • ????while?(capture.isOpened())??
  • ????{??
  • ? Mat?frame;??
  • ????? if ((frame.rows==0)||(frame.cols==0))
    {
    printf("frame capture failed\n");
    system("pause");
    exit(0);
    }
  • ????????capture?>>?frame;??
  • ????????writer?<<?frame;??
  • ????????imshow("video",?frame);??
  • ????????if?(cvWaitKey(20)?==?27)??
  • ????????{??
  • ????????????break;??
  • ????????}??
  • ????}??
  • }??
  • 總結

    以上是生活随笔為你收集整理的保存处理后的视频文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。