Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用opencv制作视频,仅获得1帧_Python_Opencv_Video - Fatal编程技术网

Python 使用opencv制作视频,仅获得1帧

Python 使用opencv制作视频,仅获得1帧,python,opencv,video,Python,Opencv,Video,我一直在尝试使用opencv将视频制作模块添加到我的程序中,但尽我所能,我无法让视频显示超过1帧。 我在搜索答案时得到了这个示例代码 () 这将创建一个运行3秒钟的视频,但在所有3秒钟内仅显示第一个图像。是否存在编解码器错误或我遗漏了什么?您可以使用: cv.WriteFrame(writer, image) 像这样: import cv img1 = cv.LoadImage('i001.png') img2 = cv.LoadImage('i002.png') img3 = c

我一直在尝试使用opencv将视频制作模块添加到我的程序中,但尽我所能,我无法让视频显示超过1帧。 我在搜索答案时得到了这个示例代码 ()

这将创建一个运行3秒钟的视频,但在所有3秒钟内仅显示第一个图像。是否存在编解码器错误或我遗漏了什么?

您可以使用:

 cv.WriteFrame(writer, image)
像这样:

 import cv

 img1 = cv.LoadImage('i001.png')
 img2 = cv.LoadImage('i002.png')
 img3 = cv.LoadImage('i003.png')

 writer=cv.CreateVideoWriter(filename, fourcc, fps, frame_size, is_color)

 cv.WriteFrame(writer, img1)
 cv.WriteFrame(writer, img2)
 cv.WriteFrame(writer, img3)
再看看:


看看这个,试试不同的编解码器。这似乎是一个解码/编码问题。试着用fourcc的
mjpg
i420
看看它是否有什么变化。谢谢,i420编解码器似乎可以工作,我以前试过很多没有用的。
 import cv

 img1 = cv.LoadImage('i001.png')
 img2 = cv.LoadImage('i002.png')
 img3 = cv.LoadImage('i003.png')

 writer=cv.CreateVideoWriter(filename, fourcc, fps, frame_size, is_color)

 cv.WriteFrame(writer, img1)
 cv.WriteFrame(writer, img2)
 cv.WriteFrame(writer, img3)