Computer Vision Toolkit

A. Fusiello


Description

This toolkit is a collection of Matlab function implementing several Computer Vision algorithms.

		autocal                        - Autocalibration from fundamental matrices
		bundleadj                      - Bundle adjustment (Euclidean)
		calibLVH                       - Camera calibration from infnity homographies
		calibSMZ                       - Camera calibration from object-image homographies
		calib_radial                   - calibrate radial distortion with resection
		camera                         - Camera exterior orientation given COP,LOOK and UP
		cop_from_bearings              - Camera locations from bearings
		dlt                            - Direct Linear Transform
		eight_points                   - 8-points algorithm for F/E
		essential_lin                  - Essential matrix with 8-points algorithm
		eucl_upgrade                   - Upgrade projective reconstruction given K
		exterior_iter                  - Exterior orientation with anisotropic Procrustes analisys  
		exterior_lin                   - Exterior orientation with Fiore's algorithm
		exterior_nonlin                - Non-linear refinement of exterior orientation
		fdh                            - compute focal distance from homography
		fund                           - Build fundamental matrix from camera matrices
		fund_lin                       - Fundamental matrix with 8-points algorithm
		fund_nonlin                    - Non-linear refinement of fundamental matrix
		fund_rob                       - Robust fundamental matrix
		gpa                            - Generalized Procrustes analysis
		hom_lin                        - Homography with DLT algorithm
		hom_nonlin                     - Non-linear refinement of H
		hom_rob                        - Robust homography fit
		hom_synch                      - Homography syncronization
		htx                            - Apply homogeneous transform 
		icp                            - Iterative Closet Point algorithm 
		imhs                           - Harris-Stephens corner strength
		imrectify                      - Apply rectification to images
		imstereo_ncc                   - Stereo block-matching with NCC
		imstereo_sch                   - Stereo block-matching with SCH (Census)
		imstereo_ssd                   - Stereo block-matching with normalized SSD
		imwarp                         - Image warp 
		irdx                           - Undo radial distortion
		krt                            - Internal and external parameters from P
		lsq_nonlin                     - Levenberg-Marquardt method for non-linear LS
		opa                            - Orthogonal Procrustes analysis
		photostereo                    - Photometric stereo
		prec                           - Sturm-Triggs' projective reconstruction  
		precond                        - Normalize the coordinates of kD points
		radial                         - Regress radial distortion parameters 
		rdx                            - Apply radial distortion
		rectifyF                       - Epipolar rectification (uncalibrated)
		rectifyP                       - Epipolar rectification (calibrated)
		relative_lin                   - Relative orientation
		relative_nonlin                - Non-linear refinement of relative orientation
		reproj_res                     - Reprojection residual and jacobian for 1 point - 1 camera
		reproj_res_batch               - Reprojection residual for all points all cameras
		resect_lin                     - Camera matrix (resection) 
		resect_nonlin                  - Non-linear refinement of resection
		robust_fit                     - robust regression
		rotation_synch                 - Rotation syncronization
		sampson_fund                   - Sampson residual for F (and its Jacobian)
		sampson_hom                    - Sampson residual for H (and its Jacobian)
		shape_from_silhouettes         - Shape from silhouettes
		simpleGN                       - Gauss-Newton method for non-linear LS
		space_carve                    - Space carving algorithm
		translation_synch              - Translation synchronization
		triang_disp                    - Triangulation from disparity
		triang_lin                     - Triangulation for one point in multiple images
		triang_lin_batch               - Triangulation for n points in multiple images
		triang_nonlin                  - Non-linear refinement of triangulation
		

Code

The MATLAB Computer Vision Toolkit does not have any other external dependency on toolboxes or packages, and runs indifferently on Octave and Matlab. It has been tested on Octave 4.2.1 and Matlab R2017a.


Related toolkits

These are toolkits that are based on functions contained in the Computer Vision Toolkit:


References

The functions in this toolkit implement the methods described in the book:

  1. Fusiello, A. "Visione computazionale. Tecniche di ricostruzione tridimensionale." Franco Angeli, Milano, 2018, 2a ed.

The book is written in Italian, although the code documentation is in English.