Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

IMAQdx with 10,12,14bit and Display Conversion

Solved!
Go to solution

Hi,

i ran into a problem when using a 12 bit firewire camera with IMAQdx.

When taking a 12 bit image in an I16 IMAQ the Display Conversion Method is not working any more. Vision gets sometimes unstable an can freeze my LabView. (Labview8.6, Vision Dev.8.6.4).

In the attached screenshot you can e.g. see it is not scaling to 90% dynamic.

Perhaps is is a problem with the camera data format? Or 12 bit images are fixed scaled?

I have a fix using 16 bit only an do bit-shifting.

 

Chris

Download All
0 Kudos
Message 1 of 4
(3,951 Views)

Hi Chris,

 

I think you need to perform the conversion in a different way than using the 90% mapping..

 

This is what the (CVI)Help says about the method:

 

"The function maps the dynamic range containing the middle 90 percent of the cumulated histogram of the image to an 8-bit (256 grayscale values) scale."

 

So what you rather want to use is the Number of Shifts property and use the Downshift method:

 

"The function shifts the 16-bit image pixels to the right the number of times specified by the shiftCount element of the DisplayMapping structure. " 

 

Basically this is what you have already programmed through your "workaround" so you can go with either of the ways.

 

Hope this could clarify this a little more.

 

Best regards,

David

0 Kudos
Message 2 of 4
(3,909 Views)

Thank you David,

the problem is, that none of the DisplayMapping functions is working any more.

Only when using 16-bit IMAQdx the scaling functions are working. But the the Camera gets then U16 data and puts them into my I16 image, the upper values are wrapped to negative numbers (as expected by U16-I16 mapping). After that standard scaling does not help any more as it preserves the negative numbers.

There is a bug somewhere in my IMAQdx/Vision.

Chris

 

0 Kudos
Message 3 of 4
(3,904 Views)
Solution
Accepted by topic author zabotage

Hi, zabotage,

 

Its "documented bug" which was discussed here somwhere.

So, Display Mapping works with 16 bit images only! Its documented. Even you have 16 bit type, but bit depth which is set inside of IMAQdx is not 16 bit.

Also use IMAQ Image Bit Depth function with 16 bit before mapping (or with bit depth = 0, i don't remember), and all will be OK.

 

Andrey.

Message Edited by Andrey Dmitriev on 06-12-2009 05:27 PM
0 Kudos
Message 4 of 4
(3,898 Views)