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 39 of file cameraparameters.h.
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.
void aruco::CameraParameters::argConvGLcpara2 | ( | double | cparam[3][4], |
int | width, | ||
int | height, | ||
double | gnear, | ||
double | gfar, | ||
double | m[16], | ||
bool | invert | ||
) | throw (cv::Exception) [static, private] |
Definition at line 274 of file cameraparameters.cpp.
int aruco::CameraParameters::arParamDecompMat | ( | double | source[3][4], |
double | cpara[3][4], | ||
double | trans[3][4] | ||
) | throw (cv::Exception) [static, private] |
Definition at line 344 of file cameraparameters.cpp.
double aruco::CameraParameters::dot | ( | double | a1, |
double | a2, | ||
double | a3, | ||
double | b1, | ||
double | b2, | ||
double | b3 | ||
) | [static, private] |
Definition at line 263 of file cameraparameters.cpp.
cv::Point3f aruco::CameraParameters::getCameraLocation | ( | cv::Mat | Rvec, |
cv::Mat | Tvec | ||
) | [static] |
Returns the location of the camera in the reference system given by the rotation and translation vectors passed NOT TESTED
Definition at line 89 of file cameraparameters.cpp.
cv::Mat aruco::CameraParameters::getRTMatrix | ( | const cv::Mat & | R_, |
const cv::Mat & | T_, | ||
int | forceType | ||
) | [static] |
Returns the 4x4 homogeneous transform matrix from the R and T vectors computed
Definition at line 453 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 223 of file cameraparameters.cpp.
bool aruco::CameraParameters::isValid | ( | ) | const [inline] |
Indicates whether this object is valid
Definition at line 71 of file cameraparameters.h.
double aruco::CameraParameters::norm | ( | double | a, |
double | b, | ||
double | c | ||
) | [static, private] |
Definition at line 253 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 425 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 110 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 189 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 169 of file cameraparameters.cpp.
void aruco::CameraParameters::saveToFile | ( | string | path, |
bool | inXML = true |
||
) | throw (cv::Exception) |
Saves this to a file
Definition at line 140 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.
Definition at line 44 of file cameraparameters.h.
cv::Size aruco::CameraParameters::CamSize |
Definition at line 48 of file cameraparameters.h.
Definition at line 46 of file cameraparameters.h.