Timsty's picture
Add files using upload-large-folder tool
e479c46 verified
Raw
History Blame Contribute Delete
1.47 kB
"""
Save a particular frame from a video.
"""
import argparse
from pathlib import Path
from typing import List
import cv2
import mediapy as media
import numpy as np
from PIL import Image
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input-video", type=Path, required=True)
parser.add_argument("-o", "--output-path", type=str, required=True)
parser.add_argument("-n", "--frame", type=int, default=0, help="frame number")
args = parser.parse_args()
return args
def save_video_frame(input_video: Path, output_path: str = None, frame: int = 0):
video = media.read_video(input_video)
frame = video[frame]
Image.fromarray(frame).save(output_path)
def main():
args = parse_args()
save_video_frame(args.input_video, args.output_path, args.frame)
if __name__ == "__main__":
main()
"""
python tools/save_video_frame.py -i /home/xuanlin/simpler_env/results/rt_1_x_tf_trained_for_002272480_step/google_pick_coke_can_1_v4_alt_background/arm_pd_ee_delta_pose_align_interpolate_by_planner_gripper_pd_joint_target_delta_pos_interpolate_by_planner/MoveNearGoogleInScene-v0/rob_0.35_0.21_rot_0.000_-0.000_3.052_rgb_overlay_None/failure_obj_episode_0_all_obj_keep_height_True_moved_correct_obj_False_moved_wrong_obj_True_near_tgt_obj_False_is_closest_to_tgt_False.mp4 \
-o /home/xuanlin/simpler_env/ManiSkill2_real2sim/data/robustness_visualization/move_near_tab4_alt_bg_frame0.png
"""