This repository contains the plenoptic camera calibration software that was developed for our ICCV 2017 paper.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Supplementary
WhiteImage
fmeasure
src
test
thirdParty/Geometric_Calibration_Lightfield
LICENSE
README.md
main.m
pattern.pdf
pattern_size.txt

README.md

Plenoptic Camera Calibration

Matlab code for plenoptic camera calibration. Check the supplementary video for an overview of the process. If you use this work, please cite our paper by S. Nousias, F. Chadebecq, J. Pichat, P. Keane, S. Ourselin, and C. Bergeles, “Corner-Based Geometric Calibration of Multi-Focus Plenoptic Cameras,” Int. Conf. Computer vision, pp. 957 - 965 2017.

Before running the following steps ensure that the micro-lens centers are available. If not, run LightFieldCalib_Step1_MicroLensCenter using your camera's white images.

Step 1

Plenoptic_GeoCalibration_Step2_Center_Image: Obtain the central sub-aperture images.

Step 2

centersNearWorldCorners: Find the micro-lenses which observe the same 3D corner.

Step 3

microImageCornerDetection: Detect the corners in the micro-images. Input is a single image 
but can be wrapped to run in many images.

Step 4

centersFromCorners: Match detected micro-image corners to its corresponding micro-lens center.

Step 5

Runs for one image of the dataset. No need to run for others. If no lens_types are saved, use other image or increase the number of detected corner.

clusterCornerPointsLocal

typeClassificationUsingCircularRegion

makeGridTypeGeneral

Step 6

cornerCorrespondences: Assign the 2D-to-3D correspondences.

Step 7

This step can be run with one or more images. At the moment the user enters which type of lenses wants to calibrate but can be easily wrapped to run for all the types. If different number than 1, 2, 3 is given as input the calibration will procceed assuming all the lenses are the same. In order for this to work though, the correspondences have to be assigned in a similar manner. Saves the intrinsics and extrinsics after the linear solution and the non-linear optimisation.

cornerLinearSolutionManyImages