DescriptorMatcher.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  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/features2d.hpp"
  8. #else
  9. #define CV_EXPORTS
  10. #endif
  11. #import <Foundation/Foundation.h>
  12. #import "Algorithm.h"
  13. @class DMatch;
  14. @class Mat;
  15. // C++: enum MatcherType (cv.DescriptorMatcher.MatcherType)
  16. typedef NS_ENUM(int, MatcherType) {
  17. FLANNBASED = 1,
  18. BRUTEFORCE = 2,
  19. BRUTEFORCE_L1 = 3,
  20. BRUTEFORCE_HAMMING = 4,
  21. BRUTEFORCE_HAMMINGLUT = 5,
  22. BRUTEFORCE_SL2 = 6
  23. };
  24. NS_ASSUME_NONNULL_BEGIN
  25. // C++: class DescriptorMatcher
  26. /**
  27. * Abstract base class for matching keypoint descriptors.
  28. *
  29. * It has two groups of match methods: for matching descriptors of an image with another image or with
  30. * an image set.
  31. *
  32. * Member of `Features2d`
  33. */
  34. CV_EXPORTS @interface DescriptorMatcher : Algorithm
  35. #ifdef __cplusplus
  36. @property(readonly)cv::Ptr<cv::DescriptorMatcher> nativePtrDescriptorMatcher;
  37. #endif
  38. #ifdef __cplusplus
  39. - (instancetype)initWithNativePtr:(cv::Ptr<cv::DescriptorMatcher>)nativePtr;
  40. + (instancetype)fromNative:(cv::Ptr<cv::DescriptorMatcher>)nativePtr;
  41. #endif
  42. #pragma mark - Methods
  43. //
  44. // void cv::DescriptorMatcher::add(vector_Mat descriptors)
  45. //
  46. /**
  47. * Adds descriptors to train a CPU(trainDescCollectionis) or GPU(utrainDescCollectionis) descriptor
  48. * collection.
  49. *
  50. * If the collection is not empty, the new descriptors are added to existing train descriptors.
  51. *
  52. * @param descriptors Descriptors to add. Each descriptors[i] is a set of descriptors from the same
  53. * train image.
  54. */
  55. - (void)add:(NSArray<Mat*>*)descriptors NS_SWIFT_NAME(add(descriptors:));
  56. //
  57. // vector_Mat cv::DescriptorMatcher::getTrainDescriptors()
  58. //
  59. /**
  60. * Returns a constant link to the train descriptor collection trainDescCollection .
  61. */
  62. - (NSArray<Mat*>*)getTrainDescriptors NS_SWIFT_NAME(getTrainDescriptors());
  63. //
  64. // void cv::DescriptorMatcher::clear()
  65. //
  66. /**
  67. * Clears the train descriptor collections.
  68. */
  69. - (void)clear NS_SWIFT_NAME(clear());
  70. //
  71. // bool cv::DescriptorMatcher::empty()
  72. //
  73. /**
  74. * Returns true if there are no train descriptors in the both collections.
  75. */
  76. - (BOOL)empty NS_SWIFT_NAME(empty());
  77. //
  78. // bool cv::DescriptorMatcher::isMaskSupported()
  79. //
  80. /**
  81. * Returns true if the descriptor matcher supports masking permissible matches.
  82. */
  83. - (BOOL)isMaskSupported NS_SWIFT_NAME(isMaskSupported());
  84. //
  85. // void cv::DescriptorMatcher::train()
  86. //
  87. /**
  88. * Trains a descriptor matcher
  89. *
  90. * Trains a descriptor matcher (for example, the flann index). In all methods to match, the method
  91. * train() is run every time before matching. Some descriptor matchers (for example, BruteForceMatcher)
  92. * have an empty implementation of this method. Other matchers really train their inner structures (for
  93. * example, FlannBasedMatcher trains flann::Index ).
  94. */
  95. - (void)train NS_SWIFT_NAME(train());
  96. //
  97. // void cv::DescriptorMatcher::match(Mat queryDescriptors, Mat trainDescriptors, vector_DMatch& matches, Mat mask = Mat())
  98. //
  99. /**
  100. * Finds the best match for each descriptor from a query set.
  101. *
  102. * @param queryDescriptors Query set of descriptors.
  103. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  104. * collection stored in the class object.
  105. * @param matches Matches. If a query descriptor is masked out in mask , no match is added for this
  106. * descriptor. So, matches size may be smaller than the query descriptors count.
  107. * @param mask Mask specifying permissible matches between an input query and train matrices of
  108. * descriptors.
  109. *
  110. * In the first variant of this method, the train descriptors are passed as an input argument. In the
  111. * second variant of the method, train descriptors collection that was set by DescriptorMatcher::add is
  112. * used. Optional mask (or masks) can be passed to specify which query and training descriptors can be
  113. * matched. Namely, queryDescriptors[i] can be matched with trainDescriptors[j] only if
  114. * mask.at\<uchar\>(i,j) is non-zero.
  115. */
  116. - (void)match:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<DMatch*>*)matches mask:(Mat*)mask NS_SWIFT_NAME(match(queryDescriptors:trainDescriptors:matches:mask:));
  117. /**
  118. * Finds the best match for each descriptor from a query set.
  119. *
  120. * @param queryDescriptors Query set of descriptors.
  121. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  122. * collection stored in the class object.
  123. * @param matches Matches. If a query descriptor is masked out in mask , no match is added for this
  124. * descriptor. So, matches size may be smaller than the query descriptors count.
  125. * descriptors.
  126. *
  127. * In the first variant of this method, the train descriptors are passed as an input argument. In the
  128. * second variant of the method, train descriptors collection that was set by DescriptorMatcher::add is
  129. * used. Optional mask (or masks) can be passed to specify which query and training descriptors can be
  130. * matched. Namely, queryDescriptors[i] can be matched with trainDescriptors[j] only if
  131. * mask.at\<uchar\>(i,j) is non-zero.
  132. */
  133. - (void)match:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<DMatch*>*)matches NS_SWIFT_NAME(match(queryDescriptors:trainDescriptors:matches:));
  134. //
  135. // void cv::DescriptorMatcher::knnMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, int k, Mat mask = Mat(), bool compactResult = false)
  136. //
  137. /**
  138. * Finds the k best matches for each descriptor from a query set.
  139. *
  140. * @param queryDescriptors Query set of descriptors.
  141. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  142. * collection stored in the class object.
  143. * @param mask Mask specifying permissible matches between an input query and train matrices of
  144. * descriptors.
  145. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  146. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  147. * less than k possible matches in total.
  148. * @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is
  149. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  150. * the matches vector does not contain matches for fully masked-out query descriptors.
  151. *
  152. * These extended variants of DescriptorMatcher::match methods find several best matches for each query
  153. * descriptor. The matches are returned in the distance increasing order. See DescriptorMatcher::match
  154. * for the details about query and train descriptors.
  155. */
  156. - (void)knnMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k mask:(Mat*)mask compactResult:(BOOL)compactResult NS_SWIFT_NAME(knnMatch(queryDescriptors:trainDescriptors:matches:k:mask:compactResult:));
  157. /**
  158. * Finds the k best matches for each descriptor from a query set.
  159. *
  160. * @param queryDescriptors Query set of descriptors.
  161. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  162. * collection stored in the class object.
  163. * @param mask Mask specifying permissible matches between an input query and train matrices of
  164. * descriptors.
  165. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  166. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  167. * less than k possible matches in total.
  168. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  169. * the matches vector does not contain matches for fully masked-out query descriptors.
  170. *
  171. * These extended variants of DescriptorMatcher::match methods find several best matches for each query
  172. * descriptor. The matches are returned in the distance increasing order. See DescriptorMatcher::match
  173. * for the details about query and train descriptors.
  174. */
  175. - (void)knnMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k mask:(Mat*)mask NS_SWIFT_NAME(knnMatch(queryDescriptors:trainDescriptors:matches:k:mask:));
  176. /**
  177. * Finds the k best matches for each descriptor from a query set.
  178. *
  179. * @param queryDescriptors Query set of descriptors.
  180. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  181. * collection stored in the class object.
  182. * descriptors.
  183. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  184. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  185. * less than k possible matches in total.
  186. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  187. * the matches vector does not contain matches for fully masked-out query descriptors.
  188. *
  189. * These extended variants of DescriptorMatcher::match methods find several best matches for each query
  190. * descriptor. The matches are returned in the distance increasing order. See DescriptorMatcher::match
  191. * for the details about query and train descriptors.
  192. */
  193. - (void)knnMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k NS_SWIFT_NAME(knnMatch(queryDescriptors:trainDescriptors:matches:k:));
  194. //
  195. // void cv::DescriptorMatcher::radiusMatch(Mat queryDescriptors, Mat trainDescriptors, vector_vector_DMatch& matches, float maxDistance, Mat mask = Mat(), bool compactResult = false)
  196. //
  197. /**
  198. * For each query descriptor, finds the training descriptors not farther than the specified distance.
  199. *
  200. * @param queryDescriptors Query set of descriptors.
  201. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  202. * collection stored in the class object.
  203. * @param matches Found matches.
  204. * @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is
  205. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  206. * the matches vector does not contain matches for fully masked-out query descriptors.
  207. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  208. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  209. * in Pixels)!
  210. * @param mask Mask specifying permissible matches between an input query and train matrices of
  211. * descriptors.
  212. *
  213. * For each query descriptor, the methods find such training descriptors that the distance between the
  214. * query descriptor and the training descriptor is equal or smaller than maxDistance. Found matches are
  215. * returned in the distance increasing order.
  216. */
  217. - (void)radiusMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance mask:(Mat*)mask compactResult:(BOOL)compactResult NS_SWIFT_NAME(radiusMatch(queryDescriptors:trainDescriptors:matches:maxDistance:mask:compactResult:));
  218. /**
  219. * For each query descriptor, finds the training descriptors not farther than the specified distance.
  220. *
  221. * @param queryDescriptors Query set of descriptors.
  222. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  223. * collection stored in the class object.
  224. * @param matches Found matches.
  225. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  226. * the matches vector does not contain matches for fully masked-out query descriptors.
  227. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  228. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  229. * in Pixels)!
  230. * @param mask Mask specifying permissible matches between an input query and train matrices of
  231. * descriptors.
  232. *
  233. * For each query descriptor, the methods find such training descriptors that the distance between the
  234. * query descriptor and the training descriptor is equal or smaller than maxDistance. Found matches are
  235. * returned in the distance increasing order.
  236. */
  237. - (void)radiusMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance mask:(Mat*)mask NS_SWIFT_NAME(radiusMatch(queryDescriptors:trainDescriptors:matches:maxDistance:mask:));
  238. /**
  239. * For each query descriptor, finds the training descriptors not farther than the specified distance.
  240. *
  241. * @param queryDescriptors Query set of descriptors.
  242. * @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors
  243. * collection stored in the class object.
  244. * @param matches Found matches.
  245. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  246. * the matches vector does not contain matches for fully masked-out query descriptors.
  247. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  248. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  249. * in Pixels)!
  250. * descriptors.
  251. *
  252. * For each query descriptor, the methods find such training descriptors that the distance between the
  253. * query descriptor and the training descriptor is equal or smaller than maxDistance. Found matches are
  254. * returned in the distance increasing order.
  255. */
  256. - (void)radiusMatch:(Mat*)queryDescriptors trainDescriptors:(Mat*)trainDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance NS_SWIFT_NAME(radiusMatch(queryDescriptors:trainDescriptors:matches:maxDistance:));
  257. //
  258. // void cv::DescriptorMatcher::match(Mat queryDescriptors, vector_DMatch& matches, vector_Mat masks = vector_Mat())
  259. //
  260. /**
  261. *
  262. * @param queryDescriptors Query set of descriptors.
  263. * @param matches Matches. If a query descriptor is masked out in mask , no match is added for this
  264. * descriptor. So, matches size may be smaller than the query descriptors count.
  265. * @param masks Set of masks. Each masks[i] specifies permissible matches between the input query
  266. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  267. */
  268. - (void)match:(Mat*)queryDescriptors matches:(NSMutableArray<DMatch*>*)matches masks:(NSArray<Mat*>*)masks NS_SWIFT_NAME(match(queryDescriptors:matches:masks:));
  269. /**
  270. *
  271. * @param queryDescriptors Query set of descriptors.
  272. * @param matches Matches. If a query descriptor is masked out in mask , no match is added for this
  273. * descriptor. So, matches size may be smaller than the query descriptors count.
  274. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  275. */
  276. - (void)match:(Mat*)queryDescriptors matches:(NSMutableArray<DMatch*>*)matches NS_SWIFT_NAME(match(queryDescriptors:matches:));
  277. //
  278. // void cv::DescriptorMatcher::knnMatch(Mat queryDescriptors, vector_vector_DMatch& matches, int k, vector_Mat masks = vector_Mat(), bool compactResult = false)
  279. //
  280. /**
  281. *
  282. * @param queryDescriptors Query set of descriptors.
  283. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  284. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  285. * less than k possible matches in total.
  286. * @param masks Set of masks. Each masks[i] specifies permissible matches between the input query
  287. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  288. * @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is
  289. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  290. * the matches vector does not contain matches for fully masked-out query descriptors.
  291. */
  292. - (void)knnMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k masks:(NSArray<Mat*>*)masks compactResult:(BOOL)compactResult NS_SWIFT_NAME(knnMatch(queryDescriptors:matches:k:masks:compactResult:));
  293. /**
  294. *
  295. * @param queryDescriptors Query set of descriptors.
  296. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  297. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  298. * less than k possible matches in total.
  299. * @param masks Set of masks. Each masks[i] specifies permissible matches between the input query
  300. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  301. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  302. * the matches vector does not contain matches for fully masked-out query descriptors.
  303. */
  304. - (void)knnMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k masks:(NSArray<Mat*>*)masks NS_SWIFT_NAME(knnMatch(queryDescriptors:matches:k:masks:));
  305. /**
  306. *
  307. * @param queryDescriptors Query set of descriptors.
  308. * @param matches Matches. Each matches[i] is k or less matches for the same query descriptor.
  309. * @param k Count of best matches found per each query descriptor or less if a query descriptor has
  310. * less than k possible matches in total.
  311. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  312. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  313. * the matches vector does not contain matches for fully masked-out query descriptors.
  314. */
  315. - (void)knnMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches k:(int)k NS_SWIFT_NAME(knnMatch(queryDescriptors:matches:k:));
  316. //
  317. // void cv::DescriptorMatcher::radiusMatch(Mat queryDescriptors, vector_vector_DMatch& matches, float maxDistance, vector_Mat masks = vector_Mat(), bool compactResult = false)
  318. //
  319. /**
  320. *
  321. * @param queryDescriptors Query set of descriptors.
  322. * @param matches Found matches.
  323. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  324. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  325. * in Pixels)!
  326. * @param masks Set of masks. Each masks[i] specifies permissible matches between the input query
  327. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  328. * @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is
  329. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  330. * the matches vector does not contain matches for fully masked-out query descriptors.
  331. */
  332. - (void)radiusMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance masks:(NSArray<Mat*>*)masks compactResult:(BOOL)compactResult NS_SWIFT_NAME(radiusMatch(queryDescriptors:matches:maxDistance:masks:compactResult:));
  333. /**
  334. *
  335. * @param queryDescriptors Query set of descriptors.
  336. * @param matches Found matches.
  337. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  338. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  339. * in Pixels)!
  340. * @param masks Set of masks. Each masks[i] specifies permissible matches between the input query
  341. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  342. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  343. * the matches vector does not contain matches for fully masked-out query descriptors.
  344. */
  345. - (void)radiusMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance masks:(NSArray<Mat*>*)masks NS_SWIFT_NAME(radiusMatch(queryDescriptors:matches:maxDistance:masks:));
  346. /**
  347. *
  348. * @param queryDescriptors Query set of descriptors.
  349. * @param matches Found matches.
  350. * @param maxDistance Threshold for the distance between matched descriptors. Distance means here
  351. * metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured
  352. * in Pixels)!
  353. * descriptors and stored train descriptors from the i-th image trainDescCollection[i].
  354. * false, the matches vector has the same size as queryDescriptors rows. If compactResult is true,
  355. * the matches vector does not contain matches for fully masked-out query descriptors.
  356. */
  357. - (void)radiusMatch:(Mat*)queryDescriptors matches:(NSMutableArray<NSMutableArray<DMatch*>*>*)matches maxDistance:(float)maxDistance NS_SWIFT_NAME(radiusMatch(queryDescriptors:matches:maxDistance:));
  358. //
  359. // void cv::DescriptorMatcher::write(String fileName)
  360. //
  361. - (void)write:(NSString*)fileName NS_SWIFT_NAME(write(fileName:));
  362. //
  363. // void cv::DescriptorMatcher::read(String fileName)
  364. //
  365. - (void)read:(NSString*)fileName NS_SWIFT_NAME(read(fileName:));
  366. //
  367. // void cv::DescriptorMatcher::read(FileNode arg1)
  368. //
  369. // Unknown type 'FileNode' (I), skipping the function
  370. //
  371. // Ptr_DescriptorMatcher cv::DescriptorMatcher::clone(bool emptyTrainData = false)
  372. //
  373. /**
  374. * Clones the matcher.
  375. *
  376. * @param emptyTrainData If emptyTrainData is false, the method creates a deep copy of the object,
  377. * that is, copies both parameters and train data. If emptyTrainData is true, the method creates an
  378. * object copy with the current parameters but with empty train data.
  379. */
  380. - (DescriptorMatcher*)clone:(BOOL)emptyTrainData NS_SWIFT_NAME(clone(emptyTrainData:));
  381. /**
  382. * Clones the matcher.
  383. *
  384. * that is, copies both parameters and train data. If emptyTrainData is true, the method creates an
  385. * object copy with the current parameters but with empty train data.
  386. */
  387. - (DescriptorMatcher*)clone NS_SWIFT_NAME(clone());
  388. //
  389. // static Ptr_DescriptorMatcher cv::DescriptorMatcher::create(String descriptorMatcherType)
  390. //
  391. /**
  392. * Creates a descriptor matcher of a given type with the default parameters (using default
  393. * constructor).
  394. *
  395. * @param descriptorMatcherType Descriptor matcher type. Now the following matcher types are
  396. * supported:
  397. * - `BruteForce` (it uses L2 )
  398. * - `BruteForce-L1`
  399. * - `BruteForce-Hamming`
  400. * - `BruteForce-Hamming(2)`
  401. * - `FlannBased`
  402. */
  403. + (DescriptorMatcher*)create2:(NSString*)descriptorMatcherType NS_SWIFT_NAME(create(descriptorMatcherType:));
  404. //
  405. // static Ptr_DescriptorMatcher cv::DescriptorMatcher::create(DescriptorMatcher_MatcherType matcherType)
  406. //
  407. + (DescriptorMatcher*)create:(MatcherType)matcherType NS_SWIFT_NAME(create(matcherType:));
  408. //
  409. // void cv::DescriptorMatcher::write(Ptr_FileStorage fs, String name = String())
  410. //
  411. // Unknown type 'Ptr_FileStorage' (I), skipping the function
  412. @end
  413. NS_ASSUME_NONNULL_END