PCTSignatures.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  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 "Algorithm.h"
  13. @class FloatVector;
  14. @class IntVector;
  15. @class Mat;
  16. @class Point2f;
  17. // C++: enum DistanceFunction (cv.xfeatures2d.PCTSignatures.DistanceFunction)
  18. typedef NS_ENUM(int, DistanceFunction) {
  19. PCTSignatures_L0_25 NS_SWIFT_NAME(L0_25) = 0,
  20. PCTSignatures_L0_5 NS_SWIFT_NAME(L0_5) = 1,
  21. PCTSignatures_L1 NS_SWIFT_NAME(L1) = 2,
  22. PCTSignatures_L2 NS_SWIFT_NAME(L2) = 3,
  23. PCTSignatures_L2SQUARED NS_SWIFT_NAME(L2SQUARED) = 4,
  24. PCTSignatures_L5 NS_SWIFT_NAME(L5) = 5,
  25. PCTSignatures_L_INFINITY NS_SWIFT_NAME(L_INFINITY) = 6
  26. };
  27. // C++: enum PointDistribution (cv.xfeatures2d.PCTSignatures.PointDistribution)
  28. typedef NS_ENUM(int, PointDistribution) {
  29. PCTSignatures_UNIFORM NS_SWIFT_NAME(UNIFORM) = 0,
  30. PCTSignatures_REGULAR NS_SWIFT_NAME(REGULAR) = 1,
  31. PCTSignatures_NORMAL NS_SWIFT_NAME(NORMAL) = 2
  32. };
  33. // C++: enum SimilarityFunction (cv.xfeatures2d.PCTSignatures.SimilarityFunction)
  34. typedef NS_ENUM(int, SimilarityFunction) {
  35. PCTSignatures_MINUS NS_SWIFT_NAME(MINUS) = 0,
  36. PCTSignatures_GAUSSIAN NS_SWIFT_NAME(GAUSSIAN) = 1,
  37. PCTSignatures_HEURISTIC NS_SWIFT_NAME(HEURISTIC) = 2
  38. };
  39. NS_ASSUME_NONNULL_BEGIN
  40. // C++: class PCTSignatures
  41. /**
  42. * Class implementing PCT (position-color-texture) signature extraction
  43. * as described in CITE: KrulisLS16.
  44. * The algorithm is divided to a feature sampler and a clusterizer.
  45. * Feature sampler produces samples at given set of coordinates.
  46. * Clusterizer then produces clusters of these samples using k-means algorithm.
  47. * Resulting set of clusters is the signature of the input image.
  48. *
  49. * A signature is an array of SIGNATURE_DIMENSION-dimensional points.
  50. * Used dimensions are:
  51. * weight, x, y position; lab color, contrast, entropy.
  52. * CITE: KrulisLS16
  53. * CITE: BeecksUS10
  54. *
  55. * Member of `Xfeatures2d`
  56. */
  57. CV_EXPORTS @interface PCTSignatures : Algorithm
  58. #ifdef __cplusplus
  59. @property(readonly)cv::Ptr<cv::xfeatures2d::PCTSignatures> nativePtrPCTSignatures;
  60. #endif
  61. #ifdef __cplusplus
  62. - (instancetype)initWithNativePtr:(cv::Ptr<cv::xfeatures2d::PCTSignatures>)nativePtr;
  63. + (instancetype)fromNative:(cv::Ptr<cv::xfeatures2d::PCTSignatures>)nativePtr;
  64. #endif
  65. #pragma mark - Methods
  66. //
  67. // static Ptr_PCTSignatures cv::xfeatures2d::PCTSignatures::create(int initSampleCount = 2000, int initSeedCount = 400, int pointDistribution = 0)
  68. //
  69. /**
  70. * Creates PCTSignatures algorithm using sample and seed count.
  71. * It generates its own sets of sampling points and clusterization seed indexes.
  72. * @param initSampleCount Number of points used for image sampling.
  73. * @param initSeedCount Number of initial clusterization seeds.
  74. * Must be lower or equal to initSampleCount
  75. * @param pointDistribution Distribution of generated points. Default: UNIFORM.
  76. * Available: UNIFORM, REGULAR, NORMAL.
  77. * @return Created algorithm.
  78. */
  79. + (PCTSignatures*)create:(int)initSampleCount initSeedCount:(int)initSeedCount pointDistribution:(int)pointDistribution NS_SWIFT_NAME(create(initSampleCount:initSeedCount:pointDistribution:));
  80. /**
  81. * Creates PCTSignatures algorithm using sample and seed count.
  82. * It generates its own sets of sampling points and clusterization seed indexes.
  83. * @param initSampleCount Number of points used for image sampling.
  84. * @param initSeedCount Number of initial clusterization seeds.
  85. * Must be lower or equal to initSampleCount
  86. * Available: UNIFORM, REGULAR, NORMAL.
  87. * @return Created algorithm.
  88. */
  89. + (PCTSignatures*)create:(int)initSampleCount initSeedCount:(int)initSeedCount NS_SWIFT_NAME(create(initSampleCount:initSeedCount:));
  90. /**
  91. * Creates PCTSignatures algorithm using sample and seed count.
  92. * It generates its own sets of sampling points and clusterization seed indexes.
  93. * @param initSampleCount Number of points used for image sampling.
  94. * Must be lower or equal to initSampleCount
  95. * Available: UNIFORM, REGULAR, NORMAL.
  96. * @return Created algorithm.
  97. */
  98. + (PCTSignatures*)create:(int)initSampleCount NS_SWIFT_NAME(create(initSampleCount:));
  99. /**
  100. * Creates PCTSignatures algorithm using sample and seed count.
  101. * It generates its own sets of sampling points and clusterization seed indexes.
  102. * Must be lower or equal to initSampleCount
  103. * Available: UNIFORM, REGULAR, NORMAL.
  104. * @return Created algorithm.
  105. */
  106. + (PCTSignatures*)create NS_SWIFT_NAME(create());
  107. //
  108. // static Ptr_PCTSignatures cv::xfeatures2d::PCTSignatures::create(vector_Point2f initSamplingPoints, int initSeedCount)
  109. //
  110. /**
  111. * Creates PCTSignatures algorithm using pre-generated sampling points
  112. * and number of clusterization seeds. It uses the provided
  113. * sampling points and generates its own clusterization seed indexes.
  114. * @param initSamplingPoints Sampling points used in image sampling.
  115. * @param initSeedCount Number of initial clusterization seeds.
  116. * Must be lower or equal to initSamplingPoints.size().
  117. * @return Created algorithm.
  118. */
  119. + (PCTSignatures*)create2:(NSArray<Point2f*>*)initSamplingPoints initSeedCount:(int)initSeedCount NS_SWIFT_NAME(create(initSamplingPoints:initSeedCount:));
  120. //
  121. // static Ptr_PCTSignatures cv::xfeatures2d::PCTSignatures::create(vector_Point2f initSamplingPoints, vector_int initClusterSeedIndexes)
  122. //
  123. /**
  124. * Creates PCTSignatures algorithm using pre-generated sampling points
  125. * and clusterization seeds indexes.
  126. * @param initSamplingPoints Sampling points used in image sampling.
  127. * @param initClusterSeedIndexes Indexes of initial clusterization seeds.
  128. * Its size must be lower or equal to initSamplingPoints.size().
  129. * @return Created algorithm.
  130. */
  131. + (PCTSignatures*)create:(NSArray<Point2f*>*)initSamplingPoints initClusterSeedIndexes:(IntVector*)initClusterSeedIndexes NS_SWIFT_NAME(create(initSamplingPoints:initClusterSeedIndexes:));
  132. //
  133. // void cv::xfeatures2d::PCTSignatures::computeSignature(Mat image, Mat& signature)
  134. //
  135. /**
  136. * Computes signature of given image.
  137. * @param image Input image of CV_8U type.
  138. * @param signature Output computed signature.
  139. */
  140. - (void)computeSignature:(Mat*)image signature:(Mat*)signature NS_SWIFT_NAME(computeSignature(image:signature:));
  141. //
  142. // void cv::xfeatures2d::PCTSignatures::computeSignatures(vector_Mat images, vector_Mat signatures)
  143. //
  144. /**
  145. * Computes signatures for multiple images in parallel.
  146. * @param images Vector of input images of CV_8U type.
  147. * @param signatures Vector of computed signatures.
  148. */
  149. - (void)computeSignatures:(NSArray<Mat*>*)images signatures:(NSArray<Mat*>*)signatures NS_SWIFT_NAME(computeSignatures(images:signatures:));
  150. //
  151. // static void cv::xfeatures2d::PCTSignatures::drawSignature(Mat source, Mat signature, Mat& result, float radiusToShorterSideRatio = 1.0 / 8, int borderThickness = 1)
  152. //
  153. /**
  154. * Draws signature in the source image and outputs the result.
  155. * Signatures are visualized as a circle
  156. * with radius based on signature weight
  157. * and color based on signature color.
  158. * Contrast and entropy are not visualized.
  159. * @param source Source image.
  160. * @param signature Image signature.
  161. * @param result Output result.
  162. * @param radiusToShorterSideRatio Determines maximal radius of signature in the output image.
  163. * @param borderThickness Border thickness of the visualized signature.
  164. */
  165. + (void)drawSignature:(Mat*)source signature:(Mat*)signature result:(Mat*)result radiusToShorterSideRatio:(float)radiusToShorterSideRatio borderThickness:(int)borderThickness NS_SWIFT_NAME(drawSignature(source:signature:result:radiusToShorterSideRatio:borderThickness:));
  166. /**
  167. * Draws signature in the source image and outputs the result.
  168. * Signatures are visualized as a circle
  169. * with radius based on signature weight
  170. * and color based on signature color.
  171. * Contrast and entropy are not visualized.
  172. * @param source Source image.
  173. * @param signature Image signature.
  174. * @param result Output result.
  175. * @param radiusToShorterSideRatio Determines maximal radius of signature in the output image.
  176. */
  177. + (void)drawSignature:(Mat*)source signature:(Mat*)signature result:(Mat*)result radiusToShorterSideRatio:(float)radiusToShorterSideRatio NS_SWIFT_NAME(drawSignature(source:signature:result:radiusToShorterSideRatio:));
  178. /**
  179. * Draws signature in the source image and outputs the result.
  180. * Signatures are visualized as a circle
  181. * with radius based on signature weight
  182. * and color based on signature color.
  183. * Contrast and entropy are not visualized.
  184. * @param source Source image.
  185. * @param signature Image signature.
  186. * @param result Output result.
  187. */
  188. + (void)drawSignature:(Mat*)source signature:(Mat*)signature result:(Mat*)result NS_SWIFT_NAME(drawSignature(source:signature:result:));
  189. //
  190. // static void cv::xfeatures2d::PCTSignatures::generateInitPoints(vector_Point2f initPoints, int count, int pointDistribution)
  191. //
  192. /**
  193. * Generates initial sampling points according to selected point distribution.
  194. * @param initPoints Output vector where the generated points will be saved.
  195. * @param count Number of points to generate.
  196. * @param pointDistribution Point distribution selector.
  197. * Available: UNIFORM, REGULAR, NORMAL.
  198. * NOTE: Generated coordinates are in range [0..1)
  199. */
  200. + (void)generateInitPoints:(NSArray<Point2f*>*)initPoints count:(int)count pointDistribution:(int)pointDistribution NS_SWIFT_NAME(generateInitPoints(initPoints:count:pointDistribution:));
  201. //
  202. // int cv::xfeatures2d::PCTSignatures::getSampleCount()
  203. //
  204. /**
  205. * Number of initial samples taken from the image.
  206. */
  207. - (int)getSampleCount NS_SWIFT_NAME(getSampleCount());
  208. //
  209. // int cv::xfeatures2d::PCTSignatures::getGrayscaleBits()
  210. //
  211. /**
  212. * Color resolution of the greyscale bitmap represented in allocated bits
  213. * (i.e., value 4 means that 16 shades of grey are used).
  214. * The greyscale bitmap is used for computing contrast and entropy values.
  215. */
  216. - (int)getGrayscaleBits NS_SWIFT_NAME(getGrayscaleBits());
  217. //
  218. // void cv::xfeatures2d::PCTSignatures::setGrayscaleBits(int grayscaleBits)
  219. //
  220. /**
  221. * Color resolution of the greyscale bitmap represented in allocated bits
  222. * (i.e., value 4 means that 16 shades of grey are used).
  223. * The greyscale bitmap is used for computing contrast and entropy values.
  224. */
  225. - (void)setGrayscaleBits:(int)grayscaleBits NS_SWIFT_NAME(setGrayscaleBits(grayscaleBits:));
  226. //
  227. // int cv::xfeatures2d::PCTSignatures::getWindowRadius()
  228. //
  229. /**
  230. * Size of the texture sampling window used to compute contrast and entropy
  231. * (center of the window is always in the pixel selected by x,y coordinates
  232. * of the corresponding feature sample).
  233. */
  234. - (int)getWindowRadius NS_SWIFT_NAME(getWindowRadius());
  235. //
  236. // void cv::xfeatures2d::PCTSignatures::setWindowRadius(int radius)
  237. //
  238. /**
  239. * Size of the texture sampling window used to compute contrast and entropy
  240. * (center of the window is always in the pixel selected by x,y coordinates
  241. * of the corresponding feature sample).
  242. */
  243. - (void)setWindowRadius:(int)radius NS_SWIFT_NAME(setWindowRadius(radius:));
  244. //
  245. // float cv::xfeatures2d::PCTSignatures::getWeightX()
  246. //
  247. /**
  248. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  249. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  250. */
  251. - (float)getWeightX NS_SWIFT_NAME(getWeightX());
  252. //
  253. // void cv::xfeatures2d::PCTSignatures::setWeightX(float weight)
  254. //
  255. /**
  256. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  257. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  258. */
  259. - (void)setWeightX:(float)weight NS_SWIFT_NAME(setWeightX(weight:));
  260. //
  261. // float cv::xfeatures2d::PCTSignatures::getWeightY()
  262. //
  263. /**
  264. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  265. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  266. */
  267. - (float)getWeightY NS_SWIFT_NAME(getWeightY());
  268. //
  269. // void cv::xfeatures2d::PCTSignatures::setWeightY(float weight)
  270. //
  271. /**
  272. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  273. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  274. */
  275. - (void)setWeightY:(float)weight NS_SWIFT_NAME(setWeightY(weight:));
  276. //
  277. // float cv::xfeatures2d::PCTSignatures::getWeightL()
  278. //
  279. /**
  280. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  281. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  282. */
  283. - (float)getWeightL NS_SWIFT_NAME(getWeightL());
  284. //
  285. // void cv::xfeatures2d::PCTSignatures::setWeightL(float weight)
  286. //
  287. /**
  288. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  289. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  290. */
  291. - (void)setWeightL:(float)weight NS_SWIFT_NAME(setWeightL(weight:));
  292. //
  293. // float cv::xfeatures2d::PCTSignatures::getWeightA()
  294. //
  295. /**
  296. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  297. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  298. */
  299. - (float)getWeightA NS_SWIFT_NAME(getWeightA());
  300. //
  301. // void cv::xfeatures2d::PCTSignatures::setWeightA(float weight)
  302. //
  303. /**
  304. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  305. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  306. */
  307. - (void)setWeightA:(float)weight NS_SWIFT_NAME(setWeightA(weight:));
  308. //
  309. // float cv::xfeatures2d::PCTSignatures::getWeightB()
  310. //
  311. /**
  312. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  313. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  314. */
  315. - (float)getWeightB NS_SWIFT_NAME(getWeightB());
  316. //
  317. // void cv::xfeatures2d::PCTSignatures::setWeightB(float weight)
  318. //
  319. /**
  320. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  321. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  322. */
  323. - (void)setWeightB:(float)weight NS_SWIFT_NAME(setWeightB(weight:));
  324. //
  325. // float cv::xfeatures2d::PCTSignatures::getWeightContrast()
  326. //
  327. /**
  328. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  329. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  330. */
  331. - (float)getWeightContrast NS_SWIFT_NAME(getWeightContrast());
  332. //
  333. // void cv::xfeatures2d::PCTSignatures::setWeightContrast(float weight)
  334. //
  335. /**
  336. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  337. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  338. */
  339. - (void)setWeightContrast:(float)weight NS_SWIFT_NAME(setWeightContrast(weight:));
  340. //
  341. // float cv::xfeatures2d::PCTSignatures::getWeightEntropy()
  342. //
  343. /**
  344. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  345. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  346. */
  347. - (float)getWeightEntropy NS_SWIFT_NAME(getWeightEntropy());
  348. //
  349. // void cv::xfeatures2d::PCTSignatures::setWeightEntropy(float weight)
  350. //
  351. /**
  352. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space
  353. * (x,y = position; L,a,b = color in CIE Lab space; c = contrast. e = entropy)
  354. */
  355. - (void)setWeightEntropy:(float)weight NS_SWIFT_NAME(setWeightEntropy(weight:));
  356. //
  357. // vector_Point2f cv::xfeatures2d::PCTSignatures::getSamplingPoints()
  358. //
  359. /**
  360. * Initial samples taken from the image.
  361. * These sampled features become the input for clustering.
  362. */
  363. - (NSArray<Point2f*>*)getSamplingPoints NS_SWIFT_NAME(getSamplingPoints());
  364. //
  365. // void cv::xfeatures2d::PCTSignatures::setWeight(int idx, float value)
  366. //
  367. /**
  368. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space.
  369. * @param idx ID of the weight
  370. * @param value Value of the weight
  371. * NOTE:
  372. * WEIGHT_IDX = 0;
  373. * X_IDX = 1;
  374. * Y_IDX = 2;
  375. * L_IDX = 3;
  376. * A_IDX = 4;
  377. * B_IDX = 5;
  378. * CONTRAST_IDX = 6;
  379. * ENTROPY_IDX = 7;
  380. */
  381. - (void)setWeight:(int)idx value:(float)value NS_SWIFT_NAME(setWeight(idx:value:));
  382. //
  383. // void cv::xfeatures2d::PCTSignatures::setWeights(vector_float weights)
  384. //
  385. /**
  386. * Weights (multiplicative constants) that linearly stretch individual axes of the feature space.
  387. * @param weights Values of all weights.
  388. * NOTE:
  389. * WEIGHT_IDX = 0;
  390. * X_IDX = 1;
  391. * Y_IDX = 2;
  392. * L_IDX = 3;
  393. * A_IDX = 4;
  394. * B_IDX = 5;
  395. * CONTRAST_IDX = 6;
  396. * ENTROPY_IDX = 7;
  397. */
  398. - (void)setWeights:(FloatVector*)weights NS_SWIFT_NAME(setWeights(weights:));
  399. //
  400. // void cv::xfeatures2d::PCTSignatures::setTranslation(int idx, float value)
  401. //
  402. /**
  403. * Translations of the individual axes of the feature space.
  404. * @param idx ID of the translation
  405. * @param value Value of the translation
  406. * NOTE:
  407. * WEIGHT_IDX = 0;
  408. * X_IDX = 1;
  409. * Y_IDX = 2;
  410. * L_IDX = 3;
  411. * A_IDX = 4;
  412. * B_IDX = 5;
  413. * CONTRAST_IDX = 6;
  414. * ENTROPY_IDX = 7;
  415. */
  416. - (void)setTranslation:(int)idx value:(float)value NS_SWIFT_NAME(setTranslation(idx:value:));
  417. //
  418. // void cv::xfeatures2d::PCTSignatures::setTranslations(vector_float translations)
  419. //
  420. /**
  421. * Translations of the individual axes of the feature space.
  422. * @param translations Values of all translations.
  423. * NOTE:
  424. * WEIGHT_IDX = 0;
  425. * X_IDX = 1;
  426. * Y_IDX = 2;
  427. * L_IDX = 3;
  428. * A_IDX = 4;
  429. * B_IDX = 5;
  430. * CONTRAST_IDX = 6;
  431. * ENTROPY_IDX = 7;
  432. */
  433. - (void)setTranslations:(FloatVector*)translations NS_SWIFT_NAME(setTranslations(translations:));
  434. //
  435. // void cv::xfeatures2d::PCTSignatures::setSamplingPoints(vector_Point2f samplingPoints)
  436. //
  437. /**
  438. * Sets sampling points used to sample the input image.
  439. * @param samplingPoints Vector of sampling points in range [0..1)
  440. * NOTE: Number of sampling points must be greater or equal to clusterization seed count.
  441. */
  442. - (void)setSamplingPoints:(NSArray<Point2f*>*)samplingPoints NS_SWIFT_NAME(setSamplingPoints(samplingPoints:));
  443. //
  444. // vector_int cv::xfeatures2d::PCTSignatures::getInitSeedIndexes()
  445. //
  446. /**
  447. * Initial seeds (initial number of clusters) for the k-means algorithm.
  448. */
  449. - (IntVector*)getInitSeedIndexes NS_SWIFT_NAME(getInitSeedIndexes());
  450. //
  451. // void cv::xfeatures2d::PCTSignatures::setInitSeedIndexes(vector_int initSeedIndexes)
  452. //
  453. /**
  454. * Initial seed indexes for the k-means algorithm.
  455. */
  456. - (void)setInitSeedIndexes:(IntVector*)initSeedIndexes NS_SWIFT_NAME(setInitSeedIndexes(initSeedIndexes:));
  457. //
  458. // int cv::xfeatures2d::PCTSignatures::getInitSeedCount()
  459. //
  460. /**
  461. * Number of initial seeds (initial number of clusters) for the k-means algorithm.
  462. */
  463. - (int)getInitSeedCount NS_SWIFT_NAME(getInitSeedCount());
  464. //
  465. // int cv::xfeatures2d::PCTSignatures::getIterationCount()
  466. //
  467. /**
  468. * Number of iterations of the k-means clustering.
  469. * We use fixed number of iterations, since the modified clustering is pruning clusters
  470. * (not iteratively refining k clusters).
  471. */
  472. - (int)getIterationCount NS_SWIFT_NAME(getIterationCount());
  473. //
  474. // void cv::xfeatures2d::PCTSignatures::setIterationCount(int iterationCount)
  475. //
  476. /**
  477. * Number of iterations of the k-means clustering.
  478. * We use fixed number of iterations, since the modified clustering is pruning clusters
  479. * (not iteratively refining k clusters).
  480. */
  481. - (void)setIterationCount:(int)iterationCount NS_SWIFT_NAME(setIterationCount(iterationCount:));
  482. //
  483. // int cv::xfeatures2d::PCTSignatures::getMaxClustersCount()
  484. //
  485. /**
  486. * Maximal number of generated clusters. If the number is exceeded,
  487. * the clusters are sorted by their weights and the smallest clusters are cropped.
  488. */
  489. - (int)getMaxClustersCount NS_SWIFT_NAME(getMaxClustersCount());
  490. //
  491. // void cv::xfeatures2d::PCTSignatures::setMaxClustersCount(int maxClustersCount)
  492. //
  493. /**
  494. * Maximal number of generated clusters. If the number is exceeded,
  495. * the clusters are sorted by their weights and the smallest clusters are cropped.
  496. */
  497. - (void)setMaxClustersCount:(int)maxClustersCount NS_SWIFT_NAME(setMaxClustersCount(maxClustersCount:));
  498. //
  499. // int cv::xfeatures2d::PCTSignatures::getClusterMinSize()
  500. //
  501. /**
  502. * This parameter multiplied by the index of iteration gives lower limit for cluster size.
  503. * Clusters containing fewer points than specified by the limit have their centroid dismissed
  504. * and points are reassigned.
  505. */
  506. - (int)getClusterMinSize NS_SWIFT_NAME(getClusterMinSize());
  507. //
  508. // void cv::xfeatures2d::PCTSignatures::setClusterMinSize(int clusterMinSize)
  509. //
  510. /**
  511. * This parameter multiplied by the index of iteration gives lower limit for cluster size.
  512. * Clusters containing fewer points than specified by the limit have their centroid dismissed
  513. * and points are reassigned.
  514. */
  515. - (void)setClusterMinSize:(int)clusterMinSize NS_SWIFT_NAME(setClusterMinSize(clusterMinSize:));
  516. //
  517. // float cv::xfeatures2d::PCTSignatures::getJoiningDistance()
  518. //
  519. /**
  520. * Threshold euclidean distance between two centroids.
  521. * If two cluster centers are closer than this distance,
  522. * one of the centroid is dismissed and points are reassigned.
  523. */
  524. - (float)getJoiningDistance NS_SWIFT_NAME(getJoiningDistance());
  525. //
  526. // void cv::xfeatures2d::PCTSignatures::setJoiningDistance(float joiningDistance)
  527. //
  528. /**
  529. * Threshold euclidean distance between two centroids.
  530. * If two cluster centers are closer than this distance,
  531. * one of the centroid is dismissed and points are reassigned.
  532. */
  533. - (void)setJoiningDistance:(float)joiningDistance NS_SWIFT_NAME(setJoiningDistance(joiningDistance:));
  534. //
  535. // float cv::xfeatures2d::PCTSignatures::getDropThreshold()
  536. //
  537. /**
  538. * Remove centroids in k-means whose weight is lesser or equal to given threshold.
  539. */
  540. - (float)getDropThreshold NS_SWIFT_NAME(getDropThreshold());
  541. //
  542. // void cv::xfeatures2d::PCTSignatures::setDropThreshold(float dropThreshold)
  543. //
  544. /**
  545. * Remove centroids in k-means whose weight is lesser or equal to given threshold.
  546. */
  547. - (void)setDropThreshold:(float)dropThreshold NS_SWIFT_NAME(setDropThreshold(dropThreshold:));
  548. //
  549. // int cv::xfeatures2d::PCTSignatures::getDistanceFunction()
  550. //
  551. /**
  552. * Distance function selector used for measuring distance between two points in k-means.
  553. */
  554. - (int)getDistanceFunction NS_SWIFT_NAME(getDistanceFunction());
  555. //
  556. // void cv::xfeatures2d::PCTSignatures::setDistanceFunction(int distanceFunction)
  557. //
  558. /**
  559. * Distance function selector used for measuring distance between two points in k-means.
  560. * Available: L0_25, L0_5, L1, L2, L2SQUARED, L5, L_INFINITY.
  561. */
  562. - (void)setDistanceFunction:(int)distanceFunction NS_SWIFT_NAME(setDistanceFunction(distanceFunction:));
  563. @end
  564. NS_ASSUME_NONNULL_END