PDA

View Full Version : How to acquire 16(12) bits image using Labview?



njsss
November 11, 2013, 23:44:03
Hi Stefan,

I've been trying to acquire a 16-bits format image (12bits) using labview, but so far not successful.

I followed the example "IMAQ Image.vi" and set the VideoFormats to Y16 (testVi_block.png), however the property "ImageBitsPerPixel" remains 8 and acquired image is 8-bit as well (testVi_front_U8.png).

So I did some change to the "IC_Grab_IMAQ.vi" (IC_Grab_IMAQ_blockU16.png), which doesn't seem to ever consider using 16bits, however the output image is just wrong (testVi_front_U16.png).

thank you,

Stefan Geissler
November 12, 2013, 09:07:14
I've been trying to acquire a 16-bits format image (12bits) using labview, but so far not successful.
I am very sorry, but this is not supported by the IC LabVIEW extension. The IC_Grab*.vi handle Y800 and RGB32 only.

However, if you want to try, you must disable the OverlayBitmap of IC Imaging Control. This is done by invoking the OverlayBitmapPositionas property node and set it to PATHPOSITION_NONE. If the OverlayBitmap is enabled, the video images will be converted to 8 bits.

Please refer to
http://www.imagingcontrol.com/en_US/support/documentation/activex/prop_descICImagingControl_OverlayBitmapPosition.ht m

njsss
November 12, 2013, 19:47:45
Hi Stefan,

So I set OverlayBitmapPosition to PATHPOSITION_NONE before calling IC_Gab_IMAQ, in which I changed IMAQ Create to U16, but left bpp of IC LabVIEW Extension 2.dll (func IC_LabViewExt_CopyBuffer) to 8. I still couldn't get a proper 16 bit image. It looks like it copied the image buffer but resized and duplicated? If I change the bpp to 16 it shifts to the bottom like the pic posted last time (testVi_front_U16.jpg).

So if I really want to use Labview, is there a library other than the LabVIEW Extension 2.dll that I can call upon to get the image? What about the IC controll C++ one? Or do I have to program in C++ altogether instead?

thank you,

Lei

PS: the camera is DMK 23U618

Stefan Geissler
November 13, 2013, 12:58:21
Hello

As I already wrote:


I am very sorry, but this is not supported by the IC LabVIEW extension. The IC_Grab*.vi handle Y800 and RGB32 only.

Sorry for that. Since I am running out of time due to release phase of products, I can not say, when I will add this to the ActiveX.

I case, you have the NI IMAQ library, I suggest to use the IMAQ driver instead of the LabVIEW extension. If you have a GigE camera, this is the recommended method.

njsss
November 13, 2013, 18:10:21
Hi Stefan,

Thank you for your reply, and I really appreciate your time. The NI-MAX, NI-IMAQdx and NI-IMAQ were the first things I tried. However neither options gave me a 16bit image. There are only two VideoModes available, both give RGB formations; and the PixelFormat is read-only (BGRA 8 Packed). This is a USB3.0 camera, which I thought may be the reason that NI-IMAQ didn't support.

Will the c++ package also has this type of problem? I'm planning to switch over.

thanks,

Lei

Stefan Geissler
November 14, 2013, 09:18:14
Hi Lei,

DANKE


This is a USB3.0 camera, which I thought may be the reason that NI-IMAQ didn't support.
Right.


Will the c++ package also has this type of problem?
No.

(Short answers :-) )

neo-ti
March 4, 2014, 05:26:59
I've acquired a 16-bits format image (12bits) using labview

1674

neo-ti
March 4, 2014, 05:29:36
I've acquired a 16-bits format image (12bits) using labview
1675

mikema72
April 12, 2014, 00:47:35
I've acquired a 16-bits format image (12bits) using labview

1674

I think, that this example does not work too well. I wrote it in the LV and I still have shifted image like njsss (example : testVi_front_U16b.jpg). The difference is - all images are superimposed on each other. Maybe I'm doing something wrong?
Does anyone have an idea how to solve "problem with 16-bits"1688?