main.py 1.3 KB
Newer Older
H
HypoX64 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import os
import sys
import numpy as np
import cv2
import normal2nike
sys.path.append("..")
from Util import util,ffmpeg
from options import Options
opt = Options().getparse()

util.file_init(opt)

if os.path.isdir(opt.media):
    files = util.Traversal(opt.media)
else:
    files = [opt.media]

for file in files:
    img = cv2.imread(file)
    h,w = img.shape[:2]
    if opt.output == 'image':
        img = normal2nike.convert(img,opt.size,opt.intensity,opt.aspect_ratio,opt.ex_move,opt.mode)
        cv2.imwrite(os.path.join(opt.result_dir,os.path.basename(file)), img)
    elif opt.output == 'video':
        frame = int(opt.time*opt.fps)
        for i in range(frame):
            tmp = normal2nike.convert(img,opt.size,i*opt.intensity/frame,opt.aspect_ratio,
                opt.ex_move,opt.mode)[:4*(h//4),:4*(w//4)]
            cv2.imwrite(os.path.join('./tmp/output_imgs','%05d' % i+'.jpg'), tmp)
        cv2.imwrite(os.path.join(opt.result_dir,os.path.basename(file)), tmp)
        ffmpeg.image2video(
            opt.fps,
            './tmp/output_imgs/%05d.jpg',
            None,
            os.path.join(opt.result_dir,os.path.splitext(os.path.basename(file))[0]+'.mp4'))

# cv2.namedWindow('image', cv2.WINDOW_NORMAL)
# cv2.imshow('image',img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()