Parameters of the camera. More...
#include <cameraparameters.h>
Public Member Functions | |
CameraParameters () | |
CameraParameters (cv::Mat cameraMatrix, cv::Mat distorsionCoeff, cv::Size size) throw (cv::Exception) | |
CameraParameters (const CameraParameters &CI) | |
void | glGetProjectionMatrix (cv::Size orgImgSize, cv::Size size, double proj_matrix[16], double gnear, double gfar, bool invert=false) throw (cv::Exception) |
bool | isValid () const |
void | OgreGetProjectionMatrix (cv::Size orgImgSize, cv::Size size, double proj_matrix[16], double gnear, double gfar, bool invert=false) throw (cv::Exception) |
CameraParameters & | operator= (const CameraParameters &CI) |
void | readFromFile (string path) throw (cv::Exception) |
void | readFromXMLFile (string filePath) throw (cv::Exception) |
void | resize (cv::Size size) throw (cv::Exception) |
void | saveToFile (string path, bool inXML=true) throw (cv::Exception) |
void | setParams (cv::Mat cameraMatrix, cv::Mat distorsionCoeff, cv::Size size) throw (cv::Exception) |
Static Public Member Functions | |
static cv::Point3f | getCameraLocation (cv::Mat Rvec, cv::Mat Tvec) |
static cv::Mat | getRTMatrix (const cv::Mat &R_, const cv::Mat &T_, int forceType) |
Public Attributes | |
cv::Mat | CameraMatrix |
cv::Size | CamSize |
cv::Mat | Distorsion |
Static Private Member Functions | |
static void | argConvGLcpara2 (double cparam[3][4], int width, int height, double gnear, double gfar, double m[16], bool invert) throw (cv::Exception) |
static int | arParamDecompMat (double source[3][4], double cpara[3][4], double trans[3][4]) throw (cv::Exception) |
static double | dot (double a1, double a2, double a3, double b1, double b2, double b3) |
static double | norm (double a, double b, double c) |
Parameters of the camera.
Definition at line 38 of file cameraparameters.h.
aruco::CameraParameters::CameraParameters | ( | ) |
Empty constructor
Definition at line 37 of file cameraparameters.cpp.
aruco::CameraParameters::CameraParameters | ( | cv::Mat | cameraMatrix, |
cv::Mat | distorsionCoeff, | ||
cv::Size | size | ||
) | |||
throw | ( | cv::Exception | |
) |
Creates the object from the info passed
cameraMatrix | 3x3 matrix (fx 0 cx, 0 fy cy, 0 0 1) |
distorsionCoeff | 4x1 matrix (k1,k2,p1,p2) |
size | image size |
Definition at line 47 of file cameraparameters.cpp.
aruco::CameraParameters::CameraParameters | ( | const CameraParameters & | CI | ) |
Copy constructor
Definition at line 52 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 273 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 331 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 266 of file cameraparameters.cpp.
|
static |
Returns the location of the camera in the reference system given by the rotation and translation vectors passed NOT TESTED
Definition at line 87 of file cameraparameters.cpp.
|
static |
Returns the 4x4 homogeneous transform matrix from the R and T vectors computed
Definition at line 424 of file cameraparameters.cpp.
void aruco::CameraParameters::glGetProjectionMatrix | ( | cv::Size | orgImgSize, |
cv::Size | size, | ||
double | proj_matrix[16], | ||
double | gnear, | ||
double | gfar, | ||
bool | invert = false |
||
) | |||
throw | ( | cv::Exception | |
) |
Given the intrinsic camera parameters returns the GL_PROJECTION matrix for opengl. PLease NOTE that when using OpenGL, it is assumed no camera distorsion! So, if it is not true, you should have undistor image
orgImgSize | size of the original image |
size | of the image/window where to render (can be different from the real camera image). Please not that it must be related to CamMatrix |
proj_matrix | output projection matrix to give to opengl |
gnear,gfar | visible rendering range |
invert | indicates if the output projection matrix has to yield a horizontally inverted image because image data has not been stored in the order of glDrawPixels: bottom-to-top. |
Definition at line 235 of file cameraparameters.cpp.
|
inline |
Indicates whether this object is valid
Definition at line 68 of file cameraparameters.h.
|
staticprivate |
Definition at line 259 of file cameraparameters.cpp.
void aruco::CameraParameters::OgreGetProjectionMatrix | ( | cv::Size | orgImgSize, |
cv::Size | size, | ||
double | proj_matrix[16], | ||
double | gnear, | ||
double | gfar, | ||
bool | invert = false |
||
) | |||
throw | ( | cv::Exception | |
) |
setup camera for an Ogre project. Use: ... Ogre::Matrix4 PM(proj_matrix[0], proj_matrix[1], ... , proj_matrix[15]); yourCamera->setCustomProjectionMatrix(true, PM); yourCamera->setCustomViewMatrix(true, Ogre::Matrix4::IDENTITY); ... As in OpenGL, it assumes no camera distorsion
Definition at line 396 of file cameraparameters.cpp.
CameraParameters & aruco::CameraParameters::operator= | ( | const CameraParameters & | CI | ) |
Assign operator
Definition at line 60 of file cameraparameters.cpp.
void aruco::CameraParameters::readFromFile | ( | string | path | ) | |
throw | ( | cv::Exception | |||
) |
Reads the camera parameters from a file generated using saveToFile.
Reads the camera parameters from file
Definition at line 106 of file cameraparameters.cpp.
void aruco::CameraParameters::readFromXMLFile | ( | string | filePath | ) | |
throw | ( | cv::Exception | |||
) |
Reads from a YAML file generated with the opencv2.2 calibration utility
Definition at line 196 of file cameraparameters.cpp.
void aruco::CameraParameters::resize | ( | cv::Size | size | ) | |
throw | ( | cv::Exception | |||
) |
Adjust the parameters to the size of the image indicated
Definition at line 175 of file cameraparameters.cpp.
void aruco::CameraParameters::saveToFile | ( | string | path, |
bool | inXML = true |
||
) | |||
throw | ( | cv::Exception | |
) |
Saves this to a file
Definition at line 146 of file cameraparameters.cpp.
void aruco::CameraParameters::setParams | ( | cv::Mat | cameraMatrix, |
cv::Mat | distorsionCoeff, | ||
cv::Size | size | ||
) | |||
throw | ( | cv::Exception | |
) |
Sets the parameters
cameraMatrix | 3x3 matrix (fx 0 cx, 0 fy cy, 0 0 1) |
distorsionCoeff | 4x1 matrix (k1,k2,p1,p2) |
size | image size |
Definition at line 68 of file cameraparameters.cpp.
cv::Mat aruco::CameraParameters::CameraMatrix |
Definition at line 41 of file cameraparameters.h.
cv::Size aruco::CameraParameters::CamSize |
Definition at line 45 of file cameraparameters.h.
cv::Mat aruco::CameraParameters::Distorsion |
Definition at line 43 of file cameraparameters.h.