From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Algorithm behind IMAQ Learn calibration: Documentation, flaws and limitations


@Fredje wrote:

 

>Seems like I have a problem that have some similaritys.

>I want to make Images of +/- 1m², token by 3 camera's, who take each 4 pictures(of 5Mpix each).

>All the pictures need to be calibrated seperatly, and then combined together.

 

I'm also working toward a multi-camera setup, where each camera will have some partial overlap with others (the goal is 50+MP +1 low resolution range camera). I'll have to design a convenient interface for the user for the preliminary registration of the whole camera set, but I'm not yet there. Once I'll be, I'd be glad to share ideas.

 

>Can you help me with the polynomial fit?

>     => How does it works?

>     => Can you send me some code?

 

See my reply above. 

 

>    => And how fast is it in compare to the "correct calibrated image.vi"

 

I haven't implemented any image morphing, so I can't say. For the fit and coordinate transformation part, if you are willing to do some testing of my code and report, that would be interesing. I presume however that since mathscript is involved, computation is certainly not the fastest possible. If you can think of a native LV implementation... I would avoid CIN, for portability.

 

Enrico

0 Kudos
Message 11 of 13
(928 Views)

Hello Enrico,

 

I have tried to understand your program, but it seems to be a bit to difficult for me. So (after I knew about the polynomial thing, ) I started searching for things I do understand.

 

This is what I came up with:

http://zone.ni.com/devzone/cda/epd/p/id/470

 

A 3D polynomial fit and evaluation vi.

 

This already gives me the 10 coefficients (3th order), and the corrections (Zi) that I want. No I just need to find a way to apply those "corrections" to my images. A double for loop seems to be to slow for a 5Mpix picture.

 

So I could not use your code, but it helped me to find the code I can use.

Many thanks!!

0 Kudos
Message 12 of 13
(903 Views)

Hmm, thanks for the link. These VIs do indeed the same thing I do, but natively and in a compact way. The only potential advantage of my script is that it allows to control separately the degree of the polynomial in x and y. It would be interesting to do timings.

 No I just need to find a way to apply those "corrections" to my images. A double for loop seems to be to slow for a 5Mpix picture.

 

If you intend to compute the transformed coordinates of every pixel, perhaps you should put the calculation in matrix form, but it is a lot of calculations anyway. Perhaps there exist some efficient image processing techniques for fast morphing (which include binning and resampling the transformed pixels), I'm not aware.

 

Enrico

0 Kudos
Message 13 of 13
(886 Views)