利用Python將多張圖片合成視頻的實(shí)現(xiàn)
今天要做一個(gè)量子隧穿的的演示動(dòng)畫(huà),在CSDN上看了很多大佬的文章,然而忙了接近半天才做好這件事。把踩過(guò)的坑記一下,同時(shí)這段代碼也是值得記錄的,因?yàn)橐院笠部赡苡龅筋愃频墓ぷ鳌?/p>
先上代碼`
import numpy as npimport cv2#讀取一張圖片size = (432,288)print(size)#完成寫(xiě)入對(duì)象的創(chuàng)建,第一個(gè)參數(shù)是合成之后的視頻的名稱,第二個(gè)參數(shù)是可以使用的編碼器,第三個(gè)參數(shù)是幀率即每秒鐘展示多少?gòu)垐D片,第四個(gè)參數(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!’)
算法的核心思想,大家的代碼可能千差萬(wàn)別,但是思路都是一樣的。
1.利用cv2.imread()讀取圖片文件2.利用cv2.VideoWriter()產(chǎn)生一個(gè)對(duì)象3.調(diào)用這個(gè)對(duì)象的write方法將所需的圖片寫(xiě)進(jìn)去,這樣就生成了一個(gè)視頻
幾個(gè)大坑:
1.
size = (432,288)#這邊是圖片的尺寸,圖片的尺寸得是一樣的,不一樣的話有個(gè)博主編了一個(gè)resize函數(shù)可以去參考一下
2.imread函數(shù)無(wú)法讀取有中文字符的路徑,一定得是英文字符
3.videowrite = cv2.VideoWriter(r’F:test.mp4’,-1,20,size)這邊的路徑好像也得是英文,我試了含有中文的路徑不行
我把圖片命名為0~599.png
按照以上的代碼文件生成了一下的視頻文件
到此這篇關(guān)于利用Python將多張圖片合成視頻的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 圖片合成視頻內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ThinkPHP5 通過(guò)ajax插入圖片并實(shí)時(shí)顯示(完整代碼)2. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考3. Java構(gòu)建JDBC應(yīng)用程序的實(shí)例操作4. Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫(kù)進(jìn)行日期格式化的實(shí)現(xiàn)方法5. javascript設(shè)計(jì)模式 ? 建造者模式原理與應(yīng)用實(shí)例分析6. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟7. 一篇文章帶你了解JavaScript-對(duì)象8. 解決Python paramiko 模塊遠(yuǎn)程執(zhí)行ssh 命令 nohup 不生效的問(wèn)題9. python flask框架快速入門10. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐
