DAISY.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. 
  2. using OpenCVForUnity.CoreModule;
  3. using OpenCVForUnity.Features2dModule;
  4. using OpenCVForUnity.UtilsModule;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Runtime.InteropServices;
  8. namespace OpenCVForUnity.Xfeatures2dModule {
  9. // C++: class DAISY
  10. //javadoc: DAISY
  11. public class DAISY : Feature2D {
  12. protected override void Dispose(bool disposing) {
  13. #if (UNITY_ANDROID && !UNITY_EDITOR)
  14. try {
  15. if (disposing) {
  16. }
  17. if (IsEnabledDispose) {
  18. if (nativeObj != IntPtr.Zero)
  19. xfeatures2d_DAISY_delete(nativeObj);
  20. nativeObj = IntPtr.Zero;
  21. }
  22. } finally {
  23. base.Dispose(disposing);
  24. }
  25. #else
  26. return;
  27. #endif
  28. }
  29. protected internal DAISY(IntPtr addr) : base(addr) { }
  30. // internal usage only
  31. public static new DAISY __fromPtr__(IntPtr addr) { return new DAISY(addr); }
  32. // C++: enum NormalizationType
  33. public const int NRM_NONE = 100;
  34. public const int NRM_PARTIAL = 101;
  35. public const int NRM_FULL = 102;
  36. public const int NRM_SIFT = 103;
  37. //
  38. // C++: static Ptr_DAISY cv::xfeatures2d::DAISY::create(float radius = 15, int q_radius = 3, int q_theta = 8, int q_hist = 8, DAISY_NormalizationType norm = DAISY::NRM_NONE, Mat H = Mat(), bool interpolation = true, bool use_orientation = false)
  39. //
  40. //javadoc: DAISY::create(radius, q_radius, q_theta, q_hist, H, interpolation, use_orientation)
  41. public static DAISY create(float radius, int q_radius, int q_theta, int q_hist, Mat H, bool interpolation, bool use_orientation) {
  42. if (H != null) H.ThrowIfDisposed();
  43. #if (UNITY_ANDROID && !UNITY_EDITOR)
  44. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_10(radius, q_radius, q_theta, q_hist, H.nativeObj, interpolation, use_orientation));
  45. return retVal;
  46. #else
  47. return null;
  48. #endif
  49. }
  50. //javadoc: DAISY::create(radius, q_radius, q_theta, q_hist, H, interpolation)
  51. public static DAISY create(float radius, int q_radius, int q_theta, int q_hist, Mat H, bool interpolation) {
  52. if (H != null) H.ThrowIfDisposed();
  53. #if (UNITY_ANDROID && !UNITY_EDITOR)
  54. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_11(radius, q_radius, q_theta, q_hist, H.nativeObj, interpolation));
  55. return retVal;
  56. #else
  57. return null;
  58. #endif
  59. }
  60. //javadoc: DAISY::create(radius, q_radius, q_theta, q_hist, H)
  61. public static DAISY create(float radius, int q_radius, int q_theta, int q_hist, Mat H) {
  62. if (H != null) H.ThrowIfDisposed();
  63. #if (UNITY_ANDROID && !UNITY_EDITOR)
  64. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_12(radius, q_radius, q_theta, q_hist, H.nativeObj));
  65. return retVal;
  66. #else
  67. return null;
  68. #endif
  69. }
  70. //javadoc: DAISY::create(radius, q_radius, q_theta, q_hist)
  71. public static DAISY create(float radius, int q_radius, int q_theta, int q_hist) {
  72. #if (UNITY_ANDROID && !UNITY_EDITOR)
  73. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_13(radius, q_radius, q_theta, q_hist));
  74. return retVal;
  75. #else
  76. return null;
  77. #endif
  78. }
  79. //javadoc: DAISY::create(radius, q_radius, q_theta)
  80. public static DAISY create(float radius, int q_radius, int q_theta) {
  81. #if (UNITY_ANDROID && !UNITY_EDITOR)
  82. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_15(radius, q_radius, q_theta));
  83. return retVal;
  84. #else
  85. return null;
  86. #endif
  87. }
  88. //javadoc: DAISY::create(radius, q_radius)
  89. public static DAISY create(float radius, int q_radius) {
  90. #if (UNITY_ANDROID && !UNITY_EDITOR)
  91. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_16(radius, q_radius));
  92. return retVal;
  93. #else
  94. return null;
  95. #endif
  96. }
  97. //javadoc: DAISY::create(radius)
  98. public static DAISY create(float radius) {
  99. #if (UNITY_ANDROID && !UNITY_EDITOR)
  100. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_17(radius));
  101. return retVal;
  102. #else
  103. return null;
  104. #endif
  105. }
  106. //javadoc: DAISY::create()
  107. public static DAISY create() {
  108. #if (UNITY_ANDROID && !UNITY_EDITOR)
  109. DAISY retVal = DAISY.__fromPtr__(xfeatures2d_DAISY_create_18());
  110. return retVal;
  111. #else
  112. return null;
  113. #endif
  114. }
  115. #if (UNITY_ANDROID && !UNITY_EDITOR)
  116. const string LIBNAME = "opencvforunity";
  117. // C++: static Ptr_DAISY cv::xfeatures2d::DAISY::create(float radius = 15, int q_radius = 3, int q_theta = 8, int q_hist = 8, DAISY_NormalizationType norm = DAISY::NRM_NONE, Mat H = Mat(), bool interpolation = true, bool use_orientation = false)
  118. [DllImport(LIBNAME)]
  119. private static extern IntPtr xfeatures2d_DAISY_create_10(float radius, int q_radius, int q_theta, int q_hist, IntPtr H_nativeObj, bool interpolation, bool use_orientation);
  120. [DllImport(LIBNAME)]
  121. private static extern IntPtr xfeatures2d_DAISY_create_11(float radius, int q_radius, int q_theta, int q_hist, IntPtr H_nativeObj, bool interpolation);
  122. [DllImport(LIBNAME)]
  123. private static extern IntPtr xfeatures2d_DAISY_create_12(float radius, int q_radius, int q_theta, int q_hist, IntPtr H_nativeObj);
  124. [DllImport(LIBNAME)]
  125. private static extern IntPtr xfeatures2d_DAISY_create_13(float radius, int q_radius, int q_theta, int q_hist);
  126. [DllImport(LIBNAME)]
  127. private static extern IntPtr xfeatures2d_DAISY_create_15(float radius, int q_radius, int q_theta);
  128. [DllImport(LIBNAME)]
  129. private static extern IntPtr xfeatures2d_DAISY_create_16(float radius, int q_radius);
  130. [DllImport(LIBNAME)]
  131. private static extern IntPtr xfeatures2d_DAISY_create_17(float radius);
  132. [DllImport(LIBNAME)]
  133. private static extern IntPtr xfeatures2d_DAISY_create_18();
  134. // native support for java finalize()
  135. [DllImport(LIBNAME)]
  136. private static extern void xfeatures2d_DAISY_delete(IntPtr nativeObj);
  137. #endif
  138. }
  139. }