An openFrameworks addon for interfacing with Canon DSLR cameras.
- Photo taking
- Blocking or Async (using C++11
std::future
) - 8bit and 16bit
- Blocking or Async (using C++11
- Live view capture
- ISO / Aperture / Shutter speed settings (+ ofParameter support)
- Lens information (+ events when lens is changed)
- Stricter threading model
- Ability to call functions in different threads 'remotely' without instruction queues.
std::future
for async photo capture- Use it directly with your own threads, or use the
Simple
class to manage threads for you
- Backwards compatability with
ofxEdsdk::Camera
- openFrameworks 0.9.0 or later
- You must download the EDSDK from Canon (Canon Europe EDSDK download, Canon USA EDSDK download).
- (Optional : ofxAddonLib if you're using Visual Studio)
## Tested
This addon is tested with:
Commit #6b1b18b
IDE / Platform | EDSDK v. | Camera | Machine | Success |
---|---|---|---|---|
VS2015 | 3.5.0 | EOS100D | x86, x64 | YES |
VS2015 | 3.5.0 | EOS550D | x86, x64 | YES |
XCode | 3.5.0 | EOS100D | x86, x64 | YES |
XCode | 3.5.0 | EOS550D | x86, x64 | YES |
- Download the necessary libs from Canon (check the
libs/context_??.txt
file for your platform to see what files you need where)
- Use the Project Generator to add ofxCanon to a new or existing project
- Set your macOS Deployment target to be
10.8
or later
Optional : For 32-bit builds you can add the DPP.framework
to your project if you want to use the EDSDK (rather than FreeImage) to develop RAW images and recover metadata from images. Note : if you don't definitely know you that need this then don't worry about it.
Check instructions from ofxAddonLib.
This addon carries on from ofxEdsdk adding some features (although some may be missing).
Compatability with ofxEdsdk is provided by the ofxCanon::Simple
class which has the same interface as ofxEdsdk::Camera
(i.e. all the method names are the same and it should act as a drop-in replacement if you need it).
Some users of ofxEdsdk (myself included) have experienced issues with ofxEdsdk, and this addon is intended as a way to circumvent those issues. However, if ofxEdsdk is working well for you, then great! I'd suggest to stick with it and come back if you encounter an issue :).