LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

IMAQ Insufficient Data

Solved!
Go to solution

I have a vi I am working with to try to calibrate my vision camera. I have the pictures and the dot matrix. When I go through the calibration process I am getting Insufficient Data = true when I am done. Am I doing something wrong?

Tim
GHSP
Download All
0 Kudos
Message 1 of 4
(126 Views)
Solution
Accepted by topic author aeastet

Hi aeastet,

 

Following example <LabVIEW>\examples\Vision\Stereo Vision\Compute Depth Image\Compute Depth Image.vi

I could make it return some internal parameter values with "Insufficient Data" = false.

 

I think you were overwriting the previous calibration at each iteration instead of combining all the calibration images in a single template image.

See the modified version attached.

 

Regards,

Raphaël.

 

 

Message 2 of 4
(94 Views)

@raphschru wrote:

Hi aeastet,

 

Following example <LabVIEW>\examples\Vision\Stereo Vision\Compute Depth Image\Compute Depth Image.vi

I could make it return some internal parameter values with "Insufficient Data" = false.

 

I think you were overwriting the previous calibration at each iteration instead of combining all the calibration images in a single template image.

See the modified version attached.

 

Regards,

Raphaël.

 

 


That worked great. I am still trying to get my head around what vision is looking for even though I have been doing this on and off again for years. Vision or IMAQ never seems to work the way I am expecting.

Thanks again. 

Tim
GHSP
0 Kudos
Message 3 of 4
(79 Views)

Vision is a complex topic in itself and IMAQ makes it not always easier.

 

First what we do intuitively with our eyes and brain can be rather complicated to replicate with computers. Transforming our intuitive process to an algorithmic implementation is prone to many problems.

 

The other thing you need to remember is that an IMAQ resource very much behaves like a LabVIEW refnum. Unlike the other LabVIEW datatypes that are value based, IMAQ refnums are reference based. That can be very confusing for normal LabVIEW users. If you branch a string off and change its value in one branch you now have two different strings in memory. If you branch an IMAQ resource off and change the image content in one, your other branched off IMAQ resource will also contain the new image, since the IMAQ resource is only a reference to the actual image data.

 

Since images are often huge memory lumps, not treating an IMAQ resource as reference would more often than not create an out of memory error dialog, since every wire branch would create a new copy of the whole image. The IMAQ developers had the choice to try to educate the users to never branch off IMAQ wires unnecessarily or to implement an IMAQ resource as a reference, somewhat breaking the usual by value paradigm of LabVIEW wires. Guess which one felt easier to do 😀.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 4 of 4
(43 Views)