FREAK.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. {
  10. // C++: class FREAK
  11. //javadoc: FREAK
  12. public class FREAK : Feature2D
  13. {
  14. protected override void Dispose (bool disposing)
  15. {
  16. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  17. try {
  18. if (disposing) {
  19. }
  20. if (IsEnabledDispose) {
  21. if (nativeObj != IntPtr.Zero)
  22. xfeatures2d_FREAK_delete(nativeObj);
  23. nativeObj = IntPtr.Zero;
  24. }
  25. } finally {
  26. base.Dispose (disposing);
  27. }
  28. #else
  29. return;
  30. #endif
  31. }
  32. protected internal FREAK (IntPtr addr) : base (addr) { }
  33. // internal usage only
  34. public static new FREAK __fromPtr__ (IntPtr addr) { return new FREAK (addr); }
  35. //
  36. // C++: static Ptr_FREAK cv::xfeatures2d::FREAK::create(bool orientationNormalized = true, bool scaleNormalized = true, float patternScale = 22.0f, int nOctaves = 4, vector_int selectedPairs = std::vector<int>())
  37. //
  38. //javadoc: FREAK::create(orientationNormalized, scaleNormalized, patternScale, nOctaves, selectedPairs)
  39. public static FREAK create (bool orientationNormalized, bool scaleNormalized, float patternScale, int nOctaves, MatOfInt selectedPairs)
  40. {
  41. if (selectedPairs != null) selectedPairs.ThrowIfDisposed ();
  42. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  43. Mat selectedPairs_mat = selectedPairs;
  44. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_10(orientationNormalized, scaleNormalized, patternScale, nOctaves, selectedPairs_mat.nativeObj));
  45. return retVal;
  46. #else
  47. return null;
  48. #endif
  49. }
  50. //javadoc: FREAK::create(orientationNormalized, scaleNormalized, patternScale, nOctaves)
  51. public static FREAK create (bool orientationNormalized, bool scaleNormalized, float patternScale, int nOctaves)
  52. {
  53. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  54. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_11(orientationNormalized, scaleNormalized, patternScale, nOctaves));
  55. return retVal;
  56. #else
  57. return null;
  58. #endif
  59. }
  60. //javadoc: FREAK::create(orientationNormalized, scaleNormalized, patternScale)
  61. public static FREAK create (bool orientationNormalized, bool scaleNormalized, float patternScale)
  62. {
  63. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  64. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_12(orientationNormalized, scaleNormalized, patternScale));
  65. return retVal;
  66. #else
  67. return null;
  68. #endif
  69. }
  70. //javadoc: FREAK::create(orientationNormalized, scaleNormalized)
  71. public static FREAK create (bool orientationNormalized, bool scaleNormalized)
  72. {
  73. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  74. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_13(orientationNormalized, scaleNormalized));
  75. return retVal;
  76. #else
  77. return null;
  78. #endif
  79. }
  80. //javadoc: FREAK::create(orientationNormalized)
  81. public static FREAK create (bool orientationNormalized)
  82. {
  83. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  84. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_14(orientationNormalized));
  85. return retVal;
  86. #else
  87. return null;
  88. #endif
  89. }
  90. //javadoc: FREAK::create()
  91. public static FREAK create ()
  92. {
  93. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  94. FREAK retVal = FREAK.__fromPtr__(xfeatures2d_FREAK_create_15());
  95. return retVal;
  96. #else
  97. return null;
  98. #endif
  99. }
  100. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  101. const string LIBNAME = "__Internal";
  102. #else
  103. const string LIBNAME = "opencvforunity";
  104. #endif
  105. // C++: static Ptr_FREAK cv::xfeatures2d::FREAK::create(bool orientationNormalized = true, bool scaleNormalized = true, float patternScale = 22.0f, int nOctaves = 4, vector_int selectedPairs = std::vector<int>())
  106. [DllImport (LIBNAME)]
  107. private static extern IntPtr xfeatures2d_FREAK_create_10 (bool orientationNormalized, bool scaleNormalized, float patternScale, int nOctaves, IntPtr selectedPairs_mat_nativeObj);
  108. [DllImport (LIBNAME)]
  109. private static extern IntPtr xfeatures2d_FREAK_create_11 (bool orientationNormalized, bool scaleNormalized, float patternScale, int nOctaves);
  110. [DllImport (LIBNAME)]
  111. private static extern IntPtr xfeatures2d_FREAK_create_12 (bool orientationNormalized, bool scaleNormalized, float patternScale);
  112. [DllImport (LIBNAME)]
  113. private static extern IntPtr xfeatures2d_FREAK_create_13 (bool orientationNormalized, bool scaleNormalized);
  114. [DllImport (LIBNAME)]
  115. private static extern IntPtr xfeatures2d_FREAK_create_14 (bool orientationNormalized);
  116. [DllImport (LIBNAME)]
  117. private static extern IntPtr xfeatures2d_FREAK_create_15 ();
  118. // native support for java finalize()
  119. [DllImport (LIBNAME)]
  120. private static extern void xfeatures2d_FREAK_delete (IntPtr nativeObj);
  121. }
  122. }