elliotwoods / ofxCanon

openFrameworks addon for control and capture from Canon DSLR's via the EDSDK
38 stars 11 forks source link

ofxCanon

An openFrameworks addon for interfacing with Canon DSLR cameras.

exampleLiveView

Features

Requirements

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

Note :

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

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