MATLAB Answers

Image Acquisition Toolbox Supported DSLR Cameras

15 views (last 30 days)
Mehrdad
Mehrdad on 1 Apr 2016
Answered: Abhay Sablok on 18 Sep 2017
1. Does Image Acquisition Toolbox support Canon DSLR cameras like Canon 5D Mark II? Besides, acquiring still images and vides from the camera, I need to to control different functions such as taking pictures, recording videos, time interval between pictures, etc.
2. If the Image Acquisition Toolbox does not support Canon DSLR cameras, what is the closest camera to a DSLR camera (with interchangeable) lenses fully supported by this toolbox?
3. How many (fully) supported cameras can be connected to a laptop that has MS-Windows 7 operating system to take pictures or videos simultaneously?

Answers (4)

Will Nitsch
Will Nitsch on 15 Aug 2017
Edited: Will Nitsch on 15 Aug 2017
I know this is an old post, but since maybe someone could find this useful, I will contribute a possible solution.
When I was in grad school I needed to control a Canon DSLR programmatically with my computer (Rebel SL1). Since at the time I didn't find any support in MATLAB for that particular camera model, I resorted to a C# implementation instead:
https://www.codeproject.com/Articles/688276/Canon-EDSDK-Tutorial-in-Csharp
The SDK for Canon Cameras is a little rough to get set up at first but this gives a lot of good examples on actually controlling the camera using the Canon SDK. You'll probably have to do some tweaking (I can't remember what I had to do exactly, but I remember having a weird time with my referenced .NET version in the C# project and having to revert to an older one for it to work).
To use this with MATLAB, what you could do is set up a .NET or ActiveX connection in the C# program and connect to it from MATLAB. I think you'd also have to have to also write routines in C# to handle that communication and trigger proper commands.
I'm not an expert on talking between different pieces of software or using .NET, but this seems like a viable solution if you're willing to put in the work. I remember getting a GUI up and running to control my camera and a stepper motor via Arduino using that C# implementation (the codeproject.com one) within a few days. There wasn't a ton to modify and it wasn't hard to learn on the fly.
I'm pretty sure that Canon offers their SDK in C also. If you tried to get these C libraries working in MATLAB, you'd have to create MEX files (requiring you to modify the C files to be MEXable) or I think you can compile the libaries into .dll/.h files and use 'loadlibrary' to run it in MATLAB.

Walter Roberson
Walter Roberson on 1 Apr 2016
The Canon site is frustrating to get this kind of interface information from :(
The specifications for the Canon 5D Mark III do not even mention USB or other remote interface.
The specifications for the Canon 7D Mark II mention USB and also mention compatibility with their Wireless File Transmitter WFT-E7A . That in turn mentions both WiFi and ethernet interfaces for that device, but for further information about the remote access, mentions only the Canon EOS Utility. The description of that on the Canon site just tells you a small bit about its purpose, and gives download instructions. The WFT-E7A description mentions support for the 5D Mark III as well.
The specifications for the EOS Rebel T5 EF-S mention that it is "compatible" with Gigabit but do not explain.
Ah, it appears the 1D X has gigabit, but read http://www.dpreview.com/forums/thread/3252038 (though perhaps the Mark II version of it improved.)
And with regards to the WFT-E7A possibilities, notice http://www.dpreview.com/forums/thread/3223616#forum-post-41831200 which points out that the 5D Mark III is only USB 2.0 and so cannot get real gigabit speeds.
The reason I talk about gigabit here has to do with the possibility of using the gige() interface facilities of MATLAB, as those allow for much more camera configuration than the ipcam() facilities do.
I am getting frustrated going through the Canon material :( At least when I researched the Sony Cybershot line a couple of months ago I was able to find answers there, even if in the negative.

Mehrdad
Mehrdad on 1 Apr 2016
Thank you so much for your time Walter! Some Canon models have a utility program for taking pictures using USB interface. However, I could not find anything for Canon 5D Mark III.
  2 Comments
Image Analyst
Image Analyst on 2 Apr 2016
If the utility is ActiveX aware, you have a chance,, but you'd need the documentation, and possibly SDK software, so you know what methods to call.

Sign in to comment.


Abhay Sablok
Abhay Sablok on 18 Sep 2017
Hello, I was having trouble using my Canon Rebel T3i with my Macbook. Any help on the setup? I was intending to make an image acquisition software for sorting of samples using greyscale images using Matlab.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!