Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 cv2输出无效视频 系统信息 OpenCV=>4.4.0.46 操作系统/平台=>MacOS Catalina 10.15.4 编译器=>Jupyter笔记本通过Anaconda 4.8.3_Python_Opencv - Fatal编程技术网

Python cv2输出无效视频 系统信息 OpenCV=>4.4.0.46 操作系统/平台=>MacOS Catalina 10.15.4 编译器=>Jupyter笔记本通过Anaconda 4.8.3

Python cv2输出无效视频 系统信息 OpenCV=>4.4.0.46 操作系统/平台=>MacOS Catalina 10.15.4 编译器=>Jupyter笔记本通过Anaconda 4.8.3,python,opencv,Python,Opencv,我正在做一项计算机视觉任务,我当前的步骤是根据先前创建的图像创建视频。为此,我使用OpenCV如下: fps = 25 files = natsorted([f for f in glob.glob(os.getcwd()+'/tf_files/test/*.jpg')])[:125] size = (1920,1080) fourcc = int(cv2.VideoWriter_fourcc(*'mp4v')) out = cv2.VideoWriter('test.mp4',fourcc,

我正在做一项计算机视觉任务,我当前的步骤是根据先前创建的图像创建视频。为此,我使用OpenCV如下:

fps = 25
files = natsorted([f for f in glob.glob(os.getcwd()+'/tf_files/test/*.jpg')])[:125]
size = (1920,1080)

fourcc = int(cv2.VideoWriter_fourcc(*'mp4v'))
out = cv2.VideoWriter('test.mp4',fourcc,fps=fps,frameSize=size)

for file in files:
    img = cv2.imread(file)
    out.write(img)

out.release()
cv2.destroyAllWindows()
“文件”列表返回图像的路径:

files[0]
'/Users/XXX/XXX/projects/phase_seg/tensorflow-for-poets-2/tf_files/test/0.jpg'
每个文件的大小为:

cv2.imread(files[0]).shape
>>> (1080, 1920, 3)
代码没有给出任何错误,实际上创建了一个名为“test.mp4”的视频。此外,如果图像的数量改变,视频的大小也会改变。我也可以用opencv打开图像,没有任何问题。
但是,无法播放视频,并且当导出到另一个程序时,其长度为0。我尝试过fourcc的不同变体,如“M”、“P”、“4”、“V”,但没有成功。对此有什么可能的解释呢?

嘿,我不确定这是否有帮助,但我不知道你为什么在fourcc中使用int()作为编解码器,所以你可以不用它,也可以试试这个
fourcc=cv2。VideoWriter_fourcc(*'DIVX')
将int()转换为fourcc编解码器实际上不会改变任何东西,我只是把它作为一个建议来测试。此外,fourcc(*'DIVX')也不起作用。