mimas::camera_calibration::corner_detection Class Reference
[Camera Calibration]

Class to find the corners of the chessboard accurately using a template algorithm. More...

#include <corner_detection.h>

Collaboration diagram for mimas::camera_calibration::corner_detection:

Collaboration graph
[legend]
List of all members.

Public Types

typedef boost::numeric::ublas::matrix<
point_f
MatrixPoint
 a matrix of points
typedef boost::numeric::ublas::matrix<
pixel_f
MatrixPixel
 a matrix of pixels
typedef boost::numeric::ublas::matrix<
double
Matrix
 a matrix of doubles
typedef rgba< unsigned char > pixel_rgba
 a pixel

Public Member Functions

 corner_detection (int size_x, int size_y, int size_window, pixel_rgba white, pixel_rgba black)
 Constructor.
 ~corner_detection (void)
 Destructor.
void findCorners (image< pixel_rgba > img, std::vector< pixel_f > pix, double min_corr) throw (mimasexception)
 Finds the corners of an chessboard, given the 4 extreme corners.
MatrixPixel getCorners ()
 Returns the matrix of the found corners.

Detailed Description

Class to find the corners of the chessboard accurately using a template algorithm.

The algorithm, given the 4 extreme corners, computes an homography in order to get a first approximation of all the corners, and then searches for the corner in a square window around the approximation.

Author:
Julien Faucher (faucherj@gmail.com)

Definition at line 37 of file corner_detection.h.


Member Typedef Documentation

typedef boost::numeric::ublas::matrix< point_f > mimas::camera_calibration::corner_detection::MatrixPoint

a matrix of points

Definition at line 41 of file corner_detection.h.

typedef boost::numeric::ublas::matrix< pixel_f > mimas::camera_calibration::corner_detection::MatrixPixel

a matrix of pixels

Definition at line 44 of file corner_detection.h.

typedef boost::numeric::ublas::matrix< double > mimas::camera_calibration::corner_detection::Matrix

a matrix of doubles

Definition at line 47 of file corner_detection.h.

typedef rgba< unsigned char > mimas::camera_calibration::corner_detection::pixel_rgba

a pixel

Definition at line 50 of file corner_detection.h.


Constructor & Destructor Documentation

mimas::camera_calibration::corner_detection::corner_detection ( int  size_x,
int  size_y,
int  size_window,
pixel_rgba  white,
pixel_rgba  black 
)

Constructor.

Initializes the template of the cross for the correlation algorithm

Parameters:
size_x width of the chessboard (number of black squares)
size_y height of the chessboard (number of black squares)
size_window the size of the square to look for the corners (the parameter is half the size of an edge of the square)
white the value of a white pixel on the picture
black the value of a black pixel on the picture

mimas::camera_calibration::corner_detection::~corner_detection ( void   ) 

Destructor.


Member Function Documentation

void mimas::camera_calibration::corner_detection::findCorners ( image< pixel_rgba img,
std::vector< pixel_f pix,
double  min_corr 
) throw (mimasexception)

Finds the corners of an chessboard, given the 4 extreme corners.

This function computes with the extrem corners an homography in order to get a first approximation of the corner locations, and uses the detection algorithm in a window around the approximed pixel, to get the accurate one.

Parameters:
img the mimas image
pix a std::vector of the 4 extreme corners
min_corr the minimum correlation to be calculated to assume that the result is accurate. 0.85 or 0.90 seem to be good values.
Returns:
true if all the corners are found accurately, or false if at least one corner is not found

MatrixPixel mimas::camera_calibration::corner_detection::getCorners (  )  [inline]

Returns the matrix of the found corners.

Definition at line 117 of file corner_detection.h.


The documentation for this class was generated from the following file:
[GNU/Linux] [Qt] [Mesa] [STL] [Lapack] [Boost] [Magick++] [Xalan-C and Xerces-C] [doxygen] [graphviz] [FFTW] [popt] [xine] [Gnuplot] [gnu-arch] [gcc] [gstreamer] [autoconf/automake/make] [freshmeat.net] [opensource.org] [sourceforge.net] [MMVL]
mimas 2.1 - Copyright Mon Oct 30 11:31:48 2006, Bala Amavasai, Stuart Meikle, Arul Selvan, Fabio Caparrelli, Jan Wedekind, Manuel Boissenin, ...