Repository navigation
Immutable
release. Only release title and notes can be modified.
Highlights
Feature release of NCore 19 with FTheta tangential distortion.
- FTheta tangential distortion coefficients:
FThetaCameraModelParameters.tangential_coeffs([t0, t1], in pixels, default zeros) holds the tangential distortion of FTheta calibrations, which was previously dropped (up to ~12 px in the image corners of wide-angle cameras). Projection evaluates the term as DriveWorks does, and unprojection inverts it with a fixed number of iterations (FThetaCameraModel.tangential_iterations, worst round trip error ~5e-4 px on a 120 deg FOV camera with strong tangential distortion).- Models without tangential coefficients produce bit-identical results.
- Stored data is unchanged: all-zero coefficients (and an identity
linear_cde) are omitted when encoding, and data without the key loads as zeros. Readers older than 19.9 ignore the coefficients and project as if they were zero. - Non-zero coefficients require
max_angle < pi/2.
- Faster camera models without distortion terms: FTheta skips the linear term when
linear_cdeis the identity, and OpenCV pinhole skips tangential / thin-prism terms whose coefficients are all zero (outputs are bit-identical). New parameter propertiesFThetaCameraModelParameters.has_linear_term/has_tangential_distortion,OpenCVPinholeCameraModelParameters.has_tangential_distortion/has_thin_prism_distortion.
Changes since v19.8.6
➕ Added
⚡ Performance
- (sensors) skip zero tangential and thin-prism terms in OpenCV pinhole (c089273) - @janickm
- (sensors) skip identity linear term in FTheta camera model (86be5dd) - @janickm
Full diff: v19.8.6...v19.9.0