11-05-2015 04:02 AM
invancea a écrit :
The projection matrix is H (Homography) and this is what you get out of IMAQ Get Camera Parameters. You can construct camera matrix (M) out of Focal Length and Optical center. Matrix W = [R T] can be computed by using M and H.
What are the units of the projection matrix ?
To calculate the matrix W I have to multiply the inverse of M and H, I can construct the M-matrix in pixels or milimeters (by conversion using the cell-width) using the VI "get camera parameters", but I don't know how using the matrix H...
(the documentation "In-Depth Discussion" is complicated, it's written : fx = F/sx, with F in milimeters and sx in pixels/milimeters --> the fx value is in square-milimeters per pixels ?!!!?)
I'm a little lost in all this concepts, I hope my questions are clear enough (and my english too )
11-16-2015 01:46 AM
Nobody has an idee to interprete the results of the calibration ?
11-17-2015 07:36 AM
Hello,
maybe this can help you in some way:
Best regards,
K
11-20-2015 01:43 AM
Thank you Klemen,
I've reaad this thread but I didn't understand what is wrong in my procedure...
For instance in this piece of code I would'like to obtain the rotation matrix, but the matrix at the end isn't a rotation matrix (non-normalized vectors, the vectors aren't perpendicular...).
01-23-2018 11:16 AM
I've the same problem
according to the help Cx and Cy need to be in [mm]
some one have found the soklution?
ciao
01-26-2018 10:05 AM
Hi All
I've done some test
According to what is write on this Labview guide
http://www-cs.ccny.cuny.edu/~wolberg/capstone/opencv/LearningOpenCV.pdf
I think that the prjection matrix provided by the LV block "IMAQ Get Camera Parameters" is like this [R1 R2 T]
but need to manipulate with the SVD decomposition as describe on page 391.
With this trick det(R)=1 and R3=R1xR2
attached my VI with the value caming from my calibration
I will verify and validate the data as soon as possible.
Ciao
03-12-2018 09:35 AM
Hey leonardoMM,
Were you able to verify and validate the output of the IMAQ Get Camera Parameters? Did you produce expected results for your Rotation Matrix throughout your tests?
12-03-2020 06:18 AM
The problem of calculating the Extrinsics of the camera providing image points and world points refer to the documentation of Labview comparing with known Matlab function:
[R, t] = extrinsics(imagePoints, cam_params.WorldPoints, cam_params)
In Labview the vi Learn perspective calibration calculates matrix W=[r1 r2 t] (or not?)
The vi Get Camera Parameters returns this projection matrix W. From what I found through the posts and documentation I understand that projection matrix is the matrix W=[r1 r2 t].
From what people proposed we can decompose the matrix W and receive r1 r2 r3 vectors.
I am wondering why in Matlab the translation vector is a 3x1 which contains the offset in the Z direction of the checkerboard origin whereas in Labview it gives you a translation vector which does not contain Z.
If the vi Learn perspective calibration returns array H instead of W, where H=M*W based on https://www.oreilly.com/library/view/learning-opencv-3/9781491937983/ page 407 the translation vector t=λ*(M^-1)*h3 where h3 is the 3x1 vector of array H.
I attach the array M of the intrinsic and the projection matrix.
So the question is how to get the full translation vector t=[X Y Z 1] like Matlab function [R, t] = extrinsics(imagePoints, cam_params.WorldPoints, cam_params)
Thanks