02-12-2019 04:39 PM
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
Solved! Go to Solution.
02-14-2019 02:17 AM
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):
(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:
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.
02-14-2019 03:46 PM
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