From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Acquire data from GigE camera using labview's CIN or Call DLL.

Solved!
Go to solution

Hi, I am tring to acquire data from a basler runner line CCD camera (GigE).

 

Since the NI Vision Development Module is not free, and the camera provide a API of C++ and C, and also some examples, so I am considering using labview's CIN or Call DLL function to achieve it. Is it possible?

 

I tried to build a DLL with the example code from the camera company. But meet some difficulties;

 

I only have a little C++ background, but not familiar with it. The example C++ Code the camera provides is a C++ Project (A source Code file and a .cproj file), it dependent on some other files, in the directory of camera's API.


If I build the project directly, it will build a window application, not a DLL. I don't know how to convert it to a DLL project, since there are other informations such as dependency in the .cproj file, other than the source code.

 

Can anyone help me with this?

0 Kudos
Message 1 of 3
(3,269 Views)
Solution
Accepted by topic author ustcmiaor

Keep in mind that for acquisition from a GigE Camera, you only need Vision Acquisition Module, not the entire Vision Development Module. Vision Acquisition is much lower priced and also comes free with current NI Vision hardware (such as a PCIe-8231 GigE Vision acquisition card). You would only need Vision Development Module if you then want to use its pre-made image processing functions. If you are just displaying, saving images to disk, or processing images using your own code (such as manipulating the image pixels as an array) you can do that with just Vision Acquisition.

 

While it is certainly possible to call DLL functions though LabVIEW using a Call Library node, it would be quite a lot of work unless you are very familiar with C/C++. Since their driver interface is C++ you'd have to create wrapper functions in C in a DLL you write. Depending on how much functions you wish to expose this might be quite a bit of work.

 

Eric

 

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

Hi, Eric,

 

Thank you very much for your advice, and I downloaded the VSA for evaluation, and it works great!

 

I will buy this software, or a hardware as you have mentioned, to get a copy of this VSA. Can you give me some advices? All I want is low priceSmiley Very Happy

 

And also, I am very eager to learn more C++ knowledge, can you recommend me some materials regarding to the wrapper functions and so on.

 

Miao

0 Kudos
Message 3 of 3
(3,233 Views)