1 #ifndef VRCORE_CAMCALIB_DATA
2 #define VRCORE_CAMCALIB_DATA
6 typedef Matx<double, 8, 1> Matx81d;
12 const cv::Size noSize{0, 0};
13 const cv::Rect noRect{0, 0, 0, 0};
14 const cv::Matx81d noDistortionCoeffs{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
25 cv::Matx33d cameraMatrix;
26 cv::Matx81d distortionCoeffs;
37 const cv::Size& scaledSize = noSize,
38 const cv::Rect& clipping = noRect,
39 const bool letterboxed =
false)
const;
52 3.7894127152414831e+003, 0., 5.4364534750988003e+002,
53 0., 3.8160421503625466e+003, 4.2499674926231330e+002,
57 4.7886813122787544e+000, 7.1672755112535427e+001,
58 1.9312141282855966e-001, -1.7426126324367353e-002,
59 -2.3716394862029779e+003
100 static const CameraCalibData calib_iPad_2_rearCam = {
102 1.1666278513269360e+03, 0., 4.9573534693659877e+02,
103 0., 1.1580356770394480e+03, 3.4477456794217534e+02,
107 -6.1308260595379940e+00, -5.0247887425017836e+01,
108 8.6735748913811204e-05, 4.7342681038781376e-04,
109 3.1176279158212014e+02, -6.0511993354263591e+00,
110 -5.1306296677890487e+01, 3.1528251356174894e+02
117 const double approxdist = 250.0;
118 const double f3 = 4.28;
119 const double fA = 3.3;
120 const double pixelSize = 0.00175;
121 const double f_3 = (1.0 / (1.0 / f3 - 1.0 / approxdist)) / pixelSize;
122 const double f_A = (1.0 / (1.0 / fA - 1.0 / approxdist)) / pixelSize;
124 static const CameraCalibData calib_iPad_3_rearCam = {
131 -6.1308260595379940e+00, -5.0247887425017836e+01,
132 8.6735748913811204e-05, 4.7342681038781376e-04,
133 3.1176279158212014e+02, -6.0511993354263591e+00,
134 -5.1306296677890487e+01, 3.1528251356174894e+02
140 static const CameraCalibData calib_iPad_Air_rearCam = {
147 -6.1308260595379940e+00, -5.0247887425017836e+01,
148 8.6735748913811204e-05, 4.7342681038781376e-04,
149 3.1176279158212014e+02, -6.0511993354263591e+00,
150 -5.1306296677890487e+01, 3.1528251356174894e+02
180 static const CameraCalibData calib_iPad_3_rearCam_zoom4x = {
182 9.2595451544568041e+03, 0., 1.4345459116403201e+03,
183 0., 9.5754714965878557e+03, 1.0578714277919958e+03,
187 5.3560790994798939e+00, 2.3068059804111670e+02,
188 5.6245809696731541e-02, 1.0654538258853928e-01,
189 -1.3237953124032669e+04
221 static const CameraCalibData calib_iPad_3_rearCam_zoom4x_rot180 = {
223 9.8685045537678816e+03, 0., 1.3224031459369317e+03,
224 0., 1.0426871878584370e+04, 9.8384405365999976e+02,
228 9.7035842468746285e+00, -2.0240372351113992e+03,
229 1.5084206798289397e-02, 2.5390312245979037e-02,
230 -2.0978931329088013e+04, 3.8267967008418822e+00,
231 -2.3907054934578578e+03, 2.1536535456318426e+04
264 static const CameraCalibData calib_iPad_3_rearCam_zoom4x_fixed_small = {
266 4.9460365421521146e+03, 0., 6.4750000000000000e+02,
267 0., 4.9460365421521146e+03, 4.8350000000000000e+02,
271 5.7239511412908701e+00, 3.5567711297498403e+02,
272 -5.4996068923167541e-03, 1.4118273073931320e-02,
273 -2.4918485718166841e+04
305 static const CameraCalibData calib_iPad_3_rearCam_zoom4x_fixed = {
307 9.8022514418767842e+03, 0., 1.2955000000000000e+03,
308 0., 9.8022514418767842e+03, 9.6750000000000000e+02,
312 5.7961817437643077e+00, 3.2153758645291367e+02,
313 -4.3648335712944009e-03, 1.2748327435237777e-02,
314 -2.2764965618405120e+04
346 static const CameraCalibData calib_iPad_4_rearCam_zoom4x = {
348 9.5042900268119101e+03, 0., 1.3686897347437935e+03,
349 0., 9.5555840716770854e+03, 9.6000130812219732e+02,
353 -1.2032517239108715e+01, -3.1000447260435731e+03,
354 1.8389167709105078e-02, 6.6884962318512639e-02,
355 -4.8859201276784916e+03, -2.1666246178588121e+01,
356 -2.6528100980657478e+03, 5.1475145075507080e+03
387 static const CameraCalibData calib_iPad_4_rearCam_zoom4x_rot180 = {
389 1.0169592429473709e+04, 0., 1.2723005153067686e+03,
390 0., 1.0591180815723745e+04, 9.9616943203795938e+02,
394 -2.8923786212150873e+01, -3.7479089071539574e+03,
395 -3.8131102006118802e-03, -1.2930037678332975e-02,
396 -3.7209825598768675e+03, -3.9863899767272102e+01,
397 -2.9812569882632238e+03, 3.2532711992772670e+03
429 static const CameraCalibData calib_iPad_4_frontCam_landscape = {
431 1.2468750149255566e+03, 0., 6.4908604310039141e+02,
432 0., 1.2451201921576749e+03, 4.7997189256904863e+02,
436 3.5682706398788291e+01, -1.1698429601543776e+02,
437 1.1170857258377136e-03, -9.7012290245197547e-04,
438 6.8010249081800907e+02, 3.5951491402223425e+01,
439 -1.1967412895144355e+02, 6.9307526465437149e+02
450 static const CameraCalibData calib_iPad_4_frontCam_portrait = {
452 1.2483748520357178e+03, 0., 4.7700449552966205e+02,
453 0., 1.2467598850866611e+03, 6.4669950530065023e+02,
457 -3.9201825078858825e-02, 4.0674431484054674e-01,
458 -2.4554224032551160e-03, -1.7658977908004223e-03,
459 -1.4846440061519319e+00
490 static const CameraCalibData calib_iPad_Air_rearCam_zoom4x = {
492 1.0116499409813559e+04, 0., 1.5746979808517026e+03,
493 0., 1.0681894820973139e+04, 9.3679857087799519e+02,
497 3.6908355060486349e+00, -3.6085037425530192e+02,
498 -1.5774941246848532e-02, 2.9520031045756423e-01,
499 6.0629027462754129e+03, -8.6368868926878477e+00,
500 1.7997373386203080e+02, -7.2229743844353552e+03
531 static const CameraCalibData calib_iPad_Air_rearCam_zoom4x_rot180 = {
533 9.3305682439286702e+03, 0., 1.1198385260329981e+03,
534 0., 9.4328036138233547e+03, 6.4279002473646540e+02,
538 2.4492194912067196e+00, -4.7728438578564052e+01,
539 -2.8773737182838416e-01, -1.7749503123461377e-01,
540 -2.4122102644903121e+03, -4.1220420534431952e+00,
541 -1.8208432766568393e+02, 5.3680938186016811e+03
573 static const CameraCalibData calib_iPad_Air_frontCam_landscape = {
575 1.1689702692589599e+03, 0., 6.3184738163529823e+02,
576 0., 1.1680229211851376e+03, 4.7392325852903485e+02,
580 1.7058281331501217e+01, -7.3691225259331745e+01,
581 -1.7222950678405082e-04, -8.3282277761684287e-04,
582 4.6691301210467270e+02, 1.7193845987498683e+01,
583 -7.5441669888443428e+01, 4.7494681210907652e+02
624 static const CameraCalibData calib_iPad_Air_frontCam_portrait = {
626 1.1680304763923468e+03, 0., 4.8513196323943106e+02,
627 0., 1.1689427983169521e+03, 6.3171919352291047e+02,
631 1.7317817953296760e+01, -7.5687945762069646e+01,
632 -8.4804403571975815e-04, 1.6204945021162760e-04,
633 4.7221830316448927e+02, 1.7454588643176358e+01,
634 -7.7454129753329738e+01, 4.8029235531578450e+02
643 static const CameraCalibData calib_iPad_mini_3_rearCam_x2_35 = {
645 5.6028700468379966e+03, 0., 9.1061374890803233e+02,
646 0., 5.5940743788821637e+03, 1.3116034753748663e+03,
649 { -2.2075448994311495e-01, 5.9878817296941174e+00,
650 1.5048342251242698e-04, 2.6981175730256957e-04,
651 -3.6988157649993227e+01
682 static const CameraCalibData calib_iPad_mini_3_rearCam_nozoom = {
684 2.3582190931716591e+03, 0., 3.3380389355527933e+02,
685 0., 2.3523709685953509e+03, 4.0753526579501010e+02,
689 4.5439879320237248e-01, -1.1921038438520792e+01,
690 -9.3079619022046079e-03, -2.3115936289204463e-02,
691 1.2278377253122122e+02
701 static const CameraCalibData calib_iPad_mini_3_rearCam_nozoom_fixedpp = {
703 2.3577662647005759e+03, 0., 3.6750000000000000e+02,
704 0., 2.3521934054392336e+03, 4.9550000000000000e+02,
708 5.2877710151812574e-01, -1.9793797743454540e+01,
709 8.3774379031104056e-03, -1.8526619946233582e-02,
710 2.7792649278247893e+02
742 static const CameraCalibData calib_iPad_mini_4_rearCam_x3_7 = {
744 1.0387709754707341e+04, 0., 1.1762352006212288e+03,
745 0., 1.0425164156530476e+04, 1.7160395454621357e+03,
749 5.8821035255325694e+02, -3.0162504245138830e+03,
750 4.3681894923031043e-03, -1.3438127106211353e-03,
751 1.6348631870473655e+03, 5.7367394027014166e+02,
752 -2.6579062176832476e+03, -1.6499556827711961e+03 },
783 static const CameraCalibData calib_iPad_mini_4_rearCam_x4_2 = {
785 1.2549150420466220e+04, 0., 1.0908356273440502e+03,
786 0., 1.2380558370046379e+04, 1.8789283245574488e+03,
790 8.2904183322390281e+02, 5.0432913469372971e+02,
791 1.7058076662340289e-02, -6.6032114069397635e-03,
792 8.6720254645264849e+03, 8.1774601053200934e+02,
793 9.3605507948984814e+02, -8.7696738844559241e+03 },
824 static const CameraCalibData calib_iPad_2_rearCam_zoom4x_app_fixed = {
826 4.8193595615580034e+03, 0., 3.7750000000000000e+02,
827 0., 4.8193595615580034e+03, 2.2950000000000000e+02,
831 4.7528484352091818e+00, 3.0518115907084007e+02,
832 -2.2325818785215994e-02, -4.4496544968155097e-03,
833 -1.0868220106559160e+02
865 static const CameraCalibData calib_iPad_3_rearCam_zoom4x_app_fixed = {
867 4.8651049501569305e+03, 0., 3.7750000000000000e+02,
868 0., 4.8651049501569305e+03, 2.2950000000000000e+02,
872 5.4690661102420250e+00, 2.1104709915479322e+02,
873 -2.5941341463122526e-02, -2.5713792285843844e-03,
874 -2.5659714974242019e+02
906 static const CameraCalibData calib_iPad_4_rearCam_zoom4x_app_fixed = {
908 4.8631864086178330e+03, 0., 3.7750000000000000e+02,
909 0., 4.8631864086178330e+03, 2.2950000000000000e+02,
913 7.2822369265859974e+00, 4.0311011348947872e+01,
914 -3.7334029256838673e-02, -5.5806023213158832e-03,
915 4.2580621132781571e-01
947 static const CameraCalibData calib_iPad_Air_rearCam_zoom4x_app_fixed = {
949 4.7028871986809436e+03, 0., 3.7750000000000000e+02,
950 0., 4.7028871986809436e+03, 2.2950000000000000e+02,
954 3.7912880303805010e+00, 3.9573011397160417e+02,
955 -1.2549608703483301e-02, -9.7242820869163499e-03,
956 -9.4248798175403280e+01
988 static const CameraCalibData calib_iPad_Air_2_rearCam_zoom4x_app_fixed = {
990 4.6617494614137358e+03, 0., 3.7750000000000000e+02,
991 0., 4.6617494614137358e+03, 2.2950000000000000e+02,
995 3.2849503218305780e+00, 4.1265859264366600e+02,
996 -5.4896493161305810e-03, -1.8512749056537825e-02,
997 -2.9265287250068519e+02
1005 inline CameraCalibData getZoomedCalibData(
const CameraCalibData& src,
1006 const double zoom,
const cv::Size dstSize)
1008 CameraCalibData dst;
1009 const cv::Matx33d& cm = src.cameraMatrix;
1010 double fx = cm(0, 0) * zoom;
1011 double fy = cm(1, 1) * zoom;
1012 double cx = (dstSize.width - 1) * 0.5 + (cm(0, 2) - (src.imageSize.width - 1) * 0.5) * zoom;
1013 double cy = (dstSize.height - 1) * 0.5 + (cm(1, 2) - (src.imageSize.height - 1) * 0.5) * zoom;
1020 dst.distortionCoeffs = src.distortionCoeffs;
1021 dst.imageSize = dstSize;
1025 static const CameraCalibData calib_iPad_mini_3_rearCam_x3_2 = getZoomedCalibData(calib_iPad_mini_3_rearCam_nozoom, 3.2, cv::Size(1936, 2592));
1026 static const CameraCalibData calib_iPad_mini_3_rearCam_x4_2 = getZoomedCalibData(calib_iPad_mini_3_rearCam_nozoom, 4.2, cv::Size(1936, 2592));
1035 bool getCameraMatrix(
const ExposureArrangement exposureArrangement,
1036 cv::Matx33d& cameraMatrix,
1037 const bool profile =
false);
1045 bool getDistortionCoefficients(
const ExposureArrangement exposureArrangement,
1046 cv::OutputArray distortionCoeffs);
1056 bool getIntrinsicCameraParameters(
const ExposureArrangement exposureArrangement,
1057 cv::Matx33d& cameraMatrix,
1058 cv::OutputArray distortionCoeffs,
1059 const bool profile =
false);
1070 bool undistort(
const ExposureArrangement exposureArrangement,
1071 const cv::Mat& src, cv::Mat& dst,
1072 const bool profile =
false,
1073 cv::InputArray newCameraMatrix = cv::noArray());
1080 cv::Size getScaledSize(
const ExposureArrangement exposureArrangement);
1084 #endif // VRCORE_CAMCALIB_DATA
Intrinsic camera parameters, see http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d...
Definition: camcalib_data.h:24
cv::Matx33d getCameraMatrix(const cv::Size &scaledSize=noSize, const cv::Rect &clipping=noRect, const bool letterboxed=false) const
Definition: camcalib_data.cpp:6