Ali Mohsin
feat: Add virtual try-on system components including DensePose, SMPL, and pix2pixHD models, rendering, and utilities.
5db43ff
| import argparse | |
| import sys | |
| import os | |
| sys.path.append(os.path.abspath(os.path.join(__file__, "..",".."))) | |
| from Inference.base_options import BaseOptions | |
| from util.multithread_video_loader import MultithreadVideoLoader | |
| from util.multithread_video_writer import MultithreadVideoWriter | |
| from tqdm import tqdm | |
| from VITON.viton_upperbody import FrameProcessor | |
| def process_video(video_path, garment_name): | |
| video_loader = MultithreadVideoLoader(video_path,max_height=1024) | |
| video_writer = MultithreadVideoWriter(outvid='./output.mp4',fps=video_loader.get_fps()) | |
| frame_processor = FrameProcessor([garment_name,],ckpt_dir='./checkpoints/') | |
| frame_processor.switch_to_target_garment(0) | |
| for i in tqdm(range(len(video_loader))): | |
| frame = video_loader.cap() | |
| result = frame_processor(frame) | |
| video_writer.append(result) | |
| video_writer.make_video() | |
| video_writer.close() | |
| if __name__ == '__main__': | |
| opts = BaseOptions() | |
| opt = opts.parse() | |
| video_path = opt.input_video | |
| garment_name = opt.garment_name | |
| process_video(video_path, garment_name) | |