Hello @daz_22 ,
The ideal intrinsics of the IMX412 camera module (M0161) are as follows:
Full resolution:
focal length : 1999 (~2000) pixels
principal points: 2028, 1520 (for full frame image, such as 4056x3040 or 4040x3040)
2x2 Binned resolution
focal length : 1000 pixels
principal points : 2028/2, 1520/2
For other resolutions, you can adjust the principal points to be half of the width and height because the cropped image (in case of 3840x2160 or 1920x1080) will be centered.
The lens model is fisheye and you should set the distortion coefficients to zeros unless you calibrate them.
If you are going to calibrate the camera using voxl-calibrate-camera, it is very slow at full resolution, so i suggest calibrating at half resolution.
Here is an old calibration result I found for one of these cameras, just for reference:
%YAML:1.0
---
M: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 999.5391440104593, 0.0, 1016.522606127024,
0.0, 998.2572561064064, 750.2875966666587,
0.0, 0.0, 1.0 ]
D: !!opencv-matrix
rows: 4
cols: 1
dt: d
data: [ -0.02176119101007071, 0.01025514886831165,
-0.01688007838706262, 0.006525270203215156 ]
reprojection_error: 0.72238
width: 2020
height: 1520
distortion_model: fisheye
calibration_time: "2024-11-15 16:38:58"