KAZE.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. 
  2. using OpenCVForUnity.CoreModule;
  3. using OpenCVForUnity.UtilsModule;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Runtime.InteropServices;
  7. namespace OpenCVForUnity.Features2dModule
  8. {
  9. // C++: class KAZE
  10. //javadoc: KAZE
  11. public class KAZE : Feature2D
  12. {
  13. protected override void Dispose (bool disposing)
  14. {
  15. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  16. try {
  17. if (disposing) {
  18. }
  19. if (IsEnabledDispose) {
  20. if (nativeObj != IntPtr.Zero)
  21. features2d_KAZE_delete (nativeObj);
  22. nativeObj = IntPtr.Zero;
  23. }
  24. } finally {
  25. base.Dispose (disposing);
  26. }
  27. #else
  28. return;
  29. #endif
  30. }
  31. protected internal KAZE (IntPtr addr)
  32. : base (addr)
  33. {
  34. }
  35. // internal usage only
  36. public static new KAZE __fromPtr__ (IntPtr addr)
  37. {
  38. return new KAZE (addr);
  39. }
  40. // C++: enum DiffusivityType
  41. public const int DIFF_PM_G1 = 0;
  42. public const int DIFF_PM_G2 = 1;
  43. public const int DIFF_WEICKERT = 2;
  44. public const int DIFF_CHARBONNIER = 3;
  45. //
  46. // C++: KAZE_DiffusivityType cv::KAZE::getDiffusivity()
  47. //
  48. //javadoc: KAZE::getDiffusivity()
  49. public int getDiffusivity ()
  50. {
  51. ThrowIfDisposed ();
  52. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  53. int retVal = features2d_KAZE_getDiffusivity_10 (nativeObj);
  54. return retVal;
  55. #else
  56. return -1;
  57. #endif
  58. }
  59. //
  60. // C++: static Ptr_KAZE cv::KAZE::create(bool extended = false, bool upright = false, float threshold = 0.001f, int nOctaves = 4, int nOctaveLayers = 4, KAZE_DiffusivityType diffusivity = KAZE::DIFF_PM_G2)
  61. //
  62. //javadoc: KAZE::create(extended, upright, threshold, nOctaves, nOctaveLayers, diffusivity)
  63. public static KAZE create (bool extended, bool upright, float threshold, int nOctaves, int nOctaveLayers, int diffusivity)
  64. {
  65. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  66. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_10 (extended, upright, threshold, nOctaves, nOctaveLayers, diffusivity));
  67. return retVal;
  68. #else
  69. return null;
  70. #endif
  71. }
  72. //javadoc: KAZE::create(extended, upright, threshold, nOctaves, nOctaveLayers)
  73. public static KAZE create (bool extended, bool upright, float threshold, int nOctaves, int nOctaveLayers)
  74. {
  75. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  76. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_11 (extended, upright, threshold, nOctaves, nOctaveLayers));
  77. return retVal;
  78. #else
  79. return null;
  80. #endif
  81. }
  82. //javadoc: KAZE::create(extended, upright, threshold, nOctaves)
  83. public static KAZE create (bool extended, bool upright, float threshold, int nOctaves)
  84. {
  85. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  86. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_12 (extended, upright, threshold, nOctaves));
  87. return retVal;
  88. #else
  89. return null;
  90. #endif
  91. }
  92. //javadoc: KAZE::create(extended, upright, threshold)
  93. public static KAZE create (bool extended, bool upright, float threshold)
  94. {
  95. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  96. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_13 (extended, upright, threshold));
  97. return retVal;
  98. #else
  99. return null;
  100. #endif
  101. }
  102. //javadoc: KAZE::create(extended, upright)
  103. public static KAZE create (bool extended, bool upright)
  104. {
  105. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  106. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_14 (extended, upright));
  107. return retVal;
  108. #else
  109. return null;
  110. #endif
  111. }
  112. //javadoc: KAZE::create(extended)
  113. public static KAZE create (bool extended)
  114. {
  115. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  116. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_15 (extended));
  117. return retVal;
  118. #else
  119. return null;
  120. #endif
  121. }
  122. //javadoc: KAZE::create()
  123. public static KAZE create ()
  124. {
  125. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  126. KAZE retVal = KAZE.__fromPtr__ (features2d_KAZE_create_16 ());
  127. return retVal;
  128. #else
  129. return null;
  130. #endif
  131. }
  132. //
  133. // C++: String cv::KAZE::getDefaultName()
  134. //
  135. //javadoc: KAZE::getDefaultName()
  136. public override string getDefaultName ()
  137. {
  138. ThrowIfDisposed ();
  139. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  140. string retVal = Marshal.PtrToStringAnsi (features2d_KAZE_getDefaultName_10 (nativeObj));
  141. return retVal;
  142. #else
  143. return null;
  144. #endif
  145. }
  146. //
  147. // C++: bool cv::KAZE::getExtended()
  148. //
  149. //javadoc: KAZE::getExtended()
  150. public bool getExtended ()
  151. {
  152. ThrowIfDisposed ();
  153. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  154. bool retVal = features2d_KAZE_getExtended_10 (nativeObj);
  155. return retVal;
  156. #else
  157. return false;
  158. #endif
  159. }
  160. //
  161. // C++: bool cv::KAZE::getUpright()
  162. //
  163. //javadoc: KAZE::getUpright()
  164. public bool getUpright ()
  165. {
  166. ThrowIfDisposed ();
  167. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  168. bool retVal = features2d_KAZE_getUpright_10 (nativeObj);
  169. return retVal;
  170. #else
  171. return false;
  172. #endif
  173. }
  174. //
  175. // C++: double cv::KAZE::getThreshold()
  176. //
  177. //javadoc: KAZE::getThreshold()
  178. public double getThreshold ()
  179. {
  180. ThrowIfDisposed ();
  181. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  182. double retVal = features2d_KAZE_getThreshold_10 (nativeObj);
  183. return retVal;
  184. #else
  185. return -1;
  186. #endif
  187. }
  188. //
  189. // C++: int cv::KAZE::getNOctaveLayers()
  190. //
  191. //javadoc: KAZE::getNOctaveLayers()
  192. public int getNOctaveLayers ()
  193. {
  194. ThrowIfDisposed ();
  195. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  196. int retVal = features2d_KAZE_getNOctaveLayers_10 (nativeObj);
  197. return retVal;
  198. #else
  199. return -1;
  200. #endif
  201. }
  202. //
  203. // C++: int cv::KAZE::getNOctaves()
  204. //
  205. //javadoc: KAZE::getNOctaves()
  206. public int getNOctaves ()
  207. {
  208. ThrowIfDisposed ();
  209. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  210. int retVal = features2d_KAZE_getNOctaves_10 (nativeObj);
  211. return retVal;
  212. #else
  213. return -1;
  214. #endif
  215. }
  216. //
  217. // C++: void cv::KAZE::setDiffusivity(KAZE_DiffusivityType diff)
  218. //
  219. //javadoc: KAZE::setDiffusivity(diff)
  220. public void setDiffusivity (int diff)
  221. {
  222. ThrowIfDisposed ();
  223. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  224. features2d_KAZE_setDiffusivity_10 (nativeObj, diff);
  225. return;
  226. #else
  227. return;
  228. #endif
  229. }
  230. //
  231. // C++: void cv::KAZE::setExtended(bool extended)
  232. //
  233. //javadoc: KAZE::setExtended(extended)
  234. public void setExtended (bool extended)
  235. {
  236. ThrowIfDisposed ();
  237. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  238. features2d_KAZE_setExtended_10 (nativeObj, extended);
  239. return;
  240. #else
  241. return;
  242. #endif
  243. }
  244. //
  245. // C++: void cv::KAZE::setNOctaveLayers(int octaveLayers)
  246. //
  247. //javadoc: KAZE::setNOctaveLayers(octaveLayers)
  248. public void setNOctaveLayers (int octaveLayers)
  249. {
  250. ThrowIfDisposed ();
  251. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  252. features2d_KAZE_setNOctaveLayers_10 (nativeObj, octaveLayers);
  253. return;
  254. #else
  255. return;
  256. #endif
  257. }
  258. //
  259. // C++: void cv::KAZE::setNOctaves(int octaves)
  260. //
  261. //javadoc: KAZE::setNOctaves(octaves)
  262. public void setNOctaves (int octaves)
  263. {
  264. ThrowIfDisposed ();
  265. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  266. features2d_KAZE_setNOctaves_10 (nativeObj, octaves);
  267. return;
  268. #else
  269. return;
  270. #endif
  271. }
  272. //
  273. // C++: void cv::KAZE::setThreshold(double threshold)
  274. //
  275. //javadoc: KAZE::setThreshold(threshold)
  276. public void setThreshold (double threshold)
  277. {
  278. ThrowIfDisposed ();
  279. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  280. features2d_KAZE_setThreshold_10 (nativeObj, threshold);
  281. return;
  282. #else
  283. return;
  284. #endif
  285. }
  286. //
  287. // C++: void cv::KAZE::setUpright(bool upright)
  288. //
  289. //javadoc: KAZE::setUpright(upright)
  290. public void setUpright (bool upright)
  291. {
  292. ThrowIfDisposed ();
  293. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  294. features2d_KAZE_setUpright_10 (nativeObj, upright);
  295. return;
  296. #else
  297. return;
  298. #endif
  299. }
  300. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  301. const string LIBNAME = "__Internal";
  302. #else
  303. const string LIBNAME = "opencvforunity";
  304. #endif
  305. // C++: KAZE_DiffusivityType cv::KAZE::getDiffusivity()
  306. [DllImport (LIBNAME)]
  307. private static extern int features2d_KAZE_getDiffusivity_10 (IntPtr nativeObj);
  308. // C++: static Ptr_KAZE cv::KAZE::create(bool extended = false, bool upright = false, float threshold = 0.001f, int nOctaves = 4, int nOctaveLayers = 4, KAZE_DiffusivityType diffusivity = KAZE::DIFF_PM_G2)
  309. [DllImport (LIBNAME)]
  310. private static extern IntPtr features2d_KAZE_create_10 (bool extended, bool upright, float threshold, int nOctaves, int nOctaveLayers, int diffusivity);
  311. [DllImport (LIBNAME)]
  312. private static extern IntPtr features2d_KAZE_create_11 (bool extended, bool upright, float threshold, int nOctaves, int nOctaveLayers);
  313. [DllImport (LIBNAME)]
  314. private static extern IntPtr features2d_KAZE_create_12 (bool extended, bool upright, float threshold, int nOctaves);
  315. [DllImport (LIBNAME)]
  316. private static extern IntPtr features2d_KAZE_create_13 (bool extended, bool upright, float threshold);
  317. [DllImport (LIBNAME)]
  318. private static extern IntPtr features2d_KAZE_create_14 (bool extended, bool upright);
  319. [DllImport (LIBNAME)]
  320. private static extern IntPtr features2d_KAZE_create_15 (bool extended);
  321. [DllImport (LIBNAME)]
  322. private static extern IntPtr features2d_KAZE_create_16 ();
  323. // C++: String cv::KAZE::getDefaultName()
  324. [DllImport (LIBNAME)]
  325. private static extern IntPtr features2d_KAZE_getDefaultName_10 (IntPtr nativeObj);
  326. // C++: bool cv::KAZE::getExtended()
  327. [DllImport (LIBNAME)]
  328. private static extern bool features2d_KAZE_getExtended_10 (IntPtr nativeObj);
  329. // C++: bool cv::KAZE::getUpright()
  330. [DllImport (LIBNAME)]
  331. private static extern bool features2d_KAZE_getUpright_10 (IntPtr nativeObj);
  332. // C++: double cv::KAZE::getThreshold()
  333. [DllImport (LIBNAME)]
  334. private static extern double features2d_KAZE_getThreshold_10 (IntPtr nativeObj);
  335. // C++: int cv::KAZE::getNOctaveLayers()
  336. [DllImport (LIBNAME)]
  337. private static extern int features2d_KAZE_getNOctaveLayers_10 (IntPtr nativeObj);
  338. // C++: int cv::KAZE::getNOctaves()
  339. [DllImport (LIBNAME)]
  340. private static extern int features2d_KAZE_getNOctaves_10 (IntPtr nativeObj);
  341. // C++: void cv::KAZE::setDiffusivity(KAZE_DiffusivityType diff)
  342. [DllImport (LIBNAME)]
  343. private static extern void features2d_KAZE_setDiffusivity_10 (IntPtr nativeObj, int diff);
  344. // C++: void cv::KAZE::setExtended(bool extended)
  345. [DllImport (LIBNAME)]
  346. private static extern void features2d_KAZE_setExtended_10 (IntPtr nativeObj, bool extended);
  347. // C++: void cv::KAZE::setNOctaveLayers(int octaveLayers)
  348. [DllImport (LIBNAME)]
  349. private static extern void features2d_KAZE_setNOctaveLayers_10 (IntPtr nativeObj, int octaveLayers);
  350. // C++: void cv::KAZE::setNOctaves(int octaves)
  351. [DllImport (LIBNAME)]
  352. private static extern void features2d_KAZE_setNOctaves_10 (IntPtr nativeObj, int octaves);
  353. // C++: void cv::KAZE::setThreshold(double threshold)
  354. [DllImport (LIBNAME)]
  355. private static extern void features2d_KAZE_setThreshold_10 (IntPtr nativeObj, double threshold);
  356. // C++: void cv::KAZE::setUpright(bool upright)
  357. [DllImport (LIBNAME)]
  358. private static extern void features2d_KAZE_setUpright_10 (IntPtr nativeObj, bool upright);
  359. // native support for java finalize()
  360. [DllImport (LIBNAME)]
  361. private static extern void features2d_KAZE_delete (IntPtr nativeObj);
  362. }
  363. }