Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Image cluster array doesn't work in LabVIEW 2018 64 bit

Solved!
Go to solution

Hi,

 

I am facing an issue in retrieving the image information from the array of image cluster in Labview 2018 64 bit.

It Does works correctly in 32 bit version but crashes in 64 bit.

Does anyone no what can be the issue in 64 bit?

attached is the vi that i am using.

 

Thanks,

Bhau 

 

0 Kudos
Message 1 of 3
(2,350 Views)
Solution
Accepted by topic author bhau04

Hi, Bhau,

 

Technically the output of the "IMAQ Image Datatype to Image Cluster.vi" is the cluster which contains the name of the image and the pointer to the IMAQ Image Structure (this cluster contain the dimensions, bit depth, etc and the pointer to the pixel data).

The problem is that the numeric in that cluster is I32, but for x64 system it should be 64 bit wide (because this is a pointer).

The easiest way is to change the type from I32 to I64 in both "IMAQ Image Datatype to Image Cluster.vi" and "IMAQ Image Cluster to Image Datatype.vi" (take a note - there is no typedef linked with that cluster):

 

Screenshot 2019-02-14 09.07.41.png

(probably will be better do not modify standard vision library in vi.lib and create your own copies of these SubVIs).

After this change your example is functional and crash-free:

Screenshot 2019-02-14 09.10.02.png

Not sure why you need such conversion in your code - usually these conversion VIs used for handling the images in external DLLs, but also in this case using IMAQ GetImagePixelPtr could be better way.

 

Anyway I'll consider that this is a bug in VDM x64.

 

with best regards,

 

Andrey.

 

0 Kudos
Message 2 of 3
(2,313 Views)

Hi Andrey,

 

Thank you so much for this detailed explanation of the problem and the solution.

Yes you are right, I am using these conversion VIs for handling the images in external DLL.

 

Thanks and Regards,

Bhau

 

 

0 Kudos
Message 3 of 3
(2,297 Views)