Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Get/use information of mapping achieved during Perspective calibration

Hallo,
According to the theory (Tsai for example) coupling camera coordinates to world coordinates can be described with two linear transformations:
1) Rotation
2) Translation.
To calibrate my setup I have a setup with camera posed at 45 degr. to calibration grid of dots. I use perspective calibration. The mapping which can be described with rotation, translation, perspective projection and scaling is calculated during this calibration.
Because in my calculation I need to use information of rotation of the camera (actualy an angle between camera axis and horizont) and translation (distanse between camera and world origins) I  have two question:
1) How does Vision Assistant calculates mapping?
2) How can I obtain this mapping information? 
Thanks,
Aleks
0 Kudos
Message 1 of 7
(3,919 Views)

 

Hi Aleks,

There are three types of calibration; spatial calibration, perspective, and non-linear perspective.    How these types of calibration are preformed in the Vision Assistant is explained in the Vision Concept Manual.  If you already have Vision installed you can browse there by going to Start>>Programs>>National Instruments>>Vision Assistant>>NI Vision Concept Manual. 

If you are using LabVIEW there is a way to get some of the information from your calibration using the IMAQ Get Calibration Info.vi.  This will enable you to get the axis calibration info.  You will need to write algorithms to get most of the information regarding the rotation and translation of your camera.  Let me know if you have any other questions.

Have a great day,

GG

 

 
0 Kudos
Message 2 of 7
(3,894 Views)

Hallo Gavin,

I'm trying to get my camera angle (angle between camera axis and horizont) combining information of different calibrations (persp, non-lin and simple). But my math is terrible so I'm not sure if it is really possible. You was saying that I need an algorithm for this. Do you have an example or can you give some hints on this topic?

Thanks,

Aleks. 

0 Kudos
Message 3 of 7
(3,876 Views)

Hi Aleks,

One of the outputs from the IMAQ Get Calibration Info.vi is the Angle Relative to Horizontal.  I think this is the angle that you are looking for.  If not you can use that angle and some basic trigonometry functions to calculate the angle you are looking for.  I hope this helps.

Regards,

GG 

0 Kudos
Message 4 of 7
(3,855 Views)
Thank you for anwering my question,
I think that the Angle Relative to Horizontal from IMAQ Get Calibration Info.vi is the angle which I (user) give as an input during calibration. It is not the angle of camera rotation - the angle I'm looking for. Or not?
Regards,
Aleks  
0 Kudos
Message 5 of 7
(3,844 Views)

Hi Aleks,

One other thing that you could do if you are using several different angles is try having several different calibration templates.  Take the different images and compare the relative size of your image with the templates.  Then interpolate to find the angle the image was taken from.  The more calibrated images you have the more accurate your angle will be.   This will also require a little math, but it would be mostly trigonometry and interpolation. 

I hope this is helpful.

Have a great day,

GG  

0 Kudos
Message 6 of 7
(3,829 Views)
It is not clear to me which angle you are trying to measure.
 
If you are trying to measure the rotation of the camera around the axis perpendicular to the target, it is fairly easy.  Make a target of horizontal lines (alternating black and white) and locate an edge of a line.  Determine the angle between the line and horizontal and you are done.
 
If you are trying to measure the angle between the camera and the axis perpendicular to the target, it gets a little more difficult.  You would probably need to use a grid of dots and determine how the distortion of the grid indicates the angle.  This would involve some trigonometry and math.
 
Bruce
Bruce Ammons
Ammons Engineering
0 Kudos
Message 7 of 7
(3,821 Views)