最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV2從攝像頭獲取幀并寫入視頻文件的方法

 更新時(shí)間:2018年08月03日 11:07:49   作者:林多  
今天小編就為大家分享一篇OpenCV2從攝像頭獲取幀并寫入視頻文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

一段基于OpenCV2的代碼。

作用是從攝像頭獲取幀并將幀寫入指定的視頻文件中。

需要注意的是,視頻文件所在的路徑需要存在,例如D:/images/1.avi。images這個(gè)目錄需要存在。調(diào)用VideoWrite類對(duì)象的成員函數(shù)open時(shí),編解碼方式參數(shù)設(shè)置為-1,代碼運(yùn)行時(shí)會(huì)彈出對(duì)話框,手動(dòng)選擇編解碼方式。

#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\core\core.hpp>

int main()
{
 //打開攝像頭
 cv::VideoCapture captrue(0);
 //視頻寫入對(duì)象
 cv::VideoWriter write;
 //寫入視頻文件名
 std::string outFlie = "D:/1.avi";
 //獲得幀的寬高
 int w = static_cast<int>(captrue.get(CV_CAP_PROP_FRAME_WIDTH));
 int h = static_cast<int>(captrue.get(CV_CAP_PROP_FRAME_HEIGHT));
 cv::Size S(w, h);
 //獲得幀率
 double r = captrue.get(CV_CAP_PROP_FPS);
 //打開視頻文件,準(zhǔn)備寫入
 write.open(outFlie, -1, r, S, true);

 //打開失敗
 if (!captrue.isOpened())
 {
  return 1;
 }
 bool stop = false;
 cv::Mat frame;
 //循環(huán)
 while (!stop)
 {
  //讀取幀
  if (!captrue.read(frame))
   break;
  cv::imshow("Video", frame);
  //寫入文件
  write.write(frame);
  if (cv::waitKey(10) > 0)
  {
   stop = true;
  }
 }
 //釋放對(duì)象
 captrue.release();
 write.release();
}

以上這篇OpenCV2從攝像頭獲取幀并寫入視頻文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

鸡东县| 上虞市| 巴彦淖尔市| 乳山市| 旬阳县| 中牟县| 阳山县| 胶南市| 太仆寺旗| 依兰县| 永昌县| 大足县| 磴口县| 凤冈县| 镶黄旗| 禹州市| 温宿县| 宣恩县| 会泽县| 周口市| 当雄县| 广饶县| 宁明县| 涞源县| 永仁县| 赞皇县| 客服| 永州市| 罗田县| 宁明县| 上虞市| 青田县| 绥芬河市| 文成县| 图们市| 西盟| 库伦旗| 石楼县| 灵川县| 普陀区| 红原县|