如果你不在乎执行时间,这不是一件难事!我们知道对普通用户来说,调整图像的大小并不是一门科学,但实际上,调整每一帧的大小需要一些时间。如果你真的想知道时间和选择-有很多选择可以玩从numpy/scipy到{}/skvideo。在
但是让我们试着“按原样”处理代码,这样我们有两个选项可供选择:cv2和{}。为了测试,我从youtube上抓取了20秒的“键盘猫”视频(480p),并将每个帧的大小调整到1080p,GUI如下(全屏1920x1080):
调整大小方法/timeit显示帧所用的时间:^{}/~81.377秒
^{}/~82.98秒
正如您所见-这两种方法之间没有太大区别,所以这里有一个代码(只有Application类和video_loop更改):#imports
try:
import tkinter as tk
except:
import Tkinter as tk
from PIL import Image, ImageTk
import argparse
import datetime
import cv2
import os
class Application:
def __init__(self, output_path = "./"):
""" Initialize application which uses OpenCV + Tkinter. It displays