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:
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.