问题描述
我正在尝试有效地将视频大小从 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()