gpt4 book ai didi

python - 使用cv2.videowrite()创建的视频无法播放?

转载 作者:行者123 更新时间:2023-12-02 17:21:35 28 4
gpt4 key购买 nike

import numpy
import cv2
import random
image=cv2.imread(r"C:\Users\Sriram\Desktop/img.png")
print(image.shape)
image=cv2.resize(image,(1080,600))
fourcc=cv2.VideoWriter_fourcc(*"MP4V")
def rand():
n=random.randrange(0,255,15)
x=random.randrange(0,255,15)
y=random.randrange(0,255,15)

return cv2.copyMakeBorder(image,40,40,40,40,cv2.BORDER_CONSTANT,None,(x,n,y))
#cv2.imwrite(r"C:\Users\Sriram\Desktop/new.jpg",image)
l=[rand() for i in range(30)]
print(l)
video=cv2.VideoWriter(r"C:\Users\Sriram\Desktop/video.mp4",fourcc,25,(1080,600))
for i in l:
video.write(i)

cv2.destroyAllWindows()
video.release()

,这是我的代码,只需更改图像的边框即可从图像创建视频,并且
输出视频文件。但是视频文件无法在我的电脑中打开

,当我尝试播放视频时,出现错误的压缩代码fourcc
我尝试了不同的fourcc“xvid”,“mpv4”,“mpjg”,但是没有结果

最佳答案

您输出的视频帧大小不正确。您的输入帧大小为(1080,600)。我们在每一侧添加40px边框,因此最终帧尺寸将为(1080 + 40 * 2,600 + 40 * 2),即(1160,680)

import numpy
import cv2
import random
image=cv2.imread(r"C:\Users\Sriram\Desktop/img.png")
print(image.shape)
image=cv2.resize(image,(1080,600))
fourcc=cv2.VideoWriter_fourcc(*"MP4V")
def rand():
n=random.randrange(0,255,15)
x=random.randrange(0,255,15)
y=random.randrange(0,255,15)

return cv2.copyMakeBorder(image,40,40,40,40,cv2.BORDER_CONSTANT,None,(x,n,y))
#cv2.imwrite(r"C:\Users\Sriram\Desktop/new.jpg",image)
l=[rand() for i in range(30)]
print(l)
video=cv2.VideoWriter(r"C:\Users\Sriram\Desktop/video.mp4",fourcc,25,(1160,680))
for i in l:
video.write(i)

cv2.destroyAllWindows()
video.release()

关于python - 使用cv2.videowrite()创建的视频无法播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61981215/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com