(cam_info)
| 53 | ply_path: str |
| 54 | |
| 55 | def getNerfppNorm(cam_info): |
| 56 | def get_center_and_diag(cam_centers): |
| 57 | cam_centers = np.hstack(cam_centers) |
| 58 | avg_cam_center = np.mean(cam_centers, axis=1, keepdims=True) |
| 59 | center = avg_cam_center |
| 60 | dist = np.linalg.norm(cam_centers - center, axis=0, keepdims=True) |
| 61 | diagonal = np.max(dist) |
| 62 | return center.flatten(), diagonal |
| 63 | |
| 64 | cam_centers = [] |
| 65 | |
| 66 | for cam in cam_info: |
| 67 | W2C = getWorld2View2(cam.R, cam.T) |
| 68 | C2W = np.linalg.inv(W2C) |
| 69 | cam_centers.append(C2W[:3, 3:4]) |
| 70 | |
| 71 | center, diagonal = get_center_and_diag(cam_centers) |
| 72 | radius = diagonal * 1.1 |
| 73 | |
| 74 | translate = -center |
| 75 | |
| 76 | return {"translate": translate, "radius": radius} |
| 77 | |
| 78 | def readColmapCameras(cam_extrinsics, cam_intrinsics, images_folder): |
| 79 | cam_infos = [] |
no test coverage detected