当通过函数调用传递cv2.VideoWriter
对象时,我似乎无法让cv2.VideoWriter
将任何帧写入视频。我不知道它是否是一个不可变的对象,这可能就是原因?你知道吗
我知道当我在没有使用函数的情况下添加随机的单个帧时,这是有效的。你知道吗
我尝试过简单地从每个函数调用返回并存储VideoWriter对象,但没有结果。你知道吗
这样做有效:
import cv2
fourcc = cv2.VideoWriter_fourcc(*'XVID')
vid = cv2.VideoWriter('vid.avi', fourcc, 1, (512, 512))
img = cv2.imread('dog.png')
vid.write(img)
img = cv2.imread('cat.png')
vid.write(img)
vid.release()
但这与以vid作为参数的函数调用不同:
import cv2
def add_img(vid):
img = cv2.imread('dog.png')
vid.write(img)
img = cv2.imread('cat.png')
vid.write(img)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
vid = cv2.VideoWriter('vid.avi', fourcc, 1, (512, 512))
add_img(vid)
vid.release()
我没有得到任何错误,但它只是不会添加任何图像。。。你知道吗
不,这不是预期的行为,我已经测试了下面的代码,它只是工作正常。我正在创建一个随机视频文件的100帧内注入一个方法。你知道吗
相关问题 更多 >
编程相关推荐