added leaveBiggestComponent function into opencv_stitching

This commit is contained in:
Alexey Spizhevoy
2011-05-18 07:11:45 +00:00
parent f3b45af876
commit 21d89cc420
5 changed files with 109 additions and 45 deletions

View File

@@ -52,8 +52,8 @@ class BundleAdjuster : public Estimator
public:
enum { RAY_SPACE, FOCAL_RAY_SPACE };
BundleAdjuster(int cost_space = FOCAL_RAY_SPACE, float dist_thresh = 1.f)
: cost_space_(cost_space), dist_thresh_(dist_thresh) {}
BundleAdjuster(int cost_space = FOCAL_RAY_SPACE, float conf_thresh = 1.f)
: cost_space_(cost_space), conf_thresh_(conf_thresh) {}
private:
void estimate(const std::vector<cv::Mat> &images, const std::vector<ImageFeatures> &features,
@@ -71,7 +71,7 @@ private:
std::vector<std::pair<int,int> > edges_;
int cost_space_;
float dist_thresh_;
float conf_thresh_;
cv::Mat err_, err1_, err2_;
cv::Mat J_;
};
@@ -83,6 +83,9 @@ void waveCorrect(std::vector<cv::Mat> &rmats);
//////////////////////////////////////////////////////////////////////////////
// Auxiliary functions
void leaveBiggestComponent(std::vector<cv::Mat> &images, std::vector<ImageFeatures> &features,
std::vector<MatchesInfo> &pairwise_matches, float conf_threshold);
void findMaxSpanningTree(int num_images, const std::vector<MatchesInfo> &pairwise_matches,
Graph &span_tree, std::vector<int> &centers);