Structure to hold the parameters of a pinhole camera model.
The parameters obtained for one camera resolution can be used for any other resolution by means of the method TCamera::scaleToResolution()
#include <mrpt/utils/TCamera.h>
Public Member Functions | |
TCamera () | |
void | scaleToResolution (unsigned int new_ncols, unsigned int new_nrows) |
Rescale all the parameters for a new camera resolution (it raises an exception if the aspect ratio is modified, which is not permitted). | |
void | saveToConfigFile (const std::string §ion, mrpt::utils::CConfigFileBase &cfg) const |
Save as a config block: | |
void | loadFromConfigFile (const std::string §ion, const mrpt::utils::CConfigFileBase &cfg) |
Load all the params from a config source, in the format used in saveToConfigFile(), that is: | |
void | loadFromConfigFile (const mrpt::utils::CConfigFileBase &cfg, const std::string §ion) |
std::string | dumpAsText () const |
Dumps all the parameters as a multi-line string, with the same format than saveToConfigFile. | |
void | setIntrinsicParamsFromValues (double fx, double fy, double cx, double cy) |
Set the matrix of intrinsic params of the camera from the individual values of focal length and principal point coordinates (in pixels) | |
void | getDistortionParamsVector (mrpt::math::CMatrixDouble15 &distParVector) const |
Get the vector of distortion params of the camera | |
std::vector< double > | getDistortionParamsAsVector () const |
Get a vector with the distortion params of the camera | |
void | setDistortionParamsVector (const mrpt::math::CMatrixDouble15 &distParVector) |
Set the whole vector of distortion params of the camera. | |
template<class VECTORLIKE > | |
void | setDistortionParamsVector (const VECTORLIKE &distParVector) |
Set the whole vector of distortion params of the camera from a 4 or 5-vector. | |
void | setDistortionParamsFromValues (double k1, double k2, double p1, double p2, double k3=0) |
Set the vector of distortion params of the camera from the individual values of the distortion coefficients. | |
double | cx () const |
Get the value of the principal point x-coordinate (in pixels). | |
double | cy () const |
Get the value of the principal point y-coordinate (in pixels). | |
double | fx () const |
Get the value of the focal length x-value (in pixels). | |
double | fy () const |
Get the value of the focal length y-value (in pixels). | |
void | cx (double val) |
Set the value of the principal point x-coordinate (in pixels). | |
void | cy (double val) |
Set the value of the principal point y-coordinate (in pixels). | |
void | fx (double val) |
Set the value of the focal length x-value (in pixels). | |
void | fy (double val) |
Set the value of the focal length y-value (in pixels). | |
double | k1 () const |
Get the value of the k1 distortion parameter. | |
double | k2 () const |
Get the value of the k2 distortion parameter. | |
double | p1 () const |
Get the value of the p1 distortion parameter. | |
double | p2 () const |
Get the value of the p2 distortion parameter. | |
double | k3 () const |
Get the value of the k3 distortion parameter. | |
void | k1 (double val) |
Get the value of the k1 distortion parameter. | |
void | k2 (double val) |
Get the value of the k2 distortion parameter. | |
void | p1 (double val) |
Get the value of the p1 distortion parameter. | |
void | p2 (double val) |
Get the value of the p2 distortion parameter. | |
void | k3 (double val) |
Get the value of the k3 distortion parameter. | |
Public Attributes | |
Camera parameters | |
uint32_t | ncols |
uint32_t | nrows |
Camera resolution. | |
mrpt::math::CMatrixDouble33 | intrinsicParams |
Matrix of intrinsic parameters (containing the focal length and principal point coordinates) | |
mrpt::math::CArrayDouble< 5 > | dist |
[k1 k2 t1 t2 k3] -> k_i: parameters of radial distortion, t_i: parameters of tangential distortion (default=0) | |
double | focalLengthMeters |
The focal length of the camera, in meters (can be used among 'intrinsicParams' to determine the pixel size). | |
Protected Member Functions | |
CSerializable virtual methods | |
void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE |
void | readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE |
RTTI stuff <br> | |
typedef TCameraPtr | SmartPtr |
static mrpt::utils::CLASSINIT | _init_TCamera |
static mrpt::utils::TRuntimeClassId | classTCamera |
static const mrpt::utils::TRuntimeClassId * | classinfo |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const MRPT_OVERRIDE |
virtual mrpt::utils::CObject * | duplicate () const MRPT_OVERRIDE |
static mrpt::utils::CObject * | CreateObject () |
static TCameraPtr | Create () |
|
staticprotected |
|
static |
|
static |
|
inline |
Get the value of the principal point x-coordinate (in pixels).
Definition at line 154 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullProjectionT(), mrpt::obs::detail::project3DPointsFromDepthImageInto(), mrpt::vision::pinhole::projectPoint_no_distortion(), and mrpt::vision::pinhole::projectPoint_no_distortion().
|
inline |
|
inline |
Get the value of the principal point y-coordinate (in pixels).
Definition at line 156 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullProjectionT(), mrpt::obs::detail::project3DPointsFromDepthImageInto(), mrpt::vision::pinhole::projectPoint_no_distortion(), and mrpt::vision::pinhole::projectPoint_no_distortion().
|
inline |
std::string mrpt::utils::TCamera::dumpAsText | ( | ) | const |
Dumps all the parameters as a multi-line string, with the same format than saveToConfigFile.
|
virtual |
|
inline |
Get the value of the focal length x-value (in pixels).
Definition at line 158 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), mrpt::vision::CCamModel::getFullProjectionT(), mrpt::obs::detail::project3DPointsFromDepthImageInto(), mrpt::vision::pinhole::projectPoint_no_distortion(), and mrpt::vision::pinhole::projectPoint_no_distortion().
|
inline |
|
inline |
Get the value of the focal length y-value (in pixels).
Definition at line 160 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), mrpt::vision::CCamModel::getFullProjectionT(), mrpt::obs::detail::project3DPointsFromDepthImageInto(), mrpt::vision::pinhole::projectPoint_no_distortion(), and mrpt::vision::pinhole::projectPoint_no_distortion().
|
inline |
|
inline |
|
inline |
|
virtual |
|
inline |
Get the value of the k1 distortion parameter.
Definition at line 172 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), and mrpt::vision::CCamModel::getTemporaryVariablesForTransform().
|
inline |
|
inline |
Get the value of the k2 distortion parameter.
Definition at line 174 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), and mrpt::vision::CCamModel::getTemporaryVariablesForTransform().
|
inline |
|
inline |
Get the value of the k3 distortion parameter.
Definition at line 180 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), and mrpt::vision::CCamModel::getTemporaryVariablesForTransform().
|
inline |
|
inline |
Definition at line 94 of file TCamera.h.
References loadFromConfigFile().
Referenced by loadFromConfigFile().
void mrpt::utils::TCamera::loadFromConfigFile | ( | const std::string & | section, |
const mrpt::utils::CConfigFileBase & | cfg | ||
) |
Load all the params from a config source, in the format used in saveToConfigFile(), that is:
std::exception | on missing fields |
|
inline |
Get the value of the p1 distortion parameter.
Definition at line 176 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), and mrpt::vision::CCamModel::getTemporaryVariablesForTransform().
|
inline |
|
inline |
Get the value of the p2 distortion parameter.
Definition at line 178 of file TCamera.h.
Referenced by mrpt::vision::CCamModel::getFullInverseModelWithJacobian(), mrpt::vision::CCamModel::getFullJacobianT(), and mrpt::vision::CCamModel::getTemporaryVariablesForTransform().
|
inline |
|
protected |
void mrpt::utils::TCamera::saveToConfigFile | ( | const std::string & | section, |
mrpt::utils::CConfigFileBase & | cfg | ||
) | const |
void mrpt::utils::TCamera::scaleToResolution | ( | unsigned int | new_ncols, |
unsigned int | new_nrows | ||
) |
Rescale all the parameters for a new camera resolution (it raises an exception if the aspect ratio is modified, which is not permitted).
Referenced by mrpt::utils::TStereoCamera::scaleToResolution().
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
staticprotected |
|
static |
|
static |
mrpt::math::CArrayDouble<5> mrpt::utils::TCamera::dist |
double mrpt::utils::TCamera::focalLengthMeters |
mrpt::math::CMatrixDouble33 mrpt::utils::TCamera::intrinsicParams |
Page generated by Doxygen 1.9.8 for MRPT 1.4.0 SVN: at Thu Dec 14 17:13:25 UTC 2023 |