Software: C and Matlab Codes

Copyright (c) 2006-2013 Mitsubishi Electric Research Laboratories (MERL). All Rights Reserved.

Permission to use, copy and modify this software and its documentation without fee for educational, research and non-profit purposes, is hereby granted, provided that the above copyright notice and the following three paragraphs appear in all copies.

To request permission to incorporate this software into commercial products contact: Vice President of Marketing and Business Development; Mitsubishi Electric Research Laboratories (MERL), 201 Broadway, Cambridge, MA 02139

In no event shall MERL be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software and its documentation, even if MERL has been advised of the possibility of such damages.

MERL specifically disclaims any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. the software provided hereunder is on an "as is" basis, and MERL has no obligations to provide maintenance, support, updates, enhancements or modifications.

Extrinsic Camera Calibration without Direct View
   ICCV 2013 Paper
   Uses a single image of spherical mirror
  Matlab Code

Calibration for Underwater Imaging Systems
   Multi-Layer Flat Refractive Systems
   CVPR 2012 Paper
   Can be used to calibrate under-water imaging systems, camera looking through thick glass etc
   Analytical Forward Projection equations can be used for 3D reconstruction

   Matlab Code

Compute Mirror Reflection Point for General Catadioptric Systems
    CVPR 2011 paper
    Matlab code for
            Computing the mirror reflection point given the eye and point light source locations

Compute Mirror Reflection Point for Axial Systems
    ECCV 2010 paper
    Matlab code for
            Computing the mirror reflection point given the eye and point light source location
            (Alhazen problem and beyond)
            Analytical forward projection for non-central catadioptric cameras
            Analytical forward projection for spherical glass ball

Forward Projection ToolBox
    CVPR 2011 and ECCV 2010 paper
    contains forward projection solutions for general catadioptric systems for both axial and off-axis case
    Matlab Code

Robust Surface Reconstruction from 2D Gradient Fields 
    (ECCV 2006 paper) 

    Matlab code for

        A f
ast 2D Poisson Solver in Matlab using Neumann Boundary conditions
        Implementation of Frankot-Chellappa Algorithm
        Robust surface reconstruction using M-estimators
        Anisotropic surface reconstruction  

Illumination Invariant Image Differencing, Edge Suppression
    (CVPR 2006 paper)  
    Matlab code and images for
        Removing shadows using flash/no-flash images
        Removing glass reflections using flash/no-flash images
        Background subtraction in case of strong illumination changes

C Implementation (.NET build) of 2D Poisson Solver using Neumann Boundary Conditions
    C Code
        Based on a direct analytical solution using sine transforms
        Single iteration, no magic numbers, no convergence issues
        Extremely fast. Couple of seconds for 1M pixel image

C++ Implementation of Poisson Solver using Successive Over Relaxation (SOR) (Written by Prof. Jack Tumblin,  Northwestern University)   
    C++ Code