Ocean
|
The Ocean CV Calibration Library provides a comprehensive framework for camera calibration using marker-based calibration boards. More...
Data Structures | |
class | Ocean::CV::Calibration::CalibrationBoard |
This class implements a basic calibration board. More... | |
class | Ocean::CV::Calibration::CalibrationBoardDetector |
This class implements the detector for the calibration board. More... | |
class | Ocean::CV::Calibration::CalibrationBoardObservation |
This class implements an observation of a calibration board. More... | |
class | Ocean::CV::Calibration::CalibrationDebugElements |
This class implements debug elements for the calibration library. More... | |
class | Ocean::CV::Calibration::CameraCalibrator |
This class implements a camera calibrator using a couple of images of a calibration board. More... | |
class | Ocean::CV::Calibration::Marker |
This class implements the base class for a marker in a calibration board. More... | |
class | Ocean::CV::Calibration::MarkerCandidate |
This class implements a candidate of a marker. More... | |
class | Ocean::CV::Calibration::MetricCalibrationBoard |
This class extends the calibration board with metric information. More... | |
class | Ocean::CV::Calibration::MetricSize |
This class implements an object holding a metric size like width, height, length, or thickness. More... | |
class | Ocean::CV::Calibration::Point |
This class holds the relevant information of a detected marker point. More... | |
class | Ocean::CV::Calibration::PointDetector |
This class implements a point detector for marker points. More... | |
class | Ocean::CV::Calibration::SVGImage |
This class implements functions to write SVG images. More... | |
class | Ocean::CV::Calibration::Utilities |
This class implements utility functions for calibration. More... | |
Typedefs | |
using | Ocean::CV::Calibration::CalibrationBoardObservations = std::vector< CalibrationBoardObservation > |
Definition of a vector holding CalibrationBoardObservation objects. | |
using | Ocean::CV::Calibration::MarkerCandidates = std::vector< MarkerCandidate > |
Definition of a vector holding marker candidates. | |
using | Ocean::CV::Calibration::Points = std::vector< Point > |
Definition of a vector holding points. | |
The Ocean CV Calibration Library provides a comprehensive framework for camera calibration using marker-based calibration boards.
Camera calibration is the process of determining the intrinsic and extrinsic parameters of a camera. This library uses a pattern-based approach where a calibration board containing uniquely identifiable markers is used to establish 2D-3D correspondences needed for calibration.
Markers are the fundamental building blocks of the calibration system. Each marker is a 5x5 grid of points (25 points total) that can be either black dots on a white background (positive markers) or white dots on a black background (negative markers). The marker system provides several key features:
The marker layout is defined as a 5x5 grid:
The border points (used for initial detection) are arranged as:
Calibration Boards are regular grids of markers arranged in a rectangular pattern. Each board:
The marker point detection follows a multi-stage process:
The PointDetector uses pattern matching to identify potential marker points in the image:
The MarkerCandidate system groups detected points into potential markers:
Once all 25 points of a marker candidate are known:
The CalibrationBoardDetector establishes spatial relationships:
The CameraCalibrator orchestrates the complete calibration workflow:
The library is platform independent and provides comprehensive debugging and visualization capabilities through the CalibrationDebugElements class.
using Ocean::CV::Calibration::CalibrationBoardObservations = typedef std::vector<CalibrationBoardObservation> |
Definition of a vector holding CalibrationBoardObservation objects.
using Ocean::CV::Calibration::MarkerCandidates = typedef std::vector<MarkerCandidate> |
Definition of a vector holding marker candidates.
using Ocean::CV::Calibration::Points = typedef std::vector<Point> |
Definition of a vector holding points.