MCPcopy Create free account
hub / github.com/ColmapView/Colmapview.github.io / getCameraIntrinsics

Function getCameraIntrinsics

src/utils/cameraIntrinsics.ts:42–79  ·  view source on GitHub ↗
(camera: Camera)

Source from the content-addressed store, hash-verified

40 * callers MUST gate on `cameraModelHasPinholeIntrinsics` before using these.
41 */
42export function getCameraIntrinsics(camera: Camera): CameraIntrinsics {
43 const intrinsics: CameraIntrinsics = {
44 fx: 1, fy: 1, cx: 0, cy: 0,
45 k1: 0, k2: 0, k3: 0, k4: 0, k5: 0, k6: 0,
46 p1: 0, p2: 0, omega: 0, sx1: 0, sy1: 0, sx2: 0, sy2: 0,
47 alpha: 0, beta: 0, kDiv: 0,
48 };
49
50 if (!cameraModelHasPinholeIntrinsics(camera.modelId)) {
51 return intrinsics;
52 }
53
54 const projClass = getCameraModelProjectionClass(camera.modelId);
55 const isDivision = projClass === 'division';
56
57 const paramNames = getCameraModelParamNames(camera.modelId);
58 for (let i = 0; i < paramNames.length; i++) {
59 const name = paramNames[i];
60 const value = camera.params[i] ?? 0;
61
62 // 'k' is ambiguous: DIVISION models use it for kDiv; all others use k1.
63 if (name === 'k') {
64 if (isDivision) {
65 intrinsics.kDiv = value;
66 } else {
67 intrinsics.k1 = value;
68 }
69 continue;
70 }
71
72 const setter = INTRINSIC_PARAM_SETTERS[name];
73 if (setter !== undefined) {
74 setter(intrinsics, value);
75 }
76 }
77
78 return intrinsics;
79}

Callers 10

UndistortedImageMaterialFunction · 0.90
getFrustumPlaneSizeFunction · 0.90
getAutoAdjustedFovFunction · 0.90
unprojectPointFunction · 0.90
projectPointFunction · 0.90

Tested by

no test coverage detected