parser.add_argument('--write', action='store_true', help='write out video with keypoints shown') args = parser.parse_args() scale = args.scale skip_frames = args.skip_frames # pathname work abspath = os.path.abspath(args.video) filename, ext = os.path.splitext(abspath) dirname = os.path.dirname(args.video) bg_video = filename + "_bg.mp4" motion_video = filename + "_motion.mp4" local_config = os.path.join(dirname, "camera.json") camera = camera.VirtualCamera() camera.load(args.camera, local_config, args.scale) K = camera.get_K() IK = camera.get_IK() dist = camera.get_dist() print('Camera:', camera.get_name()) print('K:\n', K) print('IK:\n', IK) print('dist:', dist) metadata = skvideo.io.ffprobe(args.video) #print(metadata.keys()) print(json.dumps(metadata["video"], indent=4)) fps_string = metadata['video']['@avg_frame_rate'] (num, den) = fps_string.split('/') fps = float(num) / float(den) codec = metadata['video']['@codec_long_name']
def main(): """ Execute all functions """ try: with tqdm(total=100) as pbar: # Available images pbar.set_description("Loading Image Paths") images_df = images.load(os.environ["IMAGES"]) images_df.name = "Images" pbar.update(5) # Coordinates and polygons pbar.set_description("Loading Camera Positions") camera_df = camera.load(os.environ["CAMERA_CSV"], os.environ["CAMERA_GEOJSON"]) camera_df.name = "Camera" pbar.update(5) # Items metadata pbar.set_description("Loading Cumulus Metadata") catalog_df = catalog.load(os.environ["CUMULUS_XML"]) catalog_df.name = "Catalog" pbar.update(5) # List items on Portals pbar.set_description("Checking Cumulus Portals") portals_df = portals.load(os.environ["PORTALS"]) portals_df.name = "Portals" pbar.update(20) # List items on Wikidata pbar.set_description("Checking Wikidata") wikidata_df = wikidata.load(os.environ["WIKIDATA"]) wikidata_df.name = "Wikidata" pbar.update(10) # List items on Omeka pbar.set_description("Checking Omeka") omeka_df = omeka.load(os.environ["OMEKA_API"]) omeka_df.name = "Omeka" pbar.update(20) # Merge all dataframes pbar.set_description("Updating Metadata Files") dataframes = [ images_df, camera_df, portals_df, wikidata_df, omeka_df ] update_metadata(catalog_df, dataframes) pbar.update(10) # Create dashboard pbar.set_description("Generating import files and dashboard...") export.load(os.environ["METADATA"]) pbar.update(25) pbar.set_description("Done") pbar.close() except Exception as e: print(str(e))
args = parser.parse_args() smooth_cutoff_hz = 10 # pathname work abspath = os.path.abspath(args.video) filename, ext = os.path.splitext(abspath) dirname = os.path.dirname(args.video) video_rates = filename + "_rates.csv" video_horiz = filename + "_horiz.csv" ekf_error = filename + "_error.csv" local_config = dirname + "/camera.json" # load the camera config (we will modify the mounting offset later) camera = camera.VirtualCamera() camera.load(None, local_config) cam_yaw, cam_pitch, cam_roll = camera.get_ypr() K = camera.get_K() dist = camera.get_dist() print('Camera:', camera.get_name()) # load the flight data flight_data, flight_format = flight_loader.load(args.flight) print("imu records:", len(flight_data['imu'])) print("gps records:", len(flight_data['gps'])) if 'air' in flight_data: print("airdata records:", len(flight_data['air'])) print("filter records:", len(flight_data['filter'])) if 'pilot' in flight_data: print("pilot records:", len(flight_data['pilot'])) if 'act' in flight_data:
parser.add_option("--distance_as_color", action="store_true", dest="distance_as_color", default=False) parser.add_option("--dist_range", type="int", dest="dist_range", default=30) (options, args) = parser.parse_args() # print(options) with open(options.scene, 'r', encoding='utf8') as yaml_file: cfg = yaml.load(yaml_file) camera = camera.Camera() camera.load(cfg['camera']) camera.init() scene = scene.Scene(camera) scene.load(cfg['scene']) color_mode = utils.ColorModes.UNIFORM if options.normal_as_color is True: color_mode = utils.ColorModes.NORMAL elif options.distance_as_color is True: color_mode = utils.ColorModes.DISTANCE render = render.Render( np.array([options.resolution_x, options.resolution_y]), options.trace_depth, scene, color_mode, options.dist_range) render.render() # render.draw()