Fix missing angles in AKAZE keypoints

This commit is contained in:
Vladislav Sovrasov
2016-12-12 12:25:57 +03:00
parent beea04cc89
commit 4a3da1c4ed
4 changed files with 34 additions and 0 deletions
+2
View File
@@ -200,6 +200,8 @@ namespace cv
if (!useProvidedKeypoints)
{
impl.Feature_Detection(keypoints);
if( !descriptors.needed() )
impl.Compute_Keypoints_Orientation(keypoints);
}
if (!mask.empty())
@@ -844,6 +844,17 @@ void AKAZEFeatures::Compute_Main_Orientation(KeyPoint& kpt, const std::vector<TE
}
}
/* ************************************************************************* */
/**
* @brief This method computes the main orientation for a given keypoints
* @param kpts Input keypoints
*/
void AKAZEFeatures::Compute_Keypoints_Orientation(std::vector<KeyPoint>& kpts) const
{
for(size_t i = 0; i < kpts.size(); i++)
Compute_Main_Orientation(kpts[i], evolution_);
}
/* ************************************************************************* */
/**
* @brief This method computes the upright descriptor (not rotation invariant) of
@@ -54,6 +54,7 @@ public:
/// Feature description methods
void Compute_Descriptors(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc);
static void Compute_Main_Orientation(cv::KeyPoint& kpt, const std::vector<TEvolution>& evolution_);
void Compute_Keypoints_Orientation(std::vector<cv::KeyPoint>& kpts) const;
};
/* ************************************************************************* */