public class opencv_xfeatures2d extends opencv_xfeatures2d
Constructor and Description |
---|
opencv_xfeatures2d() |
Modifier and Type | Method and Description |
---|---|
static void |
FASTForPointSet(GpuMat image,
KeyPointVector keypoints,
int threshold) |
static void |
FASTForPointSet(GpuMat image,
KeyPointVector keypoints,
int threshold,
boolean nonmaxSuppression,
int type) |
static void |
FASTForPointSet(Mat image,
KeyPointVector keypoints,
int threshold) |
static void |
FASTForPointSet(Mat image,
KeyPointVector keypoints,
int threshold,
boolean nonmaxSuppression,
int type)
\brief Estimates cornerness for prespecified KeyPoints using the FAST algorithm
|
static void |
FASTForPointSet(UMat image,
KeyPointVector keypoints,
int threshold) |
static void |
FASTForPointSet(UMat image,
KeyPointVector keypoints,
int threshold,
boolean nonmaxSuppression,
int type) |
static void |
matchGMS(Size size1,
Size size2,
KeyPointVector keypoints1,
KeyPointVector keypoints2,
DMatchVector matches1to2,
DMatchVector matchesGMS) |
static void |
matchGMS(Size size1,
Size size2,
KeyPointVector keypoints1,
KeyPointVector keypoints2,
DMatchVector matches1to2,
DMatchVector matchesGMS,
boolean withRotation,
boolean withScale,
double thresholdFactor)
\}
|
static void |
matchLOGOS(KeyPointVector keypoints1,
KeyPointVector keypoints2,
int[] nn1,
int[] nn2,
DMatchVector matches1to2) |
static void |
matchLOGOS(KeyPointVector keypoints1,
KeyPointVector keypoints2,
IntBuffer nn1,
IntBuffer nn2,
DMatchVector matches1to2) |
static void |
matchLOGOS(KeyPointVector keypoints1,
KeyPointVector keypoints2,
IntPointer nn1,
IntPointer nn2,
DMatchVector matches1to2)
\brief LOGOS (Local geometric support for high-outlier spatial verification) feature matching strategy described in \cite Lowry2018LOGOSLG .
|
map
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal Mat image, @ByRef KeyPointVector keypoints, int threshold, @Cast(value="bool") boolean nonmaxSuppression, @Cast(value="cv::FastFeatureDetector::DetectorType") int type)
image
- grayscale image where keypoints (corners) are detected.keypoints
- keypoints which should be tested to fit the FAST criteria. Keypoints not being
detected as corners are removed.threshold
- threshold on difference between intensity of the central pixel and pixels of a
circle around this pixel.nonmaxSuppression
- if true, non-maximum suppression is applied to detected corners
(keypoints).type
- one of the three neighborhoods as defined in the paper:
FastFeatureDetector::TYPE_9_16, FastFeatureDetector::TYPE_7_12,
FastFeatureDetector::TYPE_5_8
Detects corners using the FAST algorithm by \cite Rosten06 .
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal Mat image, @ByRef KeyPointVector keypoints, int threshold)
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal UMat image, @ByRef KeyPointVector keypoints, int threshold, @Cast(value="bool") boolean nonmaxSuppression, @Cast(value="cv::FastFeatureDetector::DetectorType") int type)
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal UMat image, @ByRef KeyPointVector keypoints, int threshold)
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal GpuMat image, @ByRef KeyPointVector keypoints, int threshold, @Cast(value="bool") boolean nonmaxSuppression, @Cast(value="cv::FastFeatureDetector::DetectorType") int type)
@Namespace(value="cv::xfeatures2d") public static void FASTForPointSet(@ByVal GpuMat image, @ByRef KeyPointVector keypoints, int threshold)
@Namespace(value="cv::xfeatures2d") public static void matchGMS(@Const @ByRef Size size1, @Const @ByRef Size size2, @Const @ByRef KeyPointVector keypoints1, @Const @ByRef KeyPointVector keypoints2, @Const @ByRef DMatchVector matches1to2, @ByRef DMatchVector matchesGMS, @Cast(value="const bool") boolean withRotation, @Cast(value="const bool") boolean withScale, double thresholdFactor)
\addtogroup xfeatures2d_match \{
/** \brief GMS (Grid-based Motion Statistics) feature matching strategy described in \cite Bian2017gms .
size1
- Input size of image1.size2
- Input size of image2.keypoints1
- Input keypoints of image1.keypoints2
- Input keypoints of image2.matches1to2
- Input 1-nearest neighbor matches.matchesGMS
- Matches returned by the GMS matching strategy.withRotation
- Take rotation transformation into account.withScale
- Take scale transformation into account.thresholdFactor
- The higher, the less matches.
\note
Since GMS works well when the number of features is large, we recommend to use the ORB feature and set FastThreshold to 0 to get as many as possible features quickly.
If matching results are not satisfying, please add more features. (We use 10000 for images with 640 X 480).
If your images have big rotation and scale changes, please set withRotation or withScale to true.@Namespace(value="cv::xfeatures2d") public static void matchGMS(@Const @ByRef Size size1, @Const @ByRef Size size2, @Const @ByRef KeyPointVector keypoints1, @Const @ByRef KeyPointVector keypoints2, @Const @ByRef DMatchVector matches1to2, @ByRef DMatchVector matchesGMS)
@Namespace(value="cv::xfeatures2d") public static void matchLOGOS(@Const @ByRef KeyPointVector keypoints1, @Const @ByRef KeyPointVector keypoints2, @StdVector IntPointer nn1, @StdVector IntPointer nn2, @ByRef DMatchVector matches1to2)
keypoints1
- Input keypoints of image1.keypoints2
- Input keypoints of image2.nn1
- Index to the closest BoW centroid for each descriptors of image1.nn2
- Index to the closest BoW centroid for each descriptors of image2.matches1to2
- Matches returned by the LOGOS matching strategy.
\note
This matching strategy is suitable for features matching against large scale database.
First step consists in constructing the bag-of-words (BoW) from a representative image database.
Image descriptors are then represented by their closest codevector (nearest BoW centroid).@Namespace(value="cv::xfeatures2d") public static void matchLOGOS(@Const @ByRef KeyPointVector keypoints1, @Const @ByRef KeyPointVector keypoints2, @StdVector IntBuffer nn1, @StdVector IntBuffer nn2, @ByRef DMatchVector matches1to2)
@Namespace(value="cv::xfeatures2d") public static void matchLOGOS(@Const @ByRef KeyPointVector keypoints1, @Const @ByRef KeyPointVector keypoints2, @StdVector int[] nn1, @StdVector int[] nn2, @ByRef DMatchVector matches1to2)
Copyright © 2024. All rights reserved.