1#ifndef ICUB_STEREOCALIB_CALIBRATION_TYPES_H
2#define ICUB_STEREOCALIB_CALIBRATION_TYPES_H
10#include <opencv2/calib3d.hpp>
11#include <opencv2/core.hpp>
57 return static_cast<std::size_t
>(
cornersX)*
static_cast<std::size_t
>(
cornersY);
67 std::vector<cv::Point3f> points;
152 cv::CALIB_FIX_ASPECT_RATIO |
153 cv::CALIB_FIX_INTRINSIC |
158 cv::TermCriteria::COUNT |
159 cv::TermCriteria::EPS,
169 (!(
criteria.type & cv::TermCriteria::EPS) ||
180 cv::fisheye::CALIB_USE_INTRINSIC_GUESS |
181 cv::fisheye::CALIB_RECOMPUTE_EXTRINSIC |
182 cv::fisheye::CALIB_CHECK_COND |
183 cv::fisheye::CALIB_FIX_SKEW
187 cv::fisheye::CALIB_FIX_INTRINSIC |
188 cv::fisheye::CALIB_CHECK_COND |
189 cv::fisheye::CALIB_FIX_SKEW
193 cv::TermCriteria::COUNT |
194 cv::TermCriteria::EPS,
204 (!(
criteria.type & cv::TermCriteria::EPS) ||
242 K.type() != CV_64F ||
243 !cv::checkRange(
K,
true))
248 D.type() != CV_64F ||
249 !cv::checkRange(
D,
true))
252 if(
K.at<
double>(0, 0) <= 0.0 ||
253 K.at<
double>(1,1) <= 0.0)
256 if(!std::isfinite(
rms) ||
rms < 0.0)
268 if(rotation.empty() ||
269 rotation.total() != 3 ||
270 rotation.type() != CV_64F ||
271 !cv::checkRange(rotation,
true))
274 if(translation.empty() ||
275 translation.total() != 3 ||
276 translation.type() != CV_64F ||
277 !cv::checkRange(translation,
true))
307 R.type() != CV_64F ||
308 !cv::checkRange(
R,
true)
314 T.type() != CV_64F ||
315 !cv::checkRange(
T,
true))
318 if(!std::isfinite(
rms) ||
322 const cv::Mat identity = cv::Mat::eye(3,3,CV_64F);
323 if(std::abs(cv::determinant(
R) - 1.0) >= 1
e-3 ||
324 cv::norm(
R.t() *
R - identity, cv::NORM_INF) >= 1
e-3 ||
360 const auto validCamera =
363 return camera.model ==
model &&
std::size_t synchronizedPairs
std::size_t acceptedObservations
double meanTimestampDeltaMs
double maxTimestampDeltaMs
std::size_t rejectedDetections
CameraCalibrationResult leftCamera
StereoCalibrationResult stereo
CameraCalibrationResult rightCamera
CalibrationQualityMetrics quality
std::vector< cv::Mat > rotationVectors
std::vector< double > perViewRms
std::vector< cv::Mat > translationVectors
std::vector< cv::Point3f > createObjectPoints() const
cv::Size patternSize() const
std::size_t cornersCount() const
CalibrationMode calibrationMode
cv::TermCriteria criteria
CommonCalibrationOptions common
double cameraFocalLengthGuess
double cameraFocalLengthGuess
CommonCalibrationOptions common
cv::TermCriteria criteria
double timestampDeltaSeconds
int64_t leftSequenceNumber
std::string leftImageFilename
int64_t rightSequenceNumber
std::vector< cv::Point2f > leftImagePoints
std::vector< cv::Point3f > objectPoints
std::string rightImageFilename
double rightTimestampSeconds
double leftTimestampSeconds
std::vector< cv::Point2f > rightImagePoints