This class represents a marker. It is a vector of the fours corners ot the marker. More...
#include <marker.h>
Public Member Functions | |
void | calculateExtrinsics (float markerSize, const CameraParameters &CP, bool setYPerpendicular=true) throw (cv::Exception) |
void | calculateExtrinsics (float markerSize, cv::Mat CameraMatrix, cv::Mat Distorsion=cv::Mat(), bool setYPerpendicular=true) throw (cv::Exception) |
void | draw (cv::Mat &in, cv::Scalar color, int lineWidth=1, bool writeId=true) const |
float | getArea () const |
cv::Point2f | getCenter () const |
float | getPerimeter () const |
void | glGetModelViewMatrix (double modelview_matrix[16]) throw (cv::Exception) |
bool | isValid () const |
Marker () | |
Marker (const Marker &M) | |
Marker (const std::vector< cv::Point2f > &corners, int _id=-1) | |
void | OgreGetPoseParameters (double position[3], double orientation[4]) throw (cv::Exception) |
~Marker () | |
Public Attributes | |
int | id |
cv::Mat | Rvec |
float | ssize |
cv::Mat | Tvec |
Private Member Functions | |
void | rotateXAxis (cv::Mat &rotation) |
Friends | |
bool | operator< (const Marker &M1, const Marker &M2) |
ostream & | operator<< (ostream &str, const Marker &M) |
This class represents a marker. It is a vector of the fours corners ot the marker.
Definition at line 38 of file marker.cpp.
aruco::Marker::Marker | ( | const Marker & | M | ) |
Definition at line 50 of file marker.cpp.
aruco::Marker::Marker | ( | const std::vector< cv::Point2f > & | corners, |
int | _id = -1 |
||
) |
Definition at line 61 of file marker.cpp.
aruco::Marker::~Marker | ( | ) | [inline] |
void aruco::Marker::calculateExtrinsics | ( | float | markerSize, |
const CameraParameters & | CP, | ||
bool | setYPerpendicular = true |
||
) | throw (cv::Exception) |
Calculates the extrinsics (Rvec and Tvec) of the marker with respect to the camera
markerSize | size of the marker side expressed in meters |
CP | parmeters of the camera |
setYPerpendicular | If set the Y axis will be perpendicular to the surface. Otherwise, it will be the Z axis |
Definition at line 242 of file marker.cpp.
void aruco::Marker::calculateExtrinsics | ( | float | markerSize, |
cv::Mat | CameraMatrix, | ||
cv::Mat | Distorsion = cv::Mat() , |
||
bool | setYPerpendicular = true |
||
) | throw (cv::Exception) |
Calculates the extrinsics (Rvec and Tvec) of the marker with respect to the camera
markerSize | size of the marker side expressed in meters |
CameraMatrix | matrix with camera parameters (fx,fy,cx,cy) |
Distorsion | matrix with distorsion parameters (k1,k2,p1,p2) |
setYPerpendicular | If set the Y axis will be perpendicular to the surface. Otherwise, it will be the Z axis |
Definition at line 253 of file marker.cpp.
void aruco::Marker::draw | ( | cv::Mat & | in, |
cv::Scalar | color, | ||
int | lineWidth = 1 , |
||
bool | writeId = true |
||
) | const |
Draws this marker in the input image
Definition at line 216 of file marker.cpp.
float aruco::Marker::getArea | ( | ) | const |
Returns the area
Definition at line 321 of file marker.cpp.
cv::Point2f aruco::Marker::getCenter | ( | ) | const |
Returns the centroid of the marker
Definition at line 309 of file marker.cpp.
float aruco::Marker::getPerimeter | ( | ) | const |
Returns the perimeter of the marker
Definition at line 334 of file marker.cpp.
void aruco::Marker::glGetModelViewMatrix | ( | double | modelview_matrix[16] | ) | throw (cv::Exception) |
Given the extrinsic camera parameters returns the GL_MODELVIEW matrix for opengl. Setting this matrix, the reference coordinate system will be set in this marker
Definition at line 74 of file marker.cpp.
bool aruco::Marker::isValid | ( | ) | const [inline] |
void aruco::Marker::OgreGetPoseParameters | ( | double | position[3], |
double | orientation[4] | ||
) | throw (cv::Exception) |
Returns position vector and orientation quaternion for an Ogre scene node or entity. Use: ... Ogre::Vector3 ogrePos (position[0], position[1], position[2]); Ogre::Quaternion ogreOrient (orientation[0], orientation[1], orientation[2], orientation[3]); mySceneNode->setPosition( ogrePos ); mySceneNode->setOrientation( ogreOrient ); ...
Definition at line 128 of file marker.cpp.
void aruco::Marker::rotateXAxis | ( | cv::Mat & | rotation | ) | [private] |
Definition at line 292 of file marker.cpp.
ostream& operator<< | ( | ostream & | str, |
const Marker & | M | ||
) | [friend] |
cv::Mat aruco::Marker::Rvec |
float aruco::Marker::ssize |
cv::Mat aruco::Marker::Tvec |