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

Function _fisheyeApplyDistortion

src/utils/cameraUndistortion.ts:168–178  ·  view source on GitHub ↗
(uu: Vec2, i: CameraIntrinsics)

Source from the content-addressed store, hash-verified

166// tangential/prism: 2D Newton (numeric Jacobian).
167
168function _fisheyeApplyDistortion(uu: Vec2, i: CameraIntrinsics): Vec2 {
169 const r2 = uu.x * uu.x + uu.y * uu.y;
170 const t4 = r2 * r2;
171 const t6 = t4 * r2;
172 const t8 = t4 * t4;
173 const radial = i.k1 * r2 + i.k2 * t4 + i.k3 * t6 + i.k4 * t8;
174 // Tangential + thin-prism terms vanish exactly when p1=p2=sx1=sy1=0.
175 const dx = uu.x * radial + 2 * i.p1 * uu.x * uu.y + i.p2 * (r2 + 2 * uu.x * uu.x) + i.sx1 * r2;
176 const dy = uu.y * radial + i.p1 * (r2 + 2 * uu.y * uu.y) + 2 * i.p2 * uu.x * uu.y + i.sy1 * r2;
177 return { x: uu.x + dx, y: uu.y + dy };
178}
179
180/** 2D Newton to solve `_fisheyeApplyDistortion(uu) = p` for `uu` (numeric Jacobian). */
181function _fisheyeRemoveDistortion2D(p: Vec2, i: CameraIntrinsics): Vec2 {

Callers 2

forwardFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected