-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompute_homography.py
More file actions
27 lines (21 loc) · 1.38 KB
/
compute_homography.py
File metadata and controls
27 lines (21 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import lib.util as util
import numpy as np
if __name__ == "__main__":
camera_numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "12", "13"]
all_hom = {"1": {}, "2": {}, "3": {}, "4": {}, "5": {}, "6": {}, "7": {}, "8": {}, "12": {}, "13": {}}
for camera_number in camera_numbers:
camera_json = {}
for second_camera in camera_numbers:
camera1_params = util.LoadJSON(f'json/out{camera_number}F/{camera_number}Fcorners_notc.json')
camera2_params = util.LoadJSON(f'json/out{second_camera}F/{second_camera}Fcorners_notc.json')
mtx1 = np.array(camera1_params['mtx'], dtype=np.float32)
new_mtx1 = np.array(camera1_params['new_mtx'], dtype=np.float32)
dist1 = np.array(camera1_params['dist'], dtype=np.float32)
mtx2 = np.array(camera2_params['mtx'], dtype=np.float32)
new_mtx2 = np.array(camera2_params['new_mtx'], dtype=np.float32)
dist2 = np.array(camera2_params['dist'], dtype=np.float32)
h = util.computeCamerasUndistortedHomography(camera_number, second_camera, (mtx1, mtx2),
(dist1, dist2), (new_mtx1, new_mtx2))
if h is not None:
all_hom[camera_number][second_camera] = h.tolist()
util.saveToJSONstr(all_hom[camera_number], f'json/out{camera_number}F/homography{camera_number}')