05-02-2023 01:11 PM
Hello,
I am looking to use "LV_GetImagePixelPtr_v2" from what I think is the "nivisscc.*" library, but I am not sure where that DLL should be located. I think I might possibly be missing it, or am looking in the wrong place.
Anyone have an insight in this?
05-02-2023 03:18 PM
That DLL is part of the NI Vision Analysis Toolkit. Have you installed that?
And yes it is a licensed toolkit.
05-03-2023 05:32 AM
Yes I have, I just cannot find the physical file's location and was hoping someone possibly knew where it was.
05-03-2023 05:51 AM
@LearningLabVIEW wrote:
Yes I have, I just cannot find the physical file's location and was hoping someone possibly knew where it was.
By default, after VDM installation the NIVisSvc.dll should be located in C:\Windows\System32\ for 64-bit or in C:\Windows\SysWOW64\ for 32-bit Development Environment.
Andrey.
05-03-2023 05:52 AM
05-03-2023 05:56 AM
Within my program I am using the "IMAQ GetImagePixelPtr.vi", I am giving it an image to map a Pixel Pointer, and it is not outputting anything. I am using LV 2020 32 bit, and suspecting I might not have that installed for this specific version of LV.
05-03-2023 06:06 AM
@GerdW wrote:
Hi Learning,
why do you want to directly access a DLL installed by that toolkit?
Why don't you use the VIs/functions provided by the toolkit?
Gerd, for example, if I would like to pass native IMAQ Image Data Type into my own DLL, then I should call LV_LVDTToImage() or may be LV_LVDTToGRImage() from NIVisSvc.dll inside of my own DLL, something like that:
But this is slightly "advanced" use case. Another reason is if I would like to mix my own functions with IMAQ (like imaqGetImageInfo() etc), then I should call these directly from NIVision.dll. On the other hand its sufficient to link statically own DLL with NI DLLs, and the location is not so important, they will be called from default location. With NIVisSvc.dll its a little bit tricky, because the *.lib is not provided by NI, but it is not a big deal to generate it from DLL - this is the only one rational reason to known where NIVisSvc.dll is located.
05-03-2023 06:13 AM
Hi Learning,
@LearningLabVIEW wrote:
Within my program I am using the "IMAQ GetImagePixelPtr.vi", I am giving it an image to map a Pixel Pointer, and it is not outputting anything. I am using LV 2020 32 bit, and suspecting I might not have that installed for this specific version of LV.
So you call a IMAQ function and it operates on your data.
You get "no" output (whatever that means), but you don't get an error?
Why do you think it is "not installed" when it apparently works without giving an error???
05-03-2023 06:22 AM
@Andrey_Dmitriev wrote:
this is the only one rational reason to known where NIVisSvc.dll is located.
Not really. Since it is located in the <system> directory, you should not even attempt to load it by path, but only by name anyways. Generally full paths for DLLs should only be used if you want to load a DLL from a custom path. But custom paths for DLLs are in most cases not a good idea. If you can't place them in the system folder or your applications own exe folder, you might be having a bigger problem in most cases.
05-03-2023 06:25 AM
@LearningLabVIEW wrote:
Hello,
I am looking to use "LV_GetImagePixelPtr_v2" from what I think is the "nivisscc.*" library, but I am not sure where that DLL should be located. I think I might possibly be missing it, or am looking in the wrong place.
If it would be missing, that VI would load broken and you could not even run it! If the function is not returning what you want it to return you have to search your problem elsewhere.
Does it return an error in the error cluster? What else makes you believe it is returning nothing? Is the pointer returned a NULL value? Or is it just that you actually get no error and the pointer value is not NULL but you simply don't understand what that pointer value is and how to interpret the data it is pointing at?