BEBLID.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. //
  2. // This file is auto-generated. Please don't modify it!
  3. //
  4. #pragma once
  5. #ifdef __cplusplus
  6. //#import "opencv.hpp"
  7. #import "opencv2/xfeatures2d.hpp"
  8. #else
  9. #define CV_EXPORTS
  10. #endif
  11. #import <Foundation/Foundation.h>
  12. #import "Feature2D.h"
  13. // C++: enum BeblidSize (cv.xfeatures2d.BEBLID.BeblidSize)
  14. typedef NS_ENUM(int, BeblidSize) {
  15. BEBLID_SIZE_512_BITS NS_SWIFT_NAME(SIZE_512_BITS) = 100,
  16. BEBLID_SIZE_256_BITS NS_SWIFT_NAME(SIZE_256_BITS) = 101
  17. };
  18. NS_ASSUME_NONNULL_BEGIN
  19. // C++: class BEBLID
  20. /**
  21. * Class implementing BEBLID (Boosted Efficient Binary Local Image Descriptor),
  22. * described in CITE: Suarez2020BEBLID .
  23. *
  24. * BEBLID \cite Suarez2020BEBLID is a efficient binary descriptor learned with boosting.
  25. * It is able to describe keypoints from any detector just by changing the scale_factor parameter.
  26. * In several benchmarks it has proved to largely improve other binary descriptors like ORB or
  27. * BRISK with the same efficiency. BEBLID describes using the difference of mean gray values in
  28. * different regions of the image around the KeyPoint, the descriptor is specifically optimized for
  29. * image matching and patch retrieval addressing the asymmetries of these problems.
  30. *
  31. * If you find this code useful, please add a reference to the following paper:
  32. * <BLOCKQUOTE> Iago Suárez, Ghesn Sfeir, José M. Buenaposada, and Luis Baumela.
  33. * BEBLID: Boosted efficient binary local image descriptor.
  34. * Pattern Recognition Letters, 133:366–372, 2020. </BLOCKQUOTE>
  35. *
  36. * The descriptor was trained using 1 million of randomly sampled pairs of patches
  37. * (20% positives and 80% negatives) from the Liberty split of the UBC datasets
  38. * \cite winder2007learning as described in the paper CITE: Suarez2020BEBLID.
  39. * You can check in the [AKAZE example](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp)
  40. * how well BEBLID works. Detecting 10000 keypoints with ORB and describing with BEBLID obtains
  41. * 561 inliers (75%) whereas describing with ORB obtains only 493 inliers (63%).
  42. *
  43. * Member of `Xfeatures2d`
  44. */
  45. CV_EXPORTS @interface BEBLID : Feature2D
  46. #ifdef __cplusplus
  47. @property(readonly)cv::Ptr<cv::xfeatures2d::BEBLID> nativePtrBEBLID;
  48. #endif
  49. #ifdef __cplusplus
  50. - (instancetype)initWithNativePtr:(cv::Ptr<cv::xfeatures2d::BEBLID>)nativePtr;
  51. + (instancetype)fromNative:(cv::Ptr<cv::xfeatures2d::BEBLID>)nativePtr;
  52. #endif
  53. #pragma mark - Methods
  54. //
  55. // static Ptr_BEBLID cv::xfeatures2d::BEBLID::create(float scale_factor, int n_bits = BEBLID::SIZE_512_BITS)
  56. //
  57. /**
  58. * Creates the BEBLID descriptor.
  59. * @param scale_factor Adjust the sampling window around detected keypoints:
  60. * - <b> 1.00f </b> should be the scale for ORB keypoints
  61. * - <b> 6.75f </b> should be the scale for SIFT detected keypoints
  62. * - <b> 6.25f </b> is default and fits for KAZE, SURF detected keypoints
  63. * - <b> 5.00f </b> should be the scale for AKAZE, MSD, AGAST, FAST, BRISK keypoints
  64. * @param n_bits Determine the number of bits in the descriptor. Should be either
  65. * BEBLID::SIZE_512_BITS or BEBLID::SIZE_256_BITS.
  66. */
  67. + (BEBLID*)create:(float)scale_factor n_bits:(int)n_bits NS_SWIFT_NAME(create(scale_factor:n_bits:));
  68. /**
  69. * Creates the BEBLID descriptor.
  70. * @param scale_factor Adjust the sampling window around detected keypoints:
  71. * - <b> 1.00f </b> should be the scale for ORB keypoints
  72. * - <b> 6.75f </b> should be the scale for SIFT detected keypoints
  73. * - <b> 6.25f </b> is default and fits for KAZE, SURF detected keypoints
  74. * - <b> 5.00f </b> should be the scale for AKAZE, MSD, AGAST, FAST, BRISK keypoints
  75. * BEBLID::SIZE_512_BITS or BEBLID::SIZE_256_BITS.
  76. */
  77. + (BEBLID*)create:(float)scale_factor NS_SWIFT_NAME(create(scale_factor:));
  78. //
  79. // void cv::xfeatures2d::BEBLID::setScaleFactor(float scale_factor)
  80. //
  81. - (void)setScaleFactor:(float)scale_factor NS_SWIFT_NAME(setScaleFactor(scale_factor:));
  82. //
  83. // float cv::xfeatures2d::BEBLID::getScaleFactor()
  84. //
  85. - (float)getScaleFactor NS_SWIFT_NAME(getScaleFactor());
  86. //
  87. // String cv::xfeatures2d::BEBLID::getDefaultName()
  88. //
  89. - (NSString*)getDefaultName NS_SWIFT_NAME(getDefaultName());
  90. @end
  91. NS_ASSUME_NONNULL_END