42 using namespace mrpt::math;
43 using namespace mrpt::poses;
58 TCamera() : ncols(640), nrows(480), focalLengthMeters(0)
60 intrinsicParams.set_unsafe(0,0,507.808);
61 intrinsicParams.set_unsafe(1,1,507.808);
62 intrinsicParams.set_unsafe(0,2,356.2368);
63 intrinsicParams.set_unsafe(1,2,252.9216);
64 intrinsicParams.set_unsafe(2,2,1);
65 for (
size_t i=0;i<dist.SizeAtCompileTime ;i++)
81 void scaleToResolution(
unsigned int new_ncols,
unsigned int new_nrows);
114 std::string dumpAsText()
const;
119 inline void setIntrinsicParamsFromValues (
double fx,
double fy,
double cx,
double cy )
121 intrinsicParams.set_unsafe( 0, 0, fx );
122 intrinsicParams.set_unsafe( 1, 1, fy );
123 intrinsicParams.set_unsafe( 0, 2, cx );
124 intrinsicParams.set_unsafe( 1, 2, cy );
130 for (
size_t i=0;i<5;i++)
131 distParVector.set_unsafe(0,i, dist[i]);
136 std::vector<double> v(5);
137 for (
size_t i=0;i<5;i++)
145 for (
size_t i=0;i<5;i++)
146 dist[i] = distParVector.get_unsafe(0,i);
150 template <
class VECTORLIKE>
151 void setDistortionParamsVector(
const VECTORLIKE &distParVector )
153 ASSERT_(distParVector.size()==4 || distParVector.size()==5)
155 for (
typename VECTORLIKE::Index i=0;i<distParVector.size();i++)
156 dist[i] = distParVector[i];
161 inline void setDistortionParamsFromValues(
double k1,
double k2,
double p1,
double p2,
double k3 = 0 )
171 inline double cx()
const {
return intrinsicParams(0,2); }
173 inline double cy()
const {
return intrinsicParams(1,2); }
175 inline double fx()
const {
return intrinsicParams(0,0); }
177 inline double fy()
const {
return intrinsicParams(1,1); }
180 inline void cx(
double val) { intrinsicParams(0,2)=val; }
182 inline void cy(
double val) { intrinsicParams(1,2)=val; }
184 inline void fx(
double val) { intrinsicParams(0,0)=val; }
186 inline void fy(
double val) { intrinsicParams(1,1)=val; }
189 inline double k1()
const {
return dist[0]; }
191 inline double k2()
const {
return dist[1]; }
193 inline double p1()
const {
return dist[2]; }
195 inline double p2()
const {
return dist[3]; }
197 inline double k3()
const {
return dist[4]; }
200 inline void k1(
double val) { dist[0]=val; }
202 inline void k2(
double val) { dist[1]=val; }
204 inline void p1(
double val) { dist[2]=val; }
206 inline void p2(
double val) { dist[3]=val; }
208 inline void k3(
double val) { dist[4]=val; }