看板 Python 關於我們 聯絡資訊
剛剛接觸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 . . . . -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.122.72.56
uranusjr:\' 是跳脫序列, 所以你這個程式應該會直接 crash 才對 01/24 11:10
dawnknight:所以是要把"\"改成"/"嗎? 不過把結果好像一樣 QQ 01/24 14:50
marksmanz:我跑你的這段程式有影片出來… 不一樣的地方只有 \ -> / 01/24 21:59
marksmanz:跟 ffmpeg 不知道哪個好用 01/24 22:02
dawnknight:那我猜說不定是codec的問題?我是新電腦沒裝什麼codec 01/24 23:39
dawnknight:請問一下m大妳是選哪種壓縮方式? 01/24 23:40
cliffu06:我在createvideo有個參數你沒有誒,你參考看看 01/24 23:51
cliffu06:Cv.CV_FOURCC('X','V','I','D') 01/24 23:52
cliffu06:如果要方便性,建議使用ffmpeg比較快 01/24 23:53
cliffu06:至於要給opencv的圖,當然要用opencv的方法開啟阿XDD 01/24 23:55
marksmanz:本來只是想重現你的問題,所以是以你的code去跑的 01/25 00:07
marksmanz:執行下去有跳一個小視窗給我選壓縮程式 01/25 00:07
marksmanz:就選預設的 Cinepak Codec by Radius 就這樣,就有video 01/25 00:08
marksmanz:你可以用 PIL 處理完圖片,再用 pyffmpeg 合成 video 01/25 00:09
marksmanz:這樣彈性應該比較好 01/25 00:10
dawnknight:感謝大家 我來試看看 ^^ 01/25 02:29
dawnknight:目前把\->/ 安裝完codec 重開機 就可以了 謝謝大家 01/25 04:32
※ 編輯: dawnknight 來自: 128.122.72.56 (01/25 05:32) ※ 編輯: dawnknight 來自: 128.122.72.56 (01/25 05:34)