SURF.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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. #import "opencv2/xfeatures2d/nonfree.hpp"
  9. #else
  10. #define CV_EXPORTS
  11. #endif
  12. #import <Foundation/Foundation.h>
  13. #import "Feature2D.h"
  14. NS_ASSUME_NONNULL_BEGIN
  15. // C++: class SURF
  16. /**
  17. * Class for extracting Speeded Up Robust Features from an image CITE: Bay06 .
  18. *
  19. * The algorithm parameters:
  20. * - member int extended
  21. * - 0 means that the basic descriptors (64 elements each) shall be computed
  22. * - 1 means that the extended descriptors (128 elements each) shall be computed
  23. * - member int upright
  24. * - 0 means that detector computes orientation of each feature.
  25. * - 1 means that the orientation is not computed (which is much, much faster). For example,
  26. * if you match images from a stereo pair, or do image stitching, the matched features
  27. * likely have very similar angles, and you can speed up feature extraction by setting
  28. * upright=1.
  29. * - member double hessianThreshold
  30. * Threshold for the keypoint detector. Only features, whose hessian is larger than
  31. * hessianThreshold are retained by the detector. Therefore, the larger the value, the less
  32. * keypoints you will get. A good default value could be from 300 to 500, depending from the
  33. * image contrast.
  34. * - member int nOctaves
  35. * The number of a gaussian pyramid octaves that the detector uses. It is set to 4 by default.
  36. * If you want to get very large features, use the larger value. If you want just small
  37. * features, decrease it.
  38. * - member int nOctaveLayers
  39. * The number of images within each octave of a gaussian pyramid. It is set to 2 by default.
  40. * NOTE:
  41. * - An example using the SURF feature detector can be found at
  42. * opencv_source_code/samples/cpp/generic_descriptor_match.cpp
  43. * - Another example using the SURF feature detector, extractor and matcher can be found at
  44. * opencv_source_code/samples/cpp/matcher_simple.cpp
  45. *
  46. * Member of `Xfeatures2d`
  47. */
  48. CV_EXPORTS @interface SURF : Feature2D
  49. #ifdef __cplusplus
  50. @property(readonly)cv::Ptr<cv::xfeatures2d::SURF> nativePtrSURF;
  51. #endif
  52. #ifdef __cplusplus
  53. - (instancetype)initWithNativePtr:(cv::Ptr<cv::xfeatures2d::SURF>)nativePtr;
  54. + (instancetype)fromNative:(cv::Ptr<cv::xfeatures2d::SURF>)nativePtr;
  55. #endif
  56. #pragma mark - Methods
  57. //
  58. // static Ptr_SURF cv::xfeatures2d::SURF::create(double hessianThreshold = 100, int nOctaves = 4, int nOctaveLayers = 3, bool extended = false, bool upright = false)
  59. //
  60. /**
  61. * @param hessianThreshold Threshold for hessian keypoint detector used in SURF.
  62. * @param nOctaves Number of pyramid octaves the keypoint detector will use.
  63. * @param nOctaveLayers Number of octave layers within each octave.
  64. * @param extended Extended descriptor flag (true - use extended 128-element descriptors; false - use
  65. * 64-element descriptors).
  66. * @param upright Up-right or rotated features flag (true - do not compute orientation of features;
  67. * false - compute orientation).
  68. */
  69. + (SURF*)create:(double)hessianThreshold nOctaves:(int)nOctaves nOctaveLayers:(int)nOctaveLayers extended:(BOOL)extended upright:(BOOL)upright NS_SWIFT_NAME(create(hessianThreshold:nOctaves:nOctaveLayers:extended:upright:));
  70. /**
  71. * @param hessianThreshold Threshold for hessian keypoint detector used in SURF.
  72. * @param nOctaves Number of pyramid octaves the keypoint detector will use.
  73. * @param nOctaveLayers Number of octave layers within each octave.
  74. * @param extended Extended descriptor flag (true - use extended 128-element descriptors; false - use
  75. * 64-element descriptors).
  76. * false - compute orientation).
  77. */
  78. + (SURF*)create:(double)hessianThreshold nOctaves:(int)nOctaves nOctaveLayers:(int)nOctaveLayers extended:(BOOL)extended NS_SWIFT_NAME(create(hessianThreshold:nOctaves:nOctaveLayers:extended:));
  79. /**
  80. * @param hessianThreshold Threshold for hessian keypoint detector used in SURF.
  81. * @param nOctaves Number of pyramid octaves the keypoint detector will use.
  82. * @param nOctaveLayers Number of octave layers within each octave.
  83. * 64-element descriptors).
  84. * false - compute orientation).
  85. */
  86. + (SURF*)create:(double)hessianThreshold nOctaves:(int)nOctaves nOctaveLayers:(int)nOctaveLayers NS_SWIFT_NAME(create(hessianThreshold:nOctaves:nOctaveLayers:));
  87. /**
  88. * @param hessianThreshold Threshold for hessian keypoint detector used in SURF.
  89. * @param nOctaves Number of pyramid octaves the keypoint detector will use.
  90. * 64-element descriptors).
  91. * false - compute orientation).
  92. */
  93. + (SURF*)create:(double)hessianThreshold nOctaves:(int)nOctaves NS_SWIFT_NAME(create(hessianThreshold:nOctaves:));
  94. /**
  95. * @param hessianThreshold Threshold for hessian keypoint detector used in SURF.
  96. * 64-element descriptors).
  97. * false - compute orientation).
  98. */
  99. + (SURF*)create:(double)hessianThreshold NS_SWIFT_NAME(create(hessianThreshold:));
  100. /**
  101. * 64-element descriptors).
  102. * false - compute orientation).
  103. */
  104. + (SURF*)create NS_SWIFT_NAME(create());
  105. //
  106. // void cv::xfeatures2d::SURF::setHessianThreshold(double hessianThreshold)
  107. //
  108. - (void)setHessianThreshold:(double)hessianThreshold NS_SWIFT_NAME(setHessianThreshold(hessianThreshold:));
  109. //
  110. // double cv::xfeatures2d::SURF::getHessianThreshold()
  111. //
  112. - (double)getHessianThreshold NS_SWIFT_NAME(getHessianThreshold());
  113. //
  114. // void cv::xfeatures2d::SURF::setNOctaves(int nOctaves)
  115. //
  116. - (void)setNOctaves:(int)nOctaves NS_SWIFT_NAME(setNOctaves(nOctaves:));
  117. //
  118. // int cv::xfeatures2d::SURF::getNOctaves()
  119. //
  120. - (int)getNOctaves NS_SWIFT_NAME(getNOctaves());
  121. //
  122. // void cv::xfeatures2d::SURF::setNOctaveLayers(int nOctaveLayers)
  123. //
  124. - (void)setNOctaveLayers:(int)nOctaveLayers NS_SWIFT_NAME(setNOctaveLayers(nOctaveLayers:));
  125. //
  126. // int cv::xfeatures2d::SURF::getNOctaveLayers()
  127. //
  128. - (int)getNOctaveLayers NS_SWIFT_NAME(getNOctaveLayers());
  129. //
  130. // void cv::xfeatures2d::SURF::setExtended(bool extended)
  131. //
  132. - (void)setExtended:(BOOL)extended NS_SWIFT_NAME(setExtended(extended:));
  133. //
  134. // bool cv::xfeatures2d::SURF::getExtended()
  135. //
  136. - (BOOL)getExtended NS_SWIFT_NAME(getExtended());
  137. //
  138. // void cv::xfeatures2d::SURF::setUpright(bool upright)
  139. //
  140. - (void)setUpright:(BOOL)upright NS_SWIFT_NAME(setUpright(upright:));
  141. //
  142. // bool cv::xfeatures2d::SURF::getUpright()
  143. //
  144. - (BOOL)getUpright NS_SWIFT_NAME(getUpright());
  145. //
  146. // String cv::xfeatures2d::SURF::getDefaultName()
  147. //
  148. - (NSString*)getDefaultName NS_SWIFT_NAME(getDefaultName());
  149. @end
  150. NS_ASSUME_NONNULL_END