[問題] 多張圖片合成影片

作者: dawnknight (冬奈特)   2014-01-24 08:43:35
剛剛接觸python 所以有點不太熟
有上網查了一下做法
我的程式碼如下
import cv
import os, glob,sys
path = 'C:\image\'
video = cv.CreateVideoWriter('output.avi',-1 , 10,(2456,2936), 1)
for infile in glob.glob( os.path.join(path, '*.jpg') ):
img = cv.LoadImage(infile)
cv.WriteFrame(video, img)
del video
但是這樣合成出來的影片大小都是0kb 是哪裡做錯了嗎?
另外 要讀圖片是不是只能用opencv裡的涵式讀? (ex:cv.LoadImage)
而不能用PIL裡的Image.open
麻煩大家了
============================================================
謝謝大家幫忙
重寫一次 給之後有需要的人
安裝opencv-python :
opencv-python-2.4.8.win32-py2.7.exe (http://ppt.cc/8-Cs)
(沒安裝 codec 要安裝一下)
import cv
import os, glob
impath = 'C:/image/' # image path
Fname = 'output.avi' # output file name
FPS = 10
CODE_TYPE = cv.CV_FOURCC('X','V','I','D') # 註一
Fsize = (height,width) #frame size
video = cv.CreateVideoWriter(Fname, CODE_TYPE, FPS, Fsize, is_color = 1)
for infile in glob.glob( os.path.join(impath, '*.jpg') ):
img = cv.LoadImage(infile)
cv.WriteFrame(video, img)
del video
註一
CODE_TYPE = 0 => no compression
CODE_TYPE = -1 => jump out a msgbox asking for the compress formate
=======================================
CODE_TYPE = cv.CV_FOURCC(X,X,X,X)
=======================================
cv.CV_FOURCC('H','F','Y','U') # HuffYUV
cv.CV_FOURCC('D','R','A','C') # BBC Dirac
cv.CV_FOURCC('X','V','I','D') # MPEG-4 Part 2
cv.CV_FOURCC('X','2','6','4') # MPEG-4 Part 10 (aka. H.264 or AVC)
cv.CV_FOURCC('M','P','1','V') # MPEG-1 video
.
.
.
.
作者: uranusjr (←這人是超級笨蛋)   2014-01-24 11:10:00
\' 是跳脫序列, 所以你這個程式應該會直接 crash 才對
作者: dawnknight (冬奈特)   2014-01-24 14:50:00
所以是要把"\"改成"/"嗎? 不過把結果好像一樣 QQ
作者: marksmanz   2014-01-24 21:59:00
我跑你的這段程式有影片出來… 不一樣的地方只有 \ -> /跟 ffmpeg 不知道哪個好用
作者: dawnknight (冬奈特)   2014-01-24 23:39:00
那我猜說不定是codec的問題?我是新電腦沒裝什麼codec請問一下m大妳是選哪種壓縮方式?
作者: cliffu06 (yen)   2014-01-24 23:51:00
我在createvideo有個參數你沒有誒,你參考看看Cv.CV_FOURCC('X','V','I','D')如果要方便性,建議使用ffmpeg比較快至於要給opencv的圖,當然要用opencv的方法開啟阿XDD
作者: marksmanz   2014-01-25 00:07:00
本來只是想重現你的問題,所以是以你的code去跑的執行下去有跳一個小視窗給我選壓縮程式就選預設的 Cinepak Codec by Radius 就這樣,就有video你可以用 PIL 處理完圖片,再用 pyffmpeg 合成 video這樣彈性應該比較好
作者: dawnknight (冬奈特)   2014-01-25 02:29:00
感謝大家 我來試看看 ^^目前把\->/ 安裝完codec 重開機 就可以了 謝謝大家

Links booklink

Contact Us: admin [ a t ] ucptt.com