How to do a manual calculation of worldpoints from image points with Matlab Computer Vision data

I am Trying to get a grasp on computer vision. So far I have managed to calibrate a singel camera using Matlab Camera Calibrator, and done a planar object measurement that was incredibly accurate using an adapted example given on this site. Matlab calculates worldpoints automatically, but I want to learn how to do It manually using intrinsics and extrinsics. Can anyone here help explain to me how to do It? I feel I am pretty close to accomplishing my goal, but I am stuck at the moment.
From Matlabs Camera Calibrator I get these intrinsic og extrinsic parameters
intrisic matrix = [3344.2 0 0 ; -0.6732 3330.6 0 ; 2141.6 1475 1];
rotational matrix = [0.9996 0.0267 -0.00058362 ; -0.0267 0.9996 -0.0049 ; 0.00045327 0.0049 1]
translational vector = [-180.3688 57.61 1427.3 ]'
Using the cameraParams, rotational matrix and translation vector i get the results I want with the pointsToWorld function, but when trying to calculate this manually I don't. I have tried setting up the full camera matrix and multiply this with the worldpoints to get image points, and the invers.
given the Image points [1582 957] the pointsToWorld functions give me these worldpoints [-66.1856 -278.1794]
I would really appreciate It If someone could please spare some time to explain this to me

 Accepted Answer

The following document page for pointsToWorld method would be helpful:
You can also see actually how pointsToWorld calculates world points with the following command:
>> edit vision.internal.calibration.CameraParametersImpl
Hope this helps

2 Comments

Really? Did you get what you have expected? This function gives us nothing more than the final world coordinates(where z=0).

Sign in to comment.

More Answers (0)

Categories

Asked:

HT
on 10 Feb 2017

Commented:

on 21 Oct 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!