Boris Mocialov
Boris Mocialov

Reputation: 3489

How to estimate intrinsic properties of a camera from data?

I am attempting camera calibration from a single RGB image (panorama) given 3D pointcloud

The methods that I have considered all require an intrinsic properties matrix (which I have no access to)enter image description here

The intrinsic properties matrix can be estimated using the Bouguet’s camera calibration Toolbox, but as I have said, I have a single image only and a single point cloud for that image.

So, knowing 2D image coordinates, extrinsic properties, and 3D world coordinates, how can the intrinsic properties be estimated?

It would seem that the initCameraMatrix2D function from the OpenCV (https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html) works in the same way as the Bouguet’s camera calibration Toolbox and requires multiple images of the same object

I am looking into the Direct linear transformation DLT and Levenberg–Marquardt algorithm with implementations https://drive.google.com/file/d/1gDW9zRmd0jF_7tHPqM0RgChBWz-dwPe1 but it would seem that both use the pinhole camera model and therefore find linear transformation between 3D and 2D points

Upvotes: 1

Views: 8406

Answers (1)

Pavel Peřina
Pavel Peřina

Reputation: 51

I can't find my half year old source code, but from top of my head cx, cy is optical centre which is width/2, height/2 in pixels fx=fy is focal length in pixels (distance from camera to image plane or axis of rotation)

If you know that image distance from camera to is for example 30cm and it captures image that has 16x10cm and 1920x1200 pixels, size of pixel is 100mm/1200=1/12mm and camera distance (fx,fy) would be 300mm*12px/1mm=3600px and image centre is cx=1920/2=960, cy=1200/2=600. I assume that pixels are square and camera sensor is centered at optical axis.

You can get focal lenght from image size in pixels and measured angle of view.

Upvotes: 1

Related Questions