pixera_gen / methods /media.py
JUNGU's picture
Duplicate from Alican/pixera
0103298
import cv2
import torch
import imageio
from methods.img2pixl import pixL
device = "cuda" if torch.cuda.is_available() else "cpu"
face2paint = torch.hub.load("bryandlee/animegan2-pytorch:main", "face2paint", device=device, size=512)
model = torch.hub.load("bryandlee/animegan2-pytorch", "generator", device=device).eval()
class Media:
#Author: Alican Akca
def __init__(self,fname = None,pixel_size = None):
self.fname = fname
self.pixel_size = pixel_size
def split(self,fname,pixel_size, mediaType):
media = cv2.VideoCapture(fname)
frames = []
while True:
ret, cv2Image = media.read()
if not ret:
break
frames.append(cv2Image)
frames = pixL().toThePixL(frames, pixel_size)
if mediaType == 'gif':
imageio.mimsave('cache.gif', frames)
return [None, 'cache.gif', 'cache.gif']
else:
output_file = "cache.mp4"
out = cv2.VideoWriter(output_file,cv2.VideoWriter_fourcc(*'h264'), 15, (frames[0].shape[1],frames[0].shape[0]))
for i in range(len(frames)):
out.write(frames[i])
out.release()
return [output_file, None, output_file]