10-08-2009 12:56 AM
What is the point of the Sequence block? The error wires produce the same execution sequence.
10-08-2009 04:45 AM - edited 10-08-2009 04:47 AM
Hi, Iskander,
As far as I can understand, you need to transfer one image to another image by pointer.
Lets say, you have pointer to source image (can be IMAQ image, or foreign image delivered from USB cam or something like that) and your destination is LV IMAQ Image.
There are two possible ways how to do this.
The first method with IMAQ MemPeek - so it don't required any DLL, but relative slow due to triple conversions (byte string->1D array->2D Array->IMAQ Image):
The second method actually based on NI Example. You need your own DLL where you should transfer the image:
The source code of the CopyImage_ptr is pretty simple and straight forward:
Notes:
1. You should clear understand how IMAQ Image organized in memory:
2. Calling GetImagePixelPtr with UnmapPixelPointer is not necessary.
Refer to this thread: IMAQ GetImagePixelPtr Unmap Pixel Pointer - do I really need this?
Any further questions?
with best regards,
Andrey.
10-09-2009 04:11 PM
Hi all.
Thanks very much fo the help.
Andrey , do You speak Russian?
Best regards
Iskander.
10-10-2009 02:02 AM
Iskander wrote:
Andrey , do You speak Russian?
Да, я немного говорю по-русски 😉
Андрей.
10-15-2009 03:49 AM
Thanks all for the help.
All work
Best regards
Iskander.
05-10-2021 07:05 AM
Hello Andrey Dmitriev, I also want to pass my image to a dll and do some processing with the image. I tried the example files that you supported (I just recompiled the dll code because my labview is 64 bit) but encountered with such a result:
Also, I did not see any image path or source etc. How can I do that with an image that I supply? Any help appreciated.
Regards.
05-10-2021 03:46 PM
Its happened because pointers on x64 are 64 bit wide. They just truncated.
Just change the type here for both src and dst:
Then it should work again.
Andrey.