溫馨提示×

溫馨提示×

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

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

利用C++ opencv ffmpeg實(shí)現(xiàn)圖片序列化功能

發(fā)布時間:2020-11-06 17:04:34 來源:億速云 閱讀:436 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)利用C++ opencv ffmpeg實(shí)現(xiàn)圖片序列化功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、使用ffmpeg命令

ffmpeg -y -framerate 10 -start_number 1 -i E:\Image\Image_%d.bmp E:\test.mp4
-y 			 表示輸出時覆蓋輸出目錄已存在的同名文件
-framerate 10		 表示視頻幀率
-start_number 1		 表示圖片序號從1開始
-i E:\Image\Image_%d.bmp 表示圖片輸入流格式 

2、c++ 實(shí)現(xiàn) ffmpeg命令

2.1、system方式

// 代碼中執(zhí)行過程中會出現(xiàn)黑屏的閃爍,無法隱藏
system("ffmpeg.exe -y -framerate 10 -start_number 1 -i E:\Image\Image_%d.bmp E:\test.mp4");

2.2、ShellExecuteEx方式

SHELLEXECUTEINFO ShExecInfo = { 0 };
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;

ShExecInfo.lpVerb = L"open";
ShExecInfo.lpFile = L"ffmpeg.exe";
ShExecInfo.lpParameters = L"ffmpeg.exe -y -framerate 10 -start_number 1 -i E:\Image\Image_%d.bmp E:\test.mp4";

ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;//窗口狀態(tài)為隱藏
ShExecInfo.hInstApp = NULL;
if (ShellExecuteEx(&ShExecInfo))
{
  if (ShExecInfo.hProcess)
  {
    WaitForSingleObject(ShExecInfo.hProcess, INFINITE);
  }
}

3、使用opencv

cv::Mat image;
int fps = 10;//視頻幀率

/*cv::VideoWriter::fourcc('M', 'P', '4', 'V')生成MP4格式視頻*/
/*cv::VideoWriter::fourcc('M', 'J', 'P', 'G')生成avi格式視頻,大小比'X', 'V', 'I', 'D'大*/
/*cv::VideoWriter::fourcc('X', 'V', 'I', 'D')生成avi格式視頻*/
cv::VideoWriter writer("video_out.avi", cv::VideoWriter::fourcc('M', 'J', 'P', 'G'),
            fps, cv::Size(3840, 2748)/*圖片大小,一定不能出錯*/, 0);

for (size_t i = 1; i <= 100; i++)
{
  image = cv::imread("Image_" + std::to_string(i) + ".bmp", cv::IMREAD_GRAYSCALE);
  if (!image.empty())
  {
    writer.write(image);
  }
}

上述就是小編為大家分享的利用C++ opencv ffmpeg實(shí)現(xiàn)圖片序列化功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI