利用Python將多張圖片合成視頻的實現(xiàn)
今天要做一個量子隧穿的的演示動畫,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好這件事。把踩過的坑記一下,同時這段代碼也是值得記錄的,因為以后也可能遇到類似的工作。
先上代碼`
import numpy as np import cv2 #讀取一張圖片 size = (432,288) print(size) #完成寫入對象的創(chuàng)建,第一個參數(shù)是合成之后的視頻的名稱,第二個參數(shù)是可以使用的編碼器,第三個參數(shù)是幀率即每秒鐘展示多少張圖片,第四個參數(shù)是圖片大小信息 videowrite = cv2.VideoWriter(r'F:\test.mp4',-1,20,size)#20是幀數(shù),size是圖片尺寸 img_array=[] for filename in [r'F:\Picture\{0}.png'.format(i) for i in range(600)]: img = cv2.imread(filename) if img is None: print(filename + " is error!") continue img_array.append(img) for i in range(600): videowrite.write(img_array[i]) print('end!')
算法的核心思想,大家的代碼可能千差萬別,但是思路都是一樣的。
1.利用cv2.imread()讀取圖片文件
2.利用cv2.VideoWriter()產(chǎn)生一個對象
3.調(diào)用這個對象的write方法將所需的圖片寫進去,這樣就生成了一個視頻
幾個大坑:
1.
size = (432,288)#這邊是圖片的尺寸,圖片的尺寸得是一樣的,不一樣的話有個博主編了一個resize函數(shù)可以去參考一下
2.imread函數(shù)無法讀取有中文字符的路徑,一定得是英文字符
3.videowrite = cv2.VideoWriter(r'F:\test.mp4',-1,20,size)
這邊的路徑好像也得是英文,我試了含有中文的路徑不行
我把圖片命名為0~599.png
按照以上的代碼文件生成了一下的視頻文件
到此這篇關(guān)于利用Python將多張圖片合成視頻的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python 圖片合成視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
閉包在python中的應(yīng)用之translate和maketrans用法詳解
這篇文章主要介紹了閉包在python中的應(yīng)用之translate和maketrans用法,是比較實用的技巧,需要的朋友可以參考下2014-08-08python根據(jù)時間生成mongodb的ObjectId的方法
這篇文章主要介紹了python根據(jù)時間生成mongodb的ObjectId的方法,涉及Python操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03Python自動化測試基礎(chǔ)必備知識點總結(jié)
在本篇文章里小編給大家分享的是一篇關(guān)于Python自動化測試基礎(chǔ)必備知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-02-02網(wǎng)絡(luò)瀏覽器中運行Python腳本PyScript剖析
這篇文章主要為大家介紹了網(wǎng)絡(luò)瀏覽器中運行Python腳本PyScript剖析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08