1 #ifndef __SPARSE_STEREO_TYPES_HPP__ 2 #define __SPARSE_STEREO_TYPES_HPP__ 4 #include <base/Eigen.hpp> 6 #include <base/Time.hpp> 7 #include <opencv2/opencv.hpp> 62 targetNumFeatures( 100 ),
63 maxStereoYDeviation( 5 ),
65 distanceFactor( 2.0 ),
66 isometryFilterMaxSteps( 1000 ),
67 isometryFilterThreshold( 0.1 ),
68 adaptiveDetectorParam( false ),
126 typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Eigen::DontAlign>
Descriptor;
140 void push_back(
const base::Vector3d& point,
const cv::KeyPoint& keypoint,
const Descriptor& descriptor,
int _source_frame = -1 )
142 points.push_back( point );
143 keypoints.push_back( keypoint );
145 if( descriptorSize == 0 )
146 descriptorSize = descriptor.size();
148 assert( descriptorSize == descriptor.size() );
151 descriptors.resize( descriptors.size() + descriptorSize );
152 memcpy( &descriptors[0] + descriptors.size() - descriptorSize, descriptor.data(), descriptorSize );
154 source_frame.push_back(_source_frame);
159 return Eigen::Map<Descriptor>( &descriptors[index*descriptorSize], descriptorSize );
164 return Eigen::Map<const Descriptor>( &descriptors[index*descriptorSize], descriptorSize );
169 return keypoints.size();
178 source_frame.clear();
186 for(
size_t i = 0; i < points.size(); ++i)
188 target.
points.push_back(points[i]);
190 for(
size_t i = 0; i < keypoints.size(); ++i)
192 target.
keypoints.push_back(keypoints[i]);
194 for(
size_t i = 0; i < descriptors.size(); ++i)
198 for(
size_t i = 0; i < source_frame.size(); ++i)
206 return target.
time == time &&
209 target.
points.size() == points.size() &&
210 target.
keypoints.size() == keypoints.size() &&
218 os << time.microseconds <<
"\n";
219 os << descriptorSize <<
"\n";
220 os << (int)descriptorType <<
"\n";
221 os << points.size() <<
"\n";
222 for(
size_t i = 0; i < points.size(); ++i)
224 os << points[i][0] <<
" " << points[i][1] <<
" " << points[i][2] <<
"\n";
236 is >> time.microseconds;
238 is >> descriptorSize;
248 for(
size_t i = 0; i < size; ++i)
253 points.push_back(Eigen::Vector3d(a, b, c));
DETECTOR detectorType
Definition: sparse_stereo_types.h:116
void LoadPODVector(std::vector< T > &Tvector, std::istream &is)
Definition: store_vector.hpp:82
int descriptorSize
Definition: sparse_stereo_types.h:128
FILTER
Definition: sparse_stereo_types.h:24
Definition: sparse_stereo_types.h:120
Definition: sparse_stereo_types.h:21
int SURFparam
Definition: sparse_stereo_types.h:51
Definition: sparse_stereo_types.h:28
std::vector< int > source_frame
Definition: sparse_stereo_types.h:134
std::vector< base::Vector3d > points
Definition: sparse_stereo_types.h:131
FILTER filterType
Definition: sparse_stereo_types.h:117
Definition: sparse_stereo_types.h:41
Definition: sparse_stereo_types.h:26
bool adaptiveDetectorParam
Definition: sparse_stereo_types.h:112
int targetNumFeatures
Definition: sparse_stereo_types.h:81
Definition: sparse_stereo_types.h:16
Definition: sparse_stereo_types.h:18
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Eigen::DontAlign > Descriptor
Definition: sparse_stereo_types.h:126
int distanceFactor
Definition: sparse_stereo_types.h:101
FeatureConfiguration()
Definition: sparse_stereo_types.h:60
DESCRIPTOR descriptorType
Definition: sparse_stereo_types.h:115
void push_back(const base::Vector3d &point, const cv::KeyPoint &keypoint, const Descriptor &descriptor, int _source_frame=-1)
Definition: sparse_stereo_types.h:140
float fastParam
Definition: sparse_stereo_types.h:55
base::Time time
Definition: sparse_stereo_types.h:123
Definition: sparse_stereo_types.h:36
Definition: configuration.cpp:3
void store(std::ostream &os) const
Definition: sparse_stereo_types.h:216
int maxStereoYDeviation
Definition: sparse_stereo_types.h:86
DetectorConfiguration detectorConfig
Definition: sparse_stereo_types.h:113
int knn
Definition: sparse_stereo_types.h:93
std::vector< cv::KeyPoint > keypoints
Definition: sparse_stereo_types.h:132
StereoFeatureArray()
Definition: sparse_stereo_types.h:138
Definition: sparse_stereo_types.h:19
double isometryFilterThreshold
Definition: sparse_stereo_types.h:110
Eigen::Map< const Descriptor > getDescriptor(size_t index) const
Definition: sparse_stereo_types.h:162
void load(std::istream &is)
Definition: sparse_stereo_types.h:234
float starParam
Definition: sparse_stereo_types.h:54
void copyTo(StereoFeatureArray &target)
Definition: sparse_stereo_types.h:181
int isometryFilterMaxSteps
Definition: sparse_stereo_types.h:105
void clear()
Definition: sparse_stereo_types.h:172
DESCRIPTOR
Definition: sparse_stereo_types.h:34
DESCRIPTOR descriptorType
Definition: sparse_stereo_types.h:129
float mserParam
Definition: sparse_stereo_types.h:53
Definition: sparse_stereo_types.h:14
float Scalar
Definition: sparse_stereo_types.h:125
Definition: sparse_stereo_types.h:31
Definition: sparse_stereo_types.h:29
double mean_z_value
Definition: sparse_stereo_types.h:136
Definition: sparse_stereo_types.h:30
Definition: sparse_stereo_types.h:20
bool debugImage
Definition: sparse_stereo_types.h:77
Definition: sparse_stereo_types.h:58
Definition: sparse_stereo_types.h:17
float goodParam
Definition: sparse_stereo_types.h:52
void StoreClassVector(const std::vector< T > &Tvector, std::ostream &os)
Definition: store_vector.hpp:47
DETECTOR
Definition: sparse_stereo_types.h:12
Definition: sparse_stereo_types.h:15
Definition: sparse_stereo_types.h:37
DetectorConfiguration()
Definition: sparse_stereo_types.h:43
void StorePODVector(const std::vector< T > &Tvector, std::ostream &os)
Definition: store_vector.hpp:73
void LoadClassVector(std::vector< T > &Tvector, std::istream &is, int max_load_indices=-1)
Definition: store_vector.hpp:58
std::vector< Scalar > descriptors
Definition: sparse_stereo_types.h:133
size_t size() const
Definition: sparse_stereo_types.h:167
Definition: sparse_stereo_types.h:27
Eigen::Map< Descriptor > getDescriptor(size_t index)
Definition: sparse_stereo_types.h:157