Realcat
add: COTR(https://github.com/ubc-vision/COTR)
10dcc2e
'''
rectify the SfM model from SIMPLE_RADIAL to PINHOLE
'''
import os
command_1 = 'colmap image_undistorter --image_path={0} --input_path={1} --output_path={2}'
command_2 = 'colmap model_converter --input_path={0} --output_path={1} --output_type=TXT'
command_3 = 'mv {0} {1}'
command_4 = 'python sort_images_txt.py --reference={0} --unordered={1} --save_to={2}'
MegaDepth_v1_SfM = '/media/jiangwei/data_ssd/MegaDepth_v1_SfM/'
assert os.path.isdir(MegaDepth_v1_SfM), 'Change to your local path'
all_scenes = [
'0000/sparse/manhattan/0',
'0000/sparse/manhattan/1',
'0001/sparse/manhattan/0',
'0002/sparse/manhattan/0',
'0003/sparse/manhattan/0',
'0004/sparse/manhattan/0',
'0004/sparse/manhattan/1',
'0004/sparse/manhattan/2',
'0005/sparse/manhattan/0',
'0005/sparse/manhattan/1',
'0007/sparse/manhattan/0',
'0007/sparse/manhattan/1',
'0008/sparse/manhattan/0',
'0011/sparse/manhattan/0',
'0012/sparse/manhattan/0',
'0013/sparse/manhattan/0',
'0015/sparse/manhattan/0',
'0015/sparse/manhattan/1',
'0016/sparse/manhattan/0',
'0017/sparse/manhattan/0',
'0019/sparse/manhattan/0',
'0019/sparse/manhattan/1',
'0020/sparse/manhattan/0',
'0020/sparse/manhattan/1',
'0021/sparse/manhattan/0',
'0022/sparse/manhattan/0',
'0023/sparse/manhattan/0',
'0023/sparse/manhattan/1',
'0024/sparse/manhattan/0',
'0025/sparse/manhattan/0',
'0025/sparse/manhattan/1',
'0026/sparse/manhattan/0',
'0027/sparse/manhattan/0',
'0032/sparse/manhattan/0',
'0032/sparse/manhattan/1',
'0033/sparse/manhattan/0',
'0034/sparse/manhattan/0',
'0035/sparse/manhattan/0',
'0036/sparse/manhattan/0',
'0037/sparse/manhattan/0',
'0039/sparse/manhattan/0',
'0041/sparse/manhattan/0',
'0041/sparse/manhattan/1',
'0042/sparse/manhattan/0',
'0043/sparse/manhattan/0',
'0044/sparse/manhattan/0',
'0046/sparse/manhattan/0',
'0046/sparse/manhattan/1',
'0046/sparse/manhattan/2',
'0047/sparse/manhattan/0',
'0048/sparse/manhattan/0',
'0049/sparse/manhattan/0',
'0050/sparse/manhattan/0',
'0056/sparse/manhattan/0',
'0057/sparse/manhattan/0',
'0058/sparse/manhattan/0',
'0058/sparse/manhattan/1',
'0060/sparse/manhattan/0',
'0061/sparse/manhattan/0',
'0062/sparse/manhattan/0',
'0062/sparse/manhattan/1',
'0063/sparse/manhattan/0',
'0063/sparse/manhattan/1',
'0063/sparse/manhattan/2',
'0063/sparse/manhattan/3',
'0064/sparse/manhattan/0',
'0065/sparse/manhattan/0',
'0067/sparse/manhattan/0',
'0070/sparse/manhattan/0',
'0071/sparse/manhattan/0',
'0071/sparse/manhattan/1',
'0076/sparse/manhattan/0',
'0078/sparse/manhattan/0',
'0080/sparse/manhattan/0',
'0083/sparse/manhattan/0',
'0086/sparse/manhattan/0',
'0087/sparse/manhattan/0',
'0087/sparse/manhattan/1',
'0090/sparse/manhattan/0',
'0092/sparse/manhattan/0',
'0092/sparse/manhattan/1',
'0094/sparse/manhattan/0',
'0095/sparse/manhattan/0',
'0095/sparse/manhattan/1',
'0095/sparse/manhattan/2',
'0098/sparse/manhattan/0',
'0099/sparse/manhattan/0',
'0100/sparse/manhattan/0',
'0101/sparse/manhattan/0',
'0102/sparse/manhattan/0',
'0103/sparse/manhattan/0',
'0104/sparse/manhattan/0',
'0104/sparse/manhattan/1',
'0105/sparse/manhattan/0',
'0107/sparse/manhattan/0',
'0115/sparse/manhattan/0',
'0117/sparse/manhattan/0',
'0117/sparse/manhattan/1',
'0117/sparse/manhattan/2',
'0121/sparse/manhattan/0',
'0121/sparse/manhattan/1',
'0122/sparse/manhattan/0',
'0129/sparse/manhattan/0',
'0130/sparse/manhattan/0',
'0130/sparse/manhattan/1',
'0130/sparse/manhattan/2',
'0133/sparse/manhattan/0',
'0133/sparse/manhattan/1',
'0137/sparse/manhattan/0',
'0137/sparse/manhattan/1',
'0137/sparse/manhattan/2',
'0141/sparse/manhattan/0',
'0143/sparse/manhattan/0',
'0147/sparse/manhattan/0',
'0147/sparse/manhattan/1',
'0148/sparse/manhattan/0',
'0148/sparse/manhattan/1',
'0149/sparse/manhattan/0',
'0150/sparse/manhattan/0',
'0151/sparse/manhattan/0',
'0156/sparse/manhattan/0',
'0160/sparse/manhattan/0',
'0160/sparse/manhattan/1',
'0160/sparse/manhattan/2',
'0162/sparse/manhattan/0',
'0162/sparse/manhattan/1',
'0168/sparse/manhattan/0',
'0175/sparse/manhattan/0',
'0176/sparse/manhattan/0',
'0176/sparse/manhattan/1',
'0176/sparse/manhattan/2',
'0177/sparse/manhattan/0',
'0178/sparse/manhattan/0',
'0178/sparse/manhattan/1',
'0181/sparse/manhattan/0',
'0183/sparse/manhattan/0',
'0185/sparse/manhattan/0',
'0186/sparse/manhattan/0',
'0189/sparse/manhattan/0',
'0190/sparse/manhattan/0',
'0197/sparse/manhattan/0',
'0200/sparse/manhattan/0',
'0200/sparse/manhattan/1',
'0204/sparse/manhattan/0',
'0204/sparse/manhattan/1',
'0205/sparse/manhattan/0',
'0205/sparse/manhattan/1',
'0209/sparse/manhattan/1',
'0212/sparse/manhattan/0',
'0212/sparse/manhattan/1',
'0214/sparse/manhattan/0',
'0214/sparse/manhattan/1',
'0217/sparse/manhattan/0',
'0223/sparse/manhattan/0',
'0223/sparse/manhattan/1',
'0223/sparse/manhattan/2',
'0224/sparse/manhattan/0',
'0224/sparse/manhattan/1',
'0229/sparse/manhattan/0',
'0231/sparse/manhattan/0',
'0235/sparse/manhattan/0',
'0237/sparse/manhattan/0',
'0238/sparse/manhattan/0',
'0240/sparse/manhattan/0',
'0243/sparse/manhattan/0',
'0252/sparse/manhattan/0',
'0257/sparse/manhattan/0',
'0258/sparse/manhattan/0',
'0265/sparse/manhattan/0',
'0265/sparse/manhattan/1',
'0269/sparse/manhattan/0',
'0269/sparse/manhattan/1',
'0269/sparse/manhattan/2',
'0271/sparse/manhattan/0',
'0275/sparse/manhattan/0',
'0277/sparse/manhattan/0',
'0277/sparse/manhattan/1',
'0281/sparse/manhattan/0',
'0285/sparse/manhattan/0',
'0286/sparse/manhattan/0',
'0286/sparse/manhattan/1',
'0290/sparse/manhattan/0',
'0290/sparse/manhattan/1',
'0294/sparse/manhattan/0',
'0299/sparse/manhattan/0',
'0303/sparse/manhattan/0',
'0306/sparse/manhattan/0',
'0307/sparse/manhattan/0',
'0312/sparse/manhattan/0',
'0312/sparse/manhattan/1',
'0323/sparse/manhattan/0',
'0326/sparse/manhattan/0',
'0327/sparse/manhattan/0',
'0327/sparse/manhattan/1',
'0327/sparse/manhattan/2',
'0331/sparse/manhattan/0',
'0335/sparse/manhattan/0',
'0335/sparse/manhattan/1',
'0341/sparse/manhattan/0',
'0341/sparse/manhattan/1',
'0348/sparse/manhattan/0',
'0349/sparse/manhattan/0',
'0349/sparse/manhattan/1',
'0360/sparse/manhattan/0',
'0360/sparse/manhattan/1',
'0360/sparse/manhattan/2',
'0366/sparse/manhattan/0',
'0377/sparse/manhattan/0',
'0380/sparse/manhattan/0',
'0387/sparse/manhattan/0',
'0389/sparse/manhattan/0',
'0389/sparse/manhattan/1',
'0394/sparse/manhattan/0',
'0394/sparse/manhattan/1',
'0402/sparse/manhattan/0',
'0402/sparse/manhattan/1',
'0406/sparse/manhattan/0',
'0407/sparse/manhattan/0',
'0411/sparse/manhattan/0',
'0411/sparse/manhattan/1',
'0412/sparse/manhattan/0',
'0412/sparse/manhattan/1',
'0412/sparse/manhattan/2',
'0430/sparse/manhattan/0',
'0430/sparse/manhattan/1',
'0430/sparse/manhattan/2',
'0443/sparse/manhattan/0',
'0446/sparse/manhattan/0',
'0455/sparse/manhattan/0',
'0472/sparse/manhattan/0',
'0472/sparse/manhattan/1',
'0474/sparse/manhattan/0',
'0474/sparse/manhattan/1',
'0474/sparse/manhattan/2',
'0476/sparse/manhattan/0',
'0476/sparse/manhattan/1',
'0476/sparse/manhattan/2',
'0478/sparse/manhattan/0',
'0478/sparse/manhattan/1',
'0482/sparse/manhattan/0',
'0493/sparse/manhattan/0',
'0493/sparse/manhattan/1',
'0494/sparse/manhattan/1',
'0496/sparse/manhattan/0',
'0505/sparse/manhattan/0',
'0559/sparse/manhattan/0',
'0733/sparse/manhattan/0',
'0733/sparse/manhattan/1',
'0768/sparse/manhattan/0',
'0860/sparse/manhattan/0',
'0860/sparse/manhattan/1',
'1001/sparse/manhattan/0',
'1017/sparse/manhattan/0',
'1589/sparse/manhattan/0',
'3346/sparse/manhattan/0',
'4541/sparse/manhattan/0',
'5000/sparse/manhattan/0',
'5001/sparse/manhattan/0',
'5002/sparse/manhattan/0',
'5003/sparse/manhattan/0',
'5004/sparse/manhattan/0',
'5005/sparse/manhattan/0',
'5006/sparse/manhattan/0',
'5007/sparse/manhattan/0',
'5008/sparse/manhattan/0',
'5009/sparse/manhattan/0',
'5010/sparse/manhattan/0',
'5011/sparse/manhattan/0',
'5012/sparse/manhattan/0',
'5013/sparse/manhattan/0',
'5014/sparse/manhattan/0',
'5015/sparse/manhattan/0',
'5016/sparse/manhattan/0',
'5017/sparse/manhattan/0',
'5018/sparse/manhattan/0',
]
with open('rectify.sh', "w") as fid:
for s in all_scenes:
s = os.path.join(MegaDepth_v1_SfM, s)
new_dir = s + '_rectified'
img_dir = s[:s.find('sparse')] + 'images'
fid.write(command_1.format(img_dir, s, new_dir) + '\n')
fid.write(command_2.format(new_dir + '/sparse', new_dir + '/sparse') + '\n')
fid.write(command_3.format(new_dir + '/sparse/images.txt', new_dir + '/sparse/unorder_images.txt') + '\n')
fid.write(command_4.format(s + '/images.txt', new_dir + '/sparse/unorder_images.txt', new_dir + '/sparse/images.txt') + '\n')