本文做的是基于opencv將視頻幀轉成圖片輸出,由于一個視頻包含的幀數過多,經常我們并不是需要它的全部幀轉成圖片,因此我們希望可以設置每隔多少幀再轉一次圖片(本文設置為30幀),若有人需求是只需要前多少幀,也可以類似的改寫下代碼即可。
本文代碼如下:
#include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace cv; // 描述:將視頻幀轉成圖片輸出 void main() { // 獲取視頻文件 VideoCapture cap("J:\\CQH\\DLFR\\lab_face\\video\\DSC_0023.MOV"); // 獲取視頻總幀數 long totalFrameNumber = cap.get(CV_CAP_PROP_FRAME_COUNT); cout << "total frames: " << totalFrameNumber << endl; Mat frame; bool flags = true; long currentFrame = 0; while (flags){ // 讀取視頻每一幀 cap.read(frame); stringstream str; str << "cqh" << currentFrame << ".jpg"; cout << "正在處理第" << currentFrame << "幀" << endl; printf("\n"); // 設置每30幀獲取一次幀 if (currentFrame % 30 == 0){ // 將幀轉成圖片輸出 imwrite("J:\\CQH\\DLFR\\lab_face\\videoToImages\\DSC_0023\\" + str.str(), frame); } // 結束條件 if (currentFrame >= totalFrameNumber){ flags = false; } currentFrame++; } system("pause"); }
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:使用opencv將視頻幀轉成圖片輸出-創新互聯
瀏覽地址:http://vcdvsql.cn/article28/cssgcp.html
成都網站建設公司_創新互聯,為您提供定制開發、企業網站制作、企業建站、App開發、ChatGPT、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯