Fix initialisation order of parallel loop classes for AKAZE descriptor extraction

pull/2673/head
Ievgen Khvedchenia 11 years ago
parent f3f0e06c4d
commit 3cfc22ae4e
  1. 104
      modules/features2d/src/akaze/AKAZE.cpp

@ -553,11 +553,11 @@ void AKAZEFeatures::Feature_Suppression_Distance(std::vector<cv::KeyPoint>& kpts
class SURF_Descriptor_Upright_64_Invoker : public cv::ParallelLoopBody class SURF_Descriptor_Upright_64_Invoker : public cv::ParallelLoopBody
{ {
public: public:
SURF_Descriptor_Upright_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) SURF_Descriptor_Upright_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -574,18 +574,18 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class SURF_Descriptor_64_Invoker : public cv::ParallelLoopBody class SURF_Descriptor_64_Invoker : public cv::ParallelLoopBody
{ {
public: public:
SURF_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) SURF_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -603,18 +603,18 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class MSURF_Upright_Descriptor_64_Invoker : public cv::ParallelLoopBody class MSURF_Upright_Descriptor_64_Invoker : public cv::ParallelLoopBody
{ {
public: public:
MSURF_Upright_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) MSURF_Upright_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -631,19 +631,18 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class MSURF_Descriptor_64_Invoker : public cv::ParallelLoopBody class MSURF_Descriptor_64_Invoker : public cv::ParallelLoopBody
{ {
public: public:
MSURF_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) MSURF_Descriptor_64_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -661,19 +660,18 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class Upright_MLDB_Full_Descriptor_Invoker : public cv::ParallelLoopBody class Upright_MLDB_Full_Descriptor_Invoker : public cv::ParallelLoopBody
{ {
public: public:
Upright_MLDB_Full_Descriptor_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) Upright_MLDB_Full_Descriptor_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -690,9 +688,8 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class Upright_MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody class Upright_MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody
@ -700,14 +697,14 @@ class Upright_MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody
public: public:
Upright_MLDB_Descriptor_Subset_Invoker(std::vector<cv::KeyPoint>& kpts, Upright_MLDB_Descriptor_Subset_Invoker(std::vector<cv::KeyPoint>& kpts,
cv::Mat& desc, cv::Mat& desc,
const std::vector<TEvolution>& evolution, std::vector<TEvolution>& evolution,
const AKAZEOptions& options, AKAZEOptions& options,
cv::Mat descriptorSamples, cv::Mat descriptorSamples,
cv::Mat descriptorBits) cv::Mat descriptorBits)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
, descriptorSamples_(descriptorSamples) , descriptorSamples_(descriptorSamples)
, descriptorBits_(descriptorBits) , descriptorBits_(descriptorBits)
{ {
@ -726,8 +723,8 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
cv::Mat descriptorSamples_; // List of positions in the grids to sample LDB bits from. cv::Mat descriptorSamples_; // List of positions in the grids to sample LDB bits from.
cv::Mat descriptorBits_; cv::Mat descriptorBits_;
@ -736,11 +733,11 @@ private:
class MLDB_Full_Descriptor_Invoker : public cv::ParallelLoopBody class MLDB_Full_Descriptor_Invoker : public cv::ParallelLoopBody
{ {
public: public:
MLDB_Full_Descriptor_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, const std::vector<TEvolution>& evolution, const AKAZEOptions& options) MLDB_Full_Descriptor_Invoker(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc, std::vector<TEvolution>& evolution, AKAZEOptions& options)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
{ {
} }
@ -758,9 +755,8 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
}; };
class MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody class MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody
@ -768,14 +764,14 @@ class MLDB_Descriptor_Subset_Invoker : public cv::ParallelLoopBody
public: public:
MLDB_Descriptor_Subset_Invoker(std::vector<cv::KeyPoint>& kpts, MLDB_Descriptor_Subset_Invoker(std::vector<cv::KeyPoint>& kpts,
cv::Mat& desc, cv::Mat& desc,
const std::vector<TEvolution>& evolution, std::vector<TEvolution>& evolution,
const AKAZEOptions& options, AKAZEOptions& options,
cv::Mat descriptorSamples, cv::Mat descriptorSamples,
cv::Mat descriptorBits) cv::Mat descriptorBits)
: evolution_(evolution) : keypoints_(kpts)
, options_(options)
, keypoints_(kpts)
, descriptors_(desc) , descriptors_(desc)
, evolution_(evolution)
, options_(options)
, descriptorSamples_(descriptorSamples) , descriptorSamples_(descriptorSamples)
, descriptorBits_(descriptorBits) , descriptorBits_(descriptorBits)
{ {
@ -795,8 +791,8 @@ public:
private: private:
std::vector<cv::KeyPoint>& keypoints_; std::vector<cv::KeyPoint>& keypoints_;
cv::Mat& descriptors_; cv::Mat& descriptors_;
const std::vector<TEvolution>& evolution_; std::vector<TEvolution>& evolution_;
const AKAZEOptions& options_; AKAZEOptions& options_;
cv::Mat descriptorSamples_; // List of positions in the grids to sample LDB bits from. cv::Mat descriptorSamples_; // List of positions in the grids to sample LDB bits from.
cv::Mat descriptorBits_; cv::Mat descriptorBits_;

Loading…
Cancel
Save