Table of Contents - What is CameraBox?
- News & Updates
- Known Issues
- Downloads
About
CameraBox is a camera control toolbox for Matlab, enabling communication between Matlab (i.e., M-file scripts) and Canon cameras. Most of the features available through Canon's own Remote Capture tool and the Canon SDK (CSDK) are available through the Matlab function calls included in CameraBox. The Canon SDK itself is not required. However, for the fullest explanation of all the functions available to the CameraBox user, it is recommended that the user request the SDK from Canon in order to have the reference documentation that comes along with it. (The CSDK is available with few restrictions in most countries.) Canon's documentation also indicates which remote access capabilities are supported by which cameras.
CameraBox was developed mainly for ease-of-use and rapid application development. While the CSDK offers the full functionality allowed over a remote (USB) connection to Canon digital cameras, it normally requires the use of C/C++. This makes it difficult for scientific applications which already make use of Matlab to have CSDK functionality. CameraBox links the CSDK and Matlab in a way that is transparent to Matlab users, allowing Matlab to retrieve data from and to control Canon digital cameras. In many cases, this can be accomplished in only a few lines of Matlab code.
Intended uses of CameraBox:Neither this toolbox nor its author are affiliated with Canon or MathWorks. CameraBox is incomplete as far as full reproduction of the Canon SDK is concerned. This will improve with time, but in order to maintain sanity among the helpful folks at Canon and MathWorks, please direct any questions about CameraBox directly to Sean and not to them.
- Applications requiring automated or long-term imaging (e.g., timelapse).
- Scientific applications requiring input from a digital camera.
- Imaging applications that require rapid or complicated manipulation of the camera controls (e.g., exposure bracketing).
Sean is also the author of AHDRIA, another camera control tool.
News & Updates
- Nov 29, 2007 Functions were added to retrieve/set ISO values.
- Mar 20, 2006 Functions were added to convert to/from Matlab time and Canon time, taking into consideration (or not) the local time zone. Functions were added for getting and setting the date/time on the camera. The camera time can be synchronized to the computer time (to within 1 second) with one line of code: CB_SetCurrentTime(cc, CB_MatlabSerialTimeToCanonTime(now));
- Mar 18, 2006 Updated to allow capturing to the camera's onboard memory and subsequently retrieving the images to the control computer. Capturing to onboard memory allows more rapid capture if sequences of images must be taken quickly.
Feb 25, 2006 Viewfinder functionality added.
- Dec 29, 2005 First release of CameraBox.
Known Issues
- InitCameraBox() occasionally returns Failure initializing SDK even if the SDK was apparently loaded properly and all subsequent calls work as expected.
Downloads
CameraBox is composed of a set of DLLs that function as ordinary M-files (at least, from the Matlab programmer's point of view). In addition, the Canon SDK drivers are needed; these may have been installed automatically with the software that came with your camera; if not, they can be downloaded here.
CameraBox is Windows-only software and was compiled with Matlab 7.1 (R14SP3); performance under any other version of Matlab is unknown.
Note: CameraBox is a work in progress and should be considered as such. Some (=many) advanced SDK features are missing and not all included functions have been thoroughly tested. Known limitations are discussed in the documentation.
- CameraBox v1.30 DLL collection and documentation.
- Canon SDK Drivers v7.3 Files from Canon necessary to run software developed with the Canon SDK. This only needs to be downloaded once; later versions of CameraBox will use this same package.
- Canon SDK Drivers v7.1 If the above drivers seem incompatible with your camera, try this.
The contents of this webpage and all files contained herein, unless otherwise noted, are copyright ©2005-2007, Sean O'Malley.
![]()