openFrameworks addon for control and capture from Canon DSLR's via the EDSDK
Branches ahead of master
These branches have commits not yet on master — could be unmerged fixes or work in progress worth a look.
README
ofxCanon
An openFrameworks addon for interfacing with Canon DSLR cameras.
Features
Photo taking Blocking or Async (using C++11
std::future) 8bit and 16bit 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::CameraRequirements
openFrameworks 0.9.0 or later You must download the EDSDK from Canon (Canon Europe EDSDK download, Canon USA EDSDK download). Check the text files in
ofxCanon/libs for example file layouts. (Optional : ofxAddonLib if you're using Visual Studio)Tested
This addon is tested with:
2020.03.10
Commit #1b28a71
| IDE / Platform | EDSDK v. | Camera | Machine | Success |
|---|---|---|---|---|
| VS2019 | 13.12.31 | EOS5DMkiii | x86, x64 | YES |
| VS2017 | 13.12.10 | EOS7D | x86, x64 | YES |
| VS2017 | 13.12.10 | EOS750D | x86, x64 | YES |
| VS2017 | 13.12.10 | EOSM50 | x86, x64 | YES |
| 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 |
| XCode | 3.9.0 | EOS1DX | x86, x64 | YES |
1. More recent version of ofxCanon will break compatability with older versions of EDSDSK 2. If you want to use earlier versions of EDSDK, then you will want to roll back to earlier versions of ofxCanon also (since there are breaking changes in the EDSDK API that we have to keep up to date with). I suggest that you check through the commit history back in time to the point where the version of EDSDK that you want to use is the top of the list (the same goes for earlier version of oF).
Usage
1. Download the necessary libs from Canon (check the
libs/context_??.txt file for your platform to see what files you need where)XCode
1. Use the Project Generator to add ofxCanon to a new or existing project 2. Set your macOS Deployment target to be
10.8 or laterOptional : 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.Visual Studio
Check instructions from ofxAddonLib or use the project generator.
ofxEdsdk compatibility
This addon began as a rewrite of the fantastic ofxEdsdk by Kyle McDonald + 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 :).
Get this addon
Latest release
toolMonoDebayer
published 5y ago
A standalone tool for mono debayering of raw images from canon cameras.
ofxAddons