Skip to main content


A new App-style MATLAB tool for wand-based camera calibration based on the MATLAB Computer Vision toolbox

Download the packaged app and source code from github


easyWand – a MATLAB tool for wand-based camera calibration


  • Provides a convenient graphical interface for calibrating 2 or more cameras using a calibration wand
  • Also can incorporate unpaired scene points such as background scenery or animals
  • Uses SBA (sparse bundle adjustment) for fast, accurate calibration
  • Supports alignment to a world reference system from axes placed in the camera view or to gravitational acceleration
  • Specification of different optimization levels ranging from none to focal length, principal point and radial + tangential lens distortion
  • Produces calibration results as camera intrinsic + extrinsic parameters and as DLT coefficients for use with DLTdv
  • Tested with MATLAB 2011a and later, requires no toolboxes
  • Packaged with easyCamera, a MATLAB tool for planning camera recordings
  • Licensed under GPLv3, we ask that academic users cite the paper describing this tool (Theriault et. al., 2014) in any papers resulting from its use
  • Python command-line interface available here

Download easyWand + easyCamera!! – Last updated on 2021-02-11
The download package contains the MATLAB code, compiled versions of the MATLAB-adapted SBA library, extensive written documentation and some sample data. The 2016-06-01 update includes a fix for a bug where the optimized rotations from SBA were not properly exported to the MATLAB environment, 2016-06-04 fixes a missing function bug in the 01 update, 2016-06-14 uses improved decision-making logic to find the correct initial calibration prior to optimization. The 2017-08-02 update adds the capability for a second bundle adjustment pass to improve the calibration of secondary cameras, bugs related to camera intrinsic reordering introduced here were fixed in 2017-10-13. The 2018-09-20 makes the nonlinear undistortion transforms created in easyWand5 compatible with MATLAB r2017a & later. The 2020-04-12, 2020-05-12 and 2020-05-25 updates roll together a number of small bug-fixes and improvements.


Overall usage: This video tutorial by Evan Bluhm is based on a slightly older version of easyWand but still gives a thorough and accurate overview of the easyWand calibration process using the sample data packaged with the download. The video is encoded as h264 with aac audio in an mp4 container and should play from a web browser in many cases. If not, download it and view it offline using VLC or a similar player if your built-in player can’t handle it.
easyWand video tutorial

Using easyWand with checkerboard calibration: This video tutorial shows how to use checkerboard pattern detection with easyWand. Checkerboard patterns are very convenient for lab situations where all cameras see the checkerboard from a similar orientation.  checkerboard + easyWand video tutorial  |  tutorial data & code

Using easyWand in the Mathworks cloud: This tutorial shows how to install and use easyWand in the Mathworks cloud environment. For now, nearly everyone with a current MATLAB license has access to the cloud version – check to sign up. Why would you do this? First, it’s always nice to use someone else’s computer for larger computations, and some calibration runs take a while. Second, Apple’s C compiler creates subtle problems when building the SBA library & MEX interface, so if you run easyWand on your Mac you can crash the whole system. MATLAB in the cloud runs Linux so easyWand works perfectly.   easyWand in the cloud video tutorial