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
(929 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
(904 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
(887 Views)