25 #ifndef INCLUDED_CameraParameters_h_GUID_5BBC6151_6C1F_44B1_14FC_34CB6BF601E9
26 #define INCLUDED_CameraParameters_h_GUID_5BBC6151_6C1F_44B1_14FC_34CB6BF601E9
33 #include <opencv2/core/core.hpp>
36 #include <initializer_list>
44 std::initializer_list<double> distortionParams)
45 : cameraMatrix(cv::Matx33d::eye()),
46 distortionParameters(distortionParams), imageSize(size) {
47 cameraMatrix(0, 0) = fx;
48 cameraMatrix(1, 1) = fy;
49 cameraMatrix(0, 2) = size.width / 2.;
50 cameraMatrix(1, 2) = size.height / 2.;
51 normalizeDistortionParameters();
56 std::initializer_list<double> distortionParams)
66 cv::Size
size = cv::Size(640, 480))
74 ret.distortionParameters.clear();
75 ret.normalizeDistortionParameters();
79 double focalLengthX()
const {
return cameraMatrix(0, 0); }
80 double focalLengthY()
const {
return cameraMatrix(1, 1); }
81 double focalLength()
const {
return focalLengthX(); }
82 double k1()
const {
return distortionParameters[0]; }
83 double k2()
const {
return distortionParameters[1]; }
84 double k3()
const {
return distortionParameters[2]; }
85 cv::Point2d principalPoint()
const {
86 return cv::Point2d(cameraMatrix(0, 2), cameraMatrix(1, 2));
89 Eigen::Vector2d eiPrincipalPoint()
const {
90 return Eigen::Vector2d(cameraMatrix(0, 2), cameraMatrix(1, 2));
93 cv::Matx33d cameraMatrix;
94 std::vector<double> distortionParameters;
98 void normalizeDistortionParameters() {
100 distortionParameters.resize(5, 0.);
104 inline CameraParameters getSimulatedHDKCameraParameters() {
123 return CameraParameters(700, cv::Size(640, 480));
126 inline CameraParameters getHDKCameraParameters() {
233 double k1 = 1.252916e-06;
234 double k2 = -1.752020e-11;
235 double k3 = 6.405327e-17;
239 return CameraParameters(fx, cv::Size(640, 480), {k1, k2, p1, p2, k3});
243 #endif // INCLUDED_CameraParameters_h_GUID_5BBC6151_6C1F_44B1_14FC_34CB6BF601E9
CameraParameters(double focalLength=700, cv::Size size=cv::Size(640, 480))
The zero-distortion constructor, single focal length.
Header wrapping include of and for warning quieting.
detail::size< coerce_list< Ts...>> size
Get the size of a list (number of elements.)
CameraParameters(double focalLength, cv::Size size, std::initializer_list< double > distortionParams)
Single focal length, distortion specified.
CameraParameters(double fx, double fy, cv::Size size, std::initializer_list< double > distortionParams)
Separate focal lengths, distortion specified.
CameraParameters(double fx, double fy, cv::Size size)
The zero-distortion constructor, separate focal lengths.
CameraParameters createUndistortedVariant() const
Copy-constructs, with zero distortion parameters.