Spaces:
				
			
			
	
			
			
		No application file
		
	
	
	
			
			
	
	
	
	
		
		
		No application file
		
	| import argparse | |
| import imagesize | |
| import os | |
| import subprocess | |
| parser = argparse.ArgumentParser(description="MegaDepth Undistortion") | |
| parser.add_argument( | |
| "--colmap_path", type=str, required=True, help="path to colmap executable" | |
| ) | |
| parser.add_argument("--base_path", type=str, required=True, help="path to MegaDepth") | |
| args = parser.parse_args() | |
| sfm_path = os.path.join(args.base_path, "MegaDepth_v1_SfM") | |
| base_depth_path = os.path.join(args.base_path, "phoenix/S6/zl548/MegaDepth_v1") | |
| output_path = os.path.join(args.base_path, "Undistorted_SfM") | |
| os.mkdir(output_path) | |
| for scene_name in os.listdir(base_depth_path): | |
| current_output_path = os.path.join(output_path, scene_name) | |
| os.mkdir(current_output_path) | |
| image_path = os.path.join(base_depth_path, scene_name, "dense0", "imgs") | |
| if not os.path.exists(image_path): | |
| continue | |
| # Find the maximum image size in scene. | |
| max_image_size = 0 | |
| for image_name in os.listdir(image_path): | |
| max_image_size = max( | |
| max_image_size, max(imagesize.get(os.path.join(image_path, image_name))) | |
| ) | |
| # Undistort the images and update the reconstruction. | |
| subprocess.call( | |
| [ | |
| os.path.join(args.colmap_path, "colmap"), | |
| "image_undistorter", | |
| "--image_path", | |
| os.path.join(sfm_path, scene_name, "images"), | |
| "--input_path", | |
| os.path.join(sfm_path, scene_name, "sparse", "manhattan", "0"), | |
| "--output_path", | |
| current_output_path, | |
| "--max_image_size", | |
| str(max_image_size), | |
| ] | |
| ) | |
| # Transform the reconstruction to raw text format. | |
| sparse_txt_path = os.path.join(current_output_path, "sparse-txt") | |
| os.mkdir(sparse_txt_path) | |
| subprocess.call( | |
| [ | |
| os.path.join(args.colmap_path, "colmap"), | |
| "model_converter", | |
| "--input_path", | |
| os.path.join(current_output_path, "sparse"), | |
| "--output_path", | |
| sparse_txt_path, | |
| "--output_type", | |
| "TXT", | |
| ] | |
| ) | |
