将视频大小从 256x256 增加到 512x512

问题描述

我正在尝试有效地将视频大小从 256x256 增加到 512x512 或更高。

我使用了 OpenCV 和 srgan。

srgan 需要 13 分钟才能将 16 秒视频的大小增加 30 fps。 OpenCV 图像大小调整需要大约 40 秒才能实现。但问题是当我使用这两种方法提取的帧转换回视频时,我看不到最终输出视频的大小差异。 OpenCV 代码

x = img.resize(size=(img.size[0]*2,img.size[1]*2),resample=Image.BICUBIC)

原始大小:(480,854,3)
使用OpenCV代码后:(960,1708,3)

如何有效地修改分辨率?

解决方法

你可以试试:

import cv2

cap = cv2.VideoCapture("video.mp4")

fourcc = cv2.VideoWriter_fourcc(*"XVID")
fps = cap.get(cv2.CAP_PROP_FPS)
w = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) * 2
h = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) * 2

writer = cv2.VideoWriter("out.mp4",fourcc,fps,(w,h))

success,img = cap.read()
while success:
    writer.write(cv2.resize(img,h)))
    success,img = cap.read()

cap.release()
writer.release()