mirror of
https://github.com/opencv/opencv.git
synced 2025-06-19 00:46:39 +08:00
Merge pull request #7443 from Tytan:akaze
This commit is contained in:
commit
27c8f8a1d4
@ -131,6 +131,27 @@ private:
|
|||||||
Size grid_size;
|
Size grid_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @brief AKAZE features finder. :
|
||||||
|
|
||||||
|
@sa detail::FeaturesFinder, AKAZE
|
||||||
|
*/
|
||||||
|
class CV_EXPORTS AKAZEFeaturesFinder : public detail::FeaturesFinder
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AKAZEFeaturesFinder(int descriptor_type = AKAZE::DESCRIPTOR_MLDB,
|
||||||
|
int descriptor_size = 0,
|
||||||
|
int descriptor_channels = 3,
|
||||||
|
float threshold = 0.001f,
|
||||||
|
int nOctaves = 4,
|
||||||
|
int nOctaveLayers = 4,
|
||||||
|
int diffusivity = KAZE::DIFF_PM_G2);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void find(InputArray image, detail::ImageFeatures &features);
|
||||||
|
|
||||||
|
Ptr<AKAZE> akaze;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_XFEATURES2D
|
#ifdef HAVE_OPENCV_XFEATURES2D
|
||||||
class CV_EXPORTS SurfFeaturesFinderGpu : public FeaturesFinder
|
class CV_EXPORTS SurfFeaturesFinderGpu : public FeaturesFinder
|
||||||
|
@ -462,6 +462,27 @@ void OrbFeaturesFinder::find(InputArray image, ImageFeatures &features)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AKAZEFeaturesFinder::AKAZEFeaturesFinder(int descriptor_type,
|
||||||
|
int descriptor_size,
|
||||||
|
int descriptor_channels,
|
||||||
|
float threshold,
|
||||||
|
int nOctaves,
|
||||||
|
int nOctaveLayers,
|
||||||
|
int diffusivity)
|
||||||
|
{
|
||||||
|
akaze = AKAZE::create(descriptor_type, descriptor_size, descriptor_channels,
|
||||||
|
threshold, nOctaves, nOctaveLayers, diffusivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AKAZEFeaturesFinder::find(InputArray image, detail::ImageFeatures &features)
|
||||||
|
{
|
||||||
|
CV_Assert((image.type() == CV_8UC3) || (image.type() == CV_8UC1));
|
||||||
|
Mat descriptors;
|
||||||
|
UMat uimage = image.getUMat();
|
||||||
|
akaze->detectAndCompute(uimage, UMat(), features.keypoints, descriptors);
|
||||||
|
features.descriptors = descriptors.getUMat(ACCESS_READ);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_XFEATURES2D
|
#ifdef HAVE_OPENCV_XFEATURES2D
|
||||||
SurfFeaturesFinderGpu::SurfFeaturesFinderGpu(double hess_thresh, int num_octaves, int num_layers,
|
SurfFeaturesFinderGpu::SurfFeaturesFinderGpu(double hess_thresh, int num_octaves, int num_layers,
|
||||||
int num_octaves_descr, int num_layers_descr)
|
int num_octaves_descr, int num_layers_descr)
|
||||||
|
Loading…
Reference in New Issue
Block a user