LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Interfacing Nikon D7000 with Labview

Hi everyone, I was trying to control my D7000 with labview. I am also new to labview. Can you please tell the steps to interface and recognize my camera on lab view?

0 Kudos
Message 1 of 9
(4,349 Views)

There is no trivial solution to directly interface to most standard digital cameras. Those are controlled through a different DirectX interface than what for instance WebCams use, which is supported in IMAQdx.

 

The easiest solution if you only want to access the pictures made on the camera would be to just let it install the device memory as file volume and then access the image files through file IO. If you need to control the camera to take pictures and change settings, the interface is very non trivial requiring lots of intermediate C code.

 

We have done it in the past and if you are really interested we might be able to workout something but it is not trivial.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 2 of 9
(4,307 Views)

Yes, I want the camera to change settings and take pictures which do not have trivial solution. I searched a lot but couldn't find any solution. I am not yet able to initialize the camera as well.  

0 Kudos
Message 3 of 9
(4,286 Views)

Hi GrayMetal,

 

As Rolf pointed out, this can be done but will require a good amount of work. Evidently Nikon does supply developer tools for some of their cameras here. However, you will need to go through the available SDK yourself to see exactly what functions are available. You would then need to pull this library into LabVIEW (likely as a DLL). All of this can be done, but it will be relatively involved.

 

I hope this helps!

 

Andy C.

Applications Engineer

National Instruments 

 

 

0 Kudos
Message 4 of 9
(4,254 Views)

HI EVERYONE,

 

I HAVE DLL FILE  BUT  MY CONCERN IS HOW TO ACCESS AND HOW  IT LOOKS ON LABVIEW WHEN I ACCESS THAT ON LABVIEW? WHAT OTHER THINGS I HAVE TO DO TO RUN THAT PROGRAM ON LAB VIEW. I HAVE SEEN SIMPLE PROGRAM OF MULTIPLICATION ON INTERNET WHICH WAS RUN ON LABVIEW. SIMPLY CAN I LOAD DLL FILE ON BLOCK DIAGRAM AND RUN OR I HAVE TO THINK ABOUT OTHER PARAMETER LIKE LOOP, FUNCTION. ACTUALLY I AM UNKNOWN FROM WHERE TO START. ANY SUGGESTION AND HELP WILL BE APPRECIATED.

0 Kudos
Message 5 of 9
(4,162 Views)

Please, your keyboard has a shift lock key that can be used to unlock uppercase only text!!!!!

 

What DLL do you have? Anyways, independent if it is from the Nikon SDK or some other source, an image acquisition interface is not a very good project to learn LabVIEW in general, how to access DLLs in special and do image acquisition too. Each of these are a project in its own already with quite some learning curve and in the case of interfacing an image acquisition interface in a DLL a rather steep learning curve too. Unless you are able to write a C program that can access the DLL, you are unlikely to succeed in interfacing the DLL in LabVIEW.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 6 of 9
(4,158 Views)

Yes i have dll file of Nikon. Actuallly i am controlling camera from that c program and now i want to control that through labview. i am new to lab view so wanna know more about the process like what to do and how to do that? i mean to access that on labview what actually should i start from?

0 Kudos
Message 7 of 9
(4,153 Views)
Hi Rolfk,

I am also at the same point. I started this project with dll file and sample c programs from Nikon. Due to other projects, I am not able to focus on interfacing camera with lab view. I am happy to see another person trying to do the same.

If possible, can you suggest how to start using the available dll file? I am trying to track the sample C code provided by Nikon. But I don't know how to implement it into lab view.

Thanks!
0 Kudos
Message 8 of 9
(4,148 Views)

If it is the classical DLL API the Call Library Node is the object to use in the LabVIEW diagram. But you have to know quite a bit about how a C compiler normally works to make it work right and you can not do things like callback pointers in LabVIEW. Also pointers inside structures are not really something which LabVIEW can support easily since LabVIEW uses different data objects for strings and arrays than what in standard C normally is used. The Call Library Node supports configuration of arrays and strings as individual parameter as a C pointer, so that works there, but not inside a structure.

 

If it is a different API like ActiveX or .Net you should look into the actual ActiveX or .Net interface in LabVIEW. Here you do have a lot less hassles about making sure the parameters are correctly configured since these are managed interfaces (especially .Net) and the LabVIEW functions make sure to translate between LabVIEW managed parameters and .Net managed parameters.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 9 of 9
(4,147 Views)