gpt4 book ai didi

python - 如何从具有纵横比的视频中调整帧的大小

转载 作者:行者123 更新时间:2023-12-02 15:30:00 25 4
gpt4 key购买 nike

我正在使用 Python 2.7,OpenCV。我写了这段代码。

import cv2
vidcap = cv2.VideoCapture('myvid2.mp4')
success,image = vidcap.read()
count = 0;
print "I am in success"
while success:
success,image = vidcap.read()
resize = cv2.resize(image, (640, 480))
cv2.imwrite("%03d.jpg" % count, resize)
if cv2.waitKey(10) == 27:
break
count += 1

我正在处理视频并将视频分成单独的帧,作为 .jpg 图像。同时,我还将帧的大小调整为 640x480。帧的顺序也被保留。代码的唯一问题是它不保存以前的图像比例。

例如它的外观,从 1920x1080 调整大小:
Resized image by pure code

如您所见,比率存在问题。 1920x1080 16:9,但 640:480 4:3

我理想中的样子:
Resized image in ideal code

感谢您抽出时间阅读问题。如果你能帮我解决这个问题,我会很高兴的~
祝你有美好的一天,我的 friend 。

最佳答案

除了使用硬编码值 640 和 480,您可以将原始帧的高度和宽度除以一个值并将其作为参数提供,如下所示:

import cv2

vidcap = cv2.VideoCapture("/path/to/video")
success, image = vidcap.read()
count = 0

while success:
height, width, layers = image.shape
new_h = height / 2
new_w = width / 2
resize = cv2.resize(image, (new_w, new_h))
cv2.imwrite("%03d.jpg" % count, resize)
success, image = vidcap.read()
count += 1

关于python - 如何从具有纵横比的视频中调整帧的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43315349/

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