Parameters of the camera. More...
#include <cameraparameters.h>
Public Member Functions | |
CameraParameters () | |
CameraParameters (const CameraParameters &CI) | |
CameraParameters (cv::Mat cameraMatrix, cv::Mat distorsionCoeff, cv::Size size) | |
void | clear () |
void | glGetProjectionMatrix (cv::Size orgImgSize, cv::Size size, double proj_matrix[16], double gnear, double gfar, bool invert=false) |
bool | isValid () const |
void | OgreGetProjectionMatrix (cv::Size orgImgSize, cv::Size size, double proj_matrix[16], double gnear, double gfar, bool invert=false) |
CameraParameters & | operator= (const CameraParameters &CI) |
void | readFromXMLFile (std::string filePath) |
void | resize (cv::Size size) |
void | saveToFile (std::string path, bool inXML=true) |
void | setParams (cv::Mat cameraMatrix, cv::Mat distorsionCoeff, cv::Size size) |
Static Public Member Functions | |
static cv::Point3f | getCameraLocation (const cv::Mat &Rvec, const 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 |
cv::Mat | ExtrinsicMatrix |
Static Private Member Functions | |
static void | argConvGLcpara2 (double cparam[3][4], int width, int height, double gnear, double gfar, double m[16], bool invert) |
static int | arParamDecompMat (double source[3][4], double cpara[3][4], double trans[3][4]) |
static double | dot (double a1, double a2, double a3, double b1, double b2, double b3) |
static double | norm (double a, double b, double c) |
Friends | |
ARUCO_EXPORT friend std::ostream & | operator<< (std::ostream &str, const CameraParameters &cp) |
ARUCO_EXPORT friend std::istream & | operator>> (std::istream &str, CameraParameters &cp) |
Parameters of the camera.
Definition at line 29 of file cameraparameters.h.
aruco::CameraParameters::CameraParameters | ( | ) |
Empty constructor
Definition at line 27 of file cameraparameters.cpp.
aruco::CameraParameters::CameraParameters | ( | cv::Mat | cameraMatrix, |
cv::Mat | distorsionCoeff, | ||
cv::Size | size | ||
) |
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 39 of file cameraparameters.cpp.
aruco::CameraParameters::CameraParameters | ( | const CameraParameters & | CI | ) |
Copy constructor
Definition at line 45 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 295 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 361 of file cameraparameters.cpp.
void aruco::CameraParameters::clear | ( | ) |
Makes this invalid
Definition at line 63 of file cameraparameters.cpp.
|
staticprivate |
Definition at line 285 of file cameraparameters.cpp.
|
static |
Returns the location of the camera in the reference system of the marker.
Rvec and Tvec are the transform from the marker to the camera as calculated in other parts of the library NOT TESTED
Definition at line 106 of file cameraparameters.cpp.
|
static |
Returns the 4x4 homogeneous transform matrix from the R and T vectors computed
Definition at line 472 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 |
||
) |
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 248 of file cameraparameters.cpp.
|
inline |
Indicates whether this object is valid
Definition at line 63 of file cameraparameters.h.
|
staticprivate |
Definition at line 275 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 |
||
) |
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 442 of file cameraparameters.cpp.
CameraParameters & aruco::CameraParameters::operator= | ( | const CameraParameters & | CI | ) |
Assign operator
Definition at line 55 of file cameraparameters.cpp.
void aruco::CameraParameters::readFromXMLFile | ( | std::string | filePath | ) |
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 | ) |
Adjust the parameters to the size of the image indicated
Definition at line 166 of file cameraparameters.cpp.
void aruco::CameraParameters::saveToFile | ( | std::string | path, |
bool | inXML = true |
||
) |
Saves this to a file
Definition at line 128 of file cameraparameters.cpp.
void aruco::CameraParameters::setParams | ( | cv::Mat | cameraMatrix, |
cv::Mat | distorsionCoeff, | ||
cv::Size | size | ||
) |
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 71 of file cameraparameters.cpp.
|
friend |
Definition at line 528 of file cameraparameters.cpp.
|
friend |
Definition at line 541 of file cameraparameters.cpp.
cv::Mat aruco::CameraParameters::CameraMatrix |
Definition at line 33 of file cameraparameters.h.
cv::Size aruco::CameraParameters::CamSize |
Definition at line 37 of file cameraparameters.h.
cv::Mat aruco::CameraParameters::Distorsion |
Definition at line 35 of file cameraparameters.h.
cv::Mat aruco::CameraParameters::ExtrinsicMatrix |
Definition at line 40 of file cameraparameters.h.