|
|
|
@ -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 |
|
|
|
|
SurfFeaturesFinderGpu::SurfFeaturesFinderGpu(double hess_thresh, int num_octaves, int num_layers, |
|
|
|
|
int num_octaves_descr, int num_layers_descr) |
|
|
|
|