91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV2從攝像頭獲取幀并寫入視頻文件的示例分析

發布時間:2021-05-22 13:37:57 來源:億速云 閱讀:143 作者:小新 欄目:開發技術

小編給大家分享一下OpenCV2從攝像頭獲取幀并寫入視頻文件的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一段基于OpenCV2的代碼。

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

需要注意的是,視頻文件所在的路徑需要存在,例如D:/images/1.avi。images這個目錄需要存在。調用VideoWrite類對象的成員函數open時,編解碼方式參數設置為-1,代碼運行時會彈出對話框,手動選擇編解碼方式。

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

int main()
{
 //打開攝像頭
 cv::VideoCapture captrue(0);
 //視頻寫入對象
 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);
 //打開視頻文件,準備寫入
 write.open(outFlie, -1, r, S, true);

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

看完了這篇文章,相信你對“OpenCV2從攝像頭獲取幀并寫入視頻文件的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黔西县| 武邑县| 霍州市| 灵台县| 尚志市| 玉溪市| 桃源县| 都江堰市| 红原县| 潜山县| 卢龙县| 永寿县| 合山市| 报价| 乌海市| 中山市| 锦州市| 莱州市| 鹤庆县| 渑池县| 吉隆县| 宜兰县| 商都县| 东港市| 根河市| 同德县| 长治市| 淄博市| 枣强县| 岚皋县| 尼玛县| 宜都市| 合山市| 涡阳县| 娱乐| 仪陇县| 无为县| 万山特区| 普陀区| 云阳县| 平定县|