| ARX 1.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
41#include "TrackingPointSelector.h"
42 class TrackableInfo
43{
44 public:
45 int _id;
46 float _scale;
47 std::shared_ptr<unsigned char> _imageBuff;
48 cv::Mat _image;
49 std::vector<cv::Point2f> _points;
50 int _width;
51 int _height;
52 std::string _fileName;
53
54 cv::Mat _pose;
55 std::vector<cv::KeyPoint> _featurePoints;
56 cv::Mat _descriptors;
57 std::vector<cv::Point2f> _cornerPoints;
58
59 std::vector<cv::Point2f> _bBox;
60 std::vector<cv::Point2f> _bBoxTransformed;
61 bool _isTracking, _isDetected, _resetTracks;
62
63 TrackingPointSelector _trackSelection;
64
65 void CleanUp()
66 {
67 _descriptors.release();
68 _pose.release();
69 _featurePoints.clear();
70 _trackSelection.CleanUp();
71 _image.release();
72 _imageBuff.reset();
73 }
74};
75
76#endif //TRACKABLE_INFO
TrackingPointSelector.h
TrackableInfo
Definition: TrackableInfo.h:43
TrackableInfo::_bBox
std::vector< cv::Point2f > _bBox
Definition: TrackableInfo.h:59
TrackableInfo::_isTracking
bool _isTracking
Definition: TrackableInfo.h:61
TrackableInfo::_image
cv::Mat _image
Definition: TrackableInfo.h:48
TrackableInfo::_isDetected
bool _isDetected
Definition: TrackableInfo.h:61
TrackableInfo::_descriptors
cv::Mat _descriptors
Definition: TrackableInfo.h:56
TrackableInfo::_imageBuff
std::shared_ptr< unsigned char > _imageBuff
Definition: TrackableInfo.h:47
TrackableInfo::_resetTracks
bool _resetTracks
Definition: TrackableInfo.h:61
TrackableInfo::_width
int _width
Definition: TrackableInfo.h:50
TrackableInfo::_cornerPoints
std::vector< cv::Point2f > _cornerPoints
Definition: TrackableInfo.h:57
TrackableInfo::_scale
float _scale
Definition: TrackableInfo.h:46
TrackableInfo::_trackSelection
TrackingPointSelector _trackSelection
Definition: TrackableInfo.h:63
TrackableInfo::_height
int _height
Definition: TrackableInfo.h:51
TrackableInfo::_pose
cv::Mat _pose
Definition: TrackableInfo.h:54
TrackableInfo::CleanUp
void CleanUp()
Definition: TrackableInfo.h:65
TrackableInfo::_bBoxTransformed
std::vector< cv::Point2f > _bBoxTransformed
Definition: TrackableInfo.h:60
TrackableInfo::_id
int _id
Definition: TrackableInfo.h:45
TrackableInfo::_fileName
std::string _fileName
Definition: TrackableInfo.h:52
TrackableInfo::_featurePoints
std::vector< cv::KeyPoint > _featurePoints
Definition: TrackableInfo.h:55
TrackableInfo::_points
std::vector< cv::Point2f > _points
Definition: TrackableInfo.h:49
TrackingPointSelector
Definition: TrackingPointSelector.h:47
TrackingPointSelector::CleanUp
OCV_EXTERN void CleanUp()
Definition: TrackingPointSelector.cpp:181