Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.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 2.4.0创建视频_Python_Video_Opencv - Fatal编程技术网

在python中使用OpenCV 2.4.0创建视频

在python中使用OpenCV 2.4.0创建视频,python,video,opencv,Python,Video,Opencv,我正在尝试使用python2.7.2中的opencv2.4.0创建视频。但是avi文件大小为0 我的代码: from cv2 import * im1 = cv.LoadImage("1.jpg") fps = 20 frame_size = cv.GetSize(im1) #writer = cv.CreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True) v = VideoWri

我正在尝试使用
python2.7.2
中的
opencv2.4.0
创建视频。但是
avi
文件大小为0

我的代码:

from cv2 import *

im1 = cv.LoadImage("1.jpg")

fps = 20
frame_size = cv.GetSize(im1)

#writer = cv.CreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)

v = VideoWriter()

v.open("out.avi", cv.CV_FOURCC('F', 'M', 'P', '4'), fps, (800,600), True)
print v.isOpened()
isOpened()
总是返回
false

另一种尝试:

#!/usr/bin/env python
import sys

from cv2 import *

im1 = cv.LoadImage("1.jpg")

if not im1:
    print "Error loading image"

im2 = cv.LoadImage("2.jpg")

if not im1:
    print "Error loading image"

fps = 20
frame_size = cv.GetSize(im1)

writer = cv.CreateVideoWriter("out.avi", cv.CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True)

if not writer:
    print "Error in creating video writer"
    sys.exit(1)
else:
    cv.WriteFrame(writer, im1)
    cv.WriteFrame(writer, im2)

del writer
没有错误,但输出为空

我错过了什么

import cv2

img1 = cv2.imread('1.jpg')
img2 = cv2.imread('2.jpg')
img3 = cv2.imread('3.jpg')

height , width , layers =  img1.shape

video = cv2.VideoWriter('video.avi',-1,1,(width,height))

video.write(img1)
video.write(img2)
video.write(img3)

cv2.destroyAllWindows()
video.release()

一个简单的代码,你想做什么。有关详细信息

找到了适用于我的代码(产生有色噪声):


来源:

我以前没有使用过OpenCV,但我想你需要调用python的等价物,当编写完成时。相关:@AshwiniChaudhary我已经检查了所有的问题,所以没有任何效果。此外,我尝试了delwriter,但仍然一无所获。似乎我遗漏了一些编解码器。我遇到了类似的问题,我猜可能是编写器中存在错误。我得到:AttributeError:'cv2.VideoWriter'对象没有属性'release'不正确的答案:cv2.4.0没有属性'VideoWriter\u fourcc'
writer = cv2.VideoWriter("output.avi", cv2.VideoWriter_fourcc(*"MJPG"), 30,(640,480))
for frame in range(1000):
    writer.write(np.random.randint(0, 255, (480,640,3)).astype('uint8'))
writer.release()
height, width, layers = img.shape
out = cv2.VideoWriter("output.avi", cv2.VideoWriter_fourcc(*"XVID"), 30,(width,height))
out.write(img)
out.release()