forked from MasteringOpenCV/code
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCameraCalibration.cpp
executable file
·97 lines (78 loc) · 2.05 KB
/
CameraCalibration.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*****************************************************************************
* Markerless AR desktop application.
******************************************************************************
* by Khvedchenia Ievgen, 5th Dec 2012
* http://computer-vision-talks.com
******************************************************************************
* Ch3 of the book "Mastering OpenCV with Practical Computer Vision Projects"
* Copyright Packt Publishing 2012.
* http://www.packtpub.com/cool-projects-with-opencv/book
*****************************************************************************/
////////////////////////////////////////////////////////////////////
// File includes:
#include "CameraCalibration.hpp"
CameraCalibration::CameraCalibration()
{
}
CameraCalibration::CameraCalibration(float _fx, float _fy, float _cx, float _cy)
{
m_intrinsic = cv::Matx33f::zeros();
fx() = _fx;
fy() = _fy;
cx() = _cx;
cy() = _cy;
m_distortion.create(5,1);
for (int i=0; i<5; i++)
m_distortion(i) = 0;
}
CameraCalibration::CameraCalibration(float _fx, float _fy, float _cx, float _cy, float distorsionCoeff[5])
{
m_intrinsic = cv::Matx33f::zeros();
fx() = _fx;
fy() = _fy;
cx() = _cx;
cy() = _cy;
m_distortion.create(5,1);
for (int i=0; i<5; i++)
m_distortion(i) = distorsionCoeff[i];
}
const cv::Matx33f& CameraCalibration::getIntrinsic() const
{
return m_intrinsic;
}
const cv::Mat_<float>& CameraCalibration::getDistorsion() const
{
return m_distortion;
}
float& CameraCalibration::fx()
{
return m_intrinsic(1,1);
}
float& CameraCalibration::fy()
{
return m_intrinsic(0,0);
}
float& CameraCalibration::cx()
{
return m_intrinsic(0,2);
}
float& CameraCalibration::cy()
{
return m_intrinsic(1,2);
}
float CameraCalibration::fx() const
{
return m_intrinsic(1,1);
}
float CameraCalibration::fy() const
{
return m_intrinsic(0,0);
}
float CameraCalibration::cx() const
{
return m_intrinsic(0,2);
}
float CameraCalibration::cy() const
{
return m_intrinsic(1,2);
}