[问题] 多张图片合成影片

楼主: 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