ARX  1.2.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
TrackableInfo.h
Go to the documentation of this file.
1/*
2 * TrackableInfo.h
3 * artoolkitX
4 *
5 * This file is part of artoolkitX.
6 *
7 * artoolkitX is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * artoolkitX is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * As a special exception, the copyright holders of this library give you
21 * permission to link this library with independent modules to produce an
22 * executable, regardless of the license terms of these independent modules, and to
23 * copy and distribute the resulting executable under terms of your choice,
24 * provided that you also meet, for each linked independent module, the terms and
25 * conditions of the license of that module. An independent module is a module
26 * which is neither derived from nor based on this library. If you modify this
27 * library, you may extend this exception to your version of the library, but you
28 * are not obligated to do so. If you do not wish to do so, delete this exception
29 * statement from your version.
30 *
31 * Copyright 2018 Realmax, Inc.
32 * Copyright 2015 Daqri, LLC.
33 * Copyright 2010-2015 ARToolworks, Inc.
34 *
35 * Author(s): Philip Lamb, Daniel Bell.
36 *
37 */
38
39#ifndef TRACKABLE_INFO_H
40#define TRACKABLE_INFO_H
43{
44public:
45 int _id;
46 float _scale;
47 std::shared_ptr<unsigned char> _imageBuff;
48 //cv::Mat _image;
50 std::vector<cv::Point2f> _points;
51 int _width;
53 std::string _fileName;
54
56 cv::Mat _homography;
57 cv::Mat _pose;
58 std::vector<cv::KeyPoint> _featurePoints;
59 cv::Mat _descriptors;
60
62 std::vector<cv::Point2f> _bBox;
64 std::vector<cv::Point2f> _bBoxTransformed;
66
67 std::vector<cv::Point2f> _cornerPoints[k_OCVTTemplateMatchingMaxPyrLevel + 1]; // These are only read during the construction of the TrackingPointSelector.
70
71 void CleanUp()
72 {
73 _descriptors.release();
74 _pose.release();
75 _homography.release();
76 _featurePoints.clear();
77 for (int i = 0; i <= k_OCVTTemplateMatchingMaxPyrLevel; i++) {
79 _cornerPoints[i].clear();
80 _image[i].release();
81 }
82 _imageBuff.reset();
83 }
84};
85
86#endif //TRACKABLE_INFO
#define k_OCVTTemplateMatchingMaxPyrLevel
Definition OCVConfig.h:69
Definition TrackableInfo.h:43
std::vector< cv::Point2f > _bBox
The four points defining the bounding-box of the trackable's source image, where 1 unit = 1 pixel of ...
Definition TrackableInfo.h:62
bool _isTracking
Definition TrackableInfo.h:65
bool _isDetected
Definition TrackableInfo.h:65
cv::Mat _descriptors
Definition TrackableInfo.h:59
std::shared_ptr< unsigned char > _imageBuff
Definition TrackableInfo.h:47
bool _resetTracks
Definition TrackableInfo.h:65
int _width
Definition TrackableInfo.h:51
cv::Mat _homography
3x3 cv::Mat (of type CV_64FC1, i.e. double) containing the homography.
Definition TrackableInfo.h:56
int _templatePyrLevel
Definition TrackableInfo.h:68
float _scale
Definition TrackableInfo.h:46
int _height
Definition TrackableInfo.h:52
cv::Mat _pose
Definition TrackableInfo.h:57
void CleanUp()
Definition TrackableInfo.h:71
cv::Mat _image[k_OCVTTemplateMatchingMaxPyrLevel+1]
Definition TrackableInfo.h:49
std::vector< cv::Point2f > _bBoxTransformed
The four points defining the bound-box of a detected trackable in the video frame.
Definition TrackableInfo.h:64
int _id
Definition TrackableInfo.h:45
std::string _fileName
Definition TrackableInfo.h:53
std::vector< cv::KeyPoint > _featurePoints
Definition TrackableInfo.h:58
std::vector< cv::Point2f > _cornerPoints[k_OCVTTemplateMatchingMaxPyrLevel+1]
Definition TrackableInfo.h:67
TrackingPointSelector _trackSelection[k_OCVTTemplateMatchingMaxPyrLevel+1]
Definition TrackableInfo.h:69
std::vector< cv::Point2f > _points
Definition TrackableInfo.h:50
Class used to manage selection of tracking points based on image templates (i.e.
Definition TrackingPointSelector.h:50
OCV_EXTERN void CleanUp()
Definition TrackingPointSelector.cpp:203