Machine Vision

Showing results for 
Search instead for 
Did you mean: 

Imaq Calibration

I posses Labview 7.1 and Imaq Vision.
I have built an application, which acquires an image streaming out of a camera, which is of a line scan type, and is based on mirror movement on axis x and axis y.
Now, that I'm able to get the image, I would like to have a transformation between pixels coordinates on the acquired image to the mirrors coordinates of the camera. The idea is that by clicking a location on the image, the application will be able to move the mirrors to the analogous location.
Suppose I am able to have a number of points with their locations in pixel coordinates and in mirror coordinates. I have read that there are ways to use Imaq built in calibrations in order to transform pixels into real world coordinates.
My questions are these:
A)  Is my approach of getting reference points is the best way to use calibration in my case ? I've read that there are also other ways such as using a circled map, calibration based on axes. Quite frankly I have not  fully understood how this axes calibration works and if it is neccessary.
I would like to emphasize that calibration, based on a circled map pattern is not practical in my case, since the calibration is intentioned to be done by the user, and so he won't have access to actually removing the object that is getting shot by the camera in order to set this pattern.
Also, the image that is actually seen in the application, its borders are not necessarily the borders of the mirrors movement. In other words, there is data loss on the way to the image matrix and so I suspect that axis calibration cannot be used in this case.
B) In case reference points is indeed the right way to start with, is there an example how I can implement this in practice ?
I'm not familiar with calibrations, and the mass of the parameters in addition to various calibrations methods (simple, with distortion, without distortion, liner, non linear.....) is quiet confusing. So, can anyone please advice me on what I should start with and hopefully link an example ?
0 Kudos
Message 1 of 5
Thanks for your post.  The IMAQ calibration functions allow you to compensate for skew in lens or distoration cause by the viewing angle in you image.  By taking an image of a grid of dots, the NI IMAQ software can interpert any distortion in the image and adjust pixel in the image for a real world measurement.  I am not sure exactly how your mirror system is setup, but this may be useful for you.  For more information on IMAQ calibration, see the following links:
Hope all of this helps!
Scott Savage
National Instruments
Applications Engineering
0 Kudos
Message 2 of 5
Hi Savageagg…
Thank you for your kind reply,
I've read what you have attached, and I've tried to build the simplest program, which learns calibration by a number of refrence points and then transforms some pixels to real world coordinates.
Somehow, there is an error when I run the vi. I do not understand why it won't work.
Could you please take a look at my code ?
I've attached it below.
0 Kudos
Message 3 of 5


I am not sure what is causing the error in your case.  The error pretains to not having enough points for reference for the calibration VI.  Instead, I would suggest building off one of the calibration examples built into LabVIEW.  You mentioned you had installed LabVIEW 7.1, so the examples should be located in the following directory:

C:\Program Files\National Instruments\LabVIEW 7.1\examples\Vision\2. Functions\Calibration

I attached a couple of these for you to try.  Use these as a template to build up your application.  Sorry I didn't mention these last time.  Hope they help you out!


Scott Savage
National Instruments
Applications Engineering

0 Kudos
Message 4 of 5
Hello Scott,
Thank you for answering.
 I've already read the examples that you have attached. Unfortunately, they do not show calibration by reference points, which is the only way possible for me.
Is this possible to get help with this kind of calibration please ?
Best regards,
Message 5 of 5