Go to the documentation of this file.00001 #ifndef _Aruco_board_h
00002 #define _Aruco_board_h
00003 #include <opencv/cv.h>
00004 #include <string>
00005 #include <vector>
00006 #include "marker.h"
00007 using namespace std;
00008 namespace aruco{
00013 class BoardConfiguration
00014 {
00015 public:
00016 cv::Mat _markersId;
00017 int _markerSizePix, _markerDistancePix;
00018
00021 BoardConfiguration();
00022
00025 BoardConfiguration(const BoardConfiguration &T);
00026
00029 void saveToFile(string sfile)throw (cv::Exception);
00032 void readFromFile(string sfile)throw (cv::Exception);
00033
00034 };
00035
00038 class Board:public vector<Marker>
00039 {
00040 public:
00041 BoardConfiguration conf;
00042
00043 cv::Mat Rvec,Tvec;
00044 float markerSizeMeters;
00047 Board()
00048 {
00049 Rvec.create(3,1,CV_32FC1);
00050 Tvec.create(3,1,CV_32FC1);
00051 for (int i=0;i<3;i++)
00052 Tvec.at<float>(i,0)=Rvec.at<float>(i,0)=-999999;
00053 markerSizeMeters=-1;
00054 }
00055
00059 void glGetModelViewMatrix(double modelview_matrix[16])throw(cv::Exception);
00060
00064 static cv::Mat createBoardImage( cv::Size gridSize,int MarkerSize,int MarkerDistance,unsigned int FirstMarkerID, BoardConfiguration& TInfo ) throw (cv::Exception);
00065
00066
00067 };
00068 }
00069
00070 #endif