parent
924e062426
commit
319dbd2eb7
1 changed files with 54 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||||
|
/*
|
||||||
|
* Model.h |
||||||
|
* |
||||||
|
* Created on: Apr 9, 2014 |
||||||
|
* Author: edgar |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef MODEL_H_ |
||||||
|
#define MODEL_H_ |
||||||
|
|
||||||
|
#include <iostream> |
||||||
|
#include <opencv2/core/core.hpp> |
||||||
|
#include <opencv2/features2d/features2d.hpp> |
||||||
|
|
||||||
|
class Model |
||||||
|
{ |
||||||
|
public: |
||||||
|
Model(); |
||||||
|
virtual ~Model(); |
||||||
|
|
||||||
|
std::vector<cv::Point2f> get_points2d_in() const { return list_points2d_in_; } |
||||||
|
std::vector<cv::Point2f> get_points2d_out() const { return list_points2d_out_; } |
||||||
|
std::vector<cv::Point3f> get_points3d() const { return list_points3d_in_; } |
||||||
|
std::vector<cv::KeyPoint> get_keypoints() const { return list_keypoints_; } |
||||||
|
cv::Mat get_descriptors() const { return descriptors_; } |
||||||
|
int get_numDescriptors() const { return descriptors_.rows; } |
||||||
|
|
||||||
|
|
||||||
|
void add_correspondence(const cv::Point2f &point2d, const cv::Point3f &point3d); |
||||||
|
void add_outlier(const cv::Point2f &point2d); |
||||||
|
void add_descriptor(const cv::Mat &descriptor); |
||||||
|
void add_keypoint(const cv::KeyPoint &kp); |
||||||
|
|
||||||
|
|
||||||
|
void save(const std::string path); |
||||||
|
void load(const std::string path); |
||||||
|
|
||||||
|
|
||||||
|
private: |
||||||
|
/** The current number of correspondecnes */ |
||||||
|
int n_correspondences_; |
||||||
|
/** The list of 2D points on the model surface */ |
||||||
|
std::vector<cv::KeyPoint> list_keypoints_; |
||||||
|
/** The list of 2D points on the model surface */ |
||||||
|
std::vector<cv::Point2f> list_points2d_in_; |
||||||
|
/** The list of 2D points outside the model surface */ |
||||||
|
std::vector<cv::Point2f> list_points2d_out_; |
||||||
|
/** The list of 3D points on the model surface */ |
||||||
|
std::vector<cv::Point3f> list_points3d_in_; |
||||||
|
/** The list of 2D points descriptors */ |
||||||
|
cv::Mat descriptors_; |
||||||
|
}; |
||||||
|
|
||||||
|
#endif /* OBJECTMODEL_H_ */ |
Loading…
Reference in new issue