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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

OpenCV图像序列生成视频,MATLAB图像生成avi视频,image2video。

發(fā)布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV图像序列生成视频,MATLAB图像生成avi视频,image2video。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

講解如何利用OpenCV合成avi格式視頻。

在處理圖像和視頻的過程中,通常會遇到將視頻轉(zhuǎn)換成圖像處理,或者將處理完的圖像合成原視頻。在基于視頻的處理過程中,通常都是先將視頻轉(zhuǎn)換為每一幀圖像,然后基于圖像去處理。OpenCV有很多關(guān)于Video2Image的相關(guān)算法代碼。注意,視頻轉(zhuǎn)圖像過程中,只要有OpenCV配置好了,正常條件下都可以轉(zhuǎn)換成圖像。不依賴其他庫,不依賴第三方庫。

將圖像轉(zhuǎn)合成視頻的過程中,需要將圖像保存在一個文件夾下,然后用OpenCV來的videowriter類來添加一幀一幀圖像,最后合成avi視頻。注意,OpenCV只能合成avi格式的視頻。按照常規(guī)步驟,就合成了視頻。但是,此時可以看到,視頻文件是生成了,但是大小是0kb。算法不會報錯,但是并沒有生成視頻。注意,這是缺少第三方庫,如下圖所示。沒有任何信息。

以上是用OpenCV生成的視頻。

?

從這里可以看出,沒有任何信息。說明沒有生成成功。

通過各種查找,需要將?opencv_ffmpeg247.dll 以及opencv_ffmpeg247_64.dll這兩個dll文件放在工程目錄下面,以及exe文檔下面。如下圖所示。 可以在這個鏈接下載這兩個文件。自己改為支持版本的名字即可。比如opencv3.1.0就將dll改為opencv_ffmpeg310.dll。??opencv_ffmpeg247圖像轉(zhuǎn)視頻庫下載。基于OpenCV。

現(xiàn)在可以看到,生成的文件,具有大小,以及可以用了。但從最后結(jié)果看,雖然有具體大小的信息,但是在詳細(xì)信息里面,并沒有幀率,像素大小等信息,很多手機還看不了,只能借助播放器才能看,比如qq影音。

具體代碼如下:

?? ?//創(chuàng)建一個寫視頻類,格式設(shè)定為MJPG,還有其他格式,自己可以改;
?? ?//注意,后綴只能是avi;幀率自己可以設(shè)置,設(shè)置為50fps,或者80。都可以自己修改。

? ? //大小盡量和原始圖像保持一致。

#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/core/core.hpp>using namespace std;
using namespace cv;int main(int argc,char **argv)
{//創(chuàng)建一個寫視頻類,格式設(shè)定為MJPG,還有其他格式,自己可以改;//注意,后綴只能是avi;VideoWriter writer("E:\\high_speed_vision\\rereslut_50fps.avi", CV_FOURCC('M', 'J', 'P', 'G'), 50, Size(512,512),1);//int i=0;int count=0;for (int i = 0; i <172; i++){//讀取原始圖像;Mat src=imread("E:\\high_speed_vision\\original\\"+to_string(i)+".png",1);if(src.empty()){cout<<"null"<<endl;}resize(src,src,Size(512,512));//將圖像寫入視頻;writer.write(src);namedWindow("show image");imshow("show image", src);waitKey(10);count++;}cout<<"count is:"<<count<<endl;waitKey(0);writer.release();
}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?MATLAB合成視頻? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

其實,為了可以方便的生成視頻,也可以用MATLAB來做視頻。 MATLAB寫視頻或許更方便,不需要第三方的依賴庫。

我當(dāng)時的視頻在手機放不能看,雖然用OpenCV生成了視頻,但是最后還是用MATLAB來合成了視頻。代碼如下:

clc; clear all;
%定義生成視頻的名稱和位置;
writerObj = VideoWriter('tracking_50fps.avi');
%設(shè)置幀率;
writerObj.FrameRate=50;
open(writerObj);
%圖像存放地點;
pt = 'F:\video_generate\result_every\';%循環(huán)遍歷所有圖像,寫進(jìn)去就是;
for k = 1:171image = imread([pt,num2str(k),'.png']);writeVideo(writerObj,image);
endclose(writerObj);

最后能看到詳細(xì)信息如下:

?

?

總結(jié)

以上是生活随笔為你收集整理的OpenCV图像序列生成视频,MATLAB图像生成avi视频,image2video。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。