BackgroundSubtractorGSOC.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. 
  2. using OpenCVForUnity.CoreModule;
  3. using OpenCVForUnity.VideoModule;
  4. using OpenCVForUnity.UtilsModule;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Runtime.InteropServices;
  8. namespace OpenCVForUnity.BgsegmModule
  9. {
  10. // C++: class BackgroundSubtractorGSOC
  11. //javadoc: BackgroundSubtractorGSOC
  12. public class BackgroundSubtractorGSOC : BackgroundSubtractor
  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. bgsegm_BackgroundSubtractorGSOC_delete (nativeObj);
  23. nativeObj = IntPtr.Zero;
  24. }
  25. } finally {
  26. base.Dispose (disposing);
  27. }
  28. #else
  29. return;
  30. #endif
  31. }
  32. protected internal BackgroundSubtractorGSOC (IntPtr addr)
  33. : base (addr)
  34. {
  35. }
  36. // internal usage only
  37. public static new BackgroundSubtractorGSOC __fromPtr__ (IntPtr addr)
  38. {
  39. return new BackgroundSubtractorGSOC (addr);
  40. }
  41. //
  42. // C++: void cv::bgsegm::BackgroundSubtractorGSOC::apply(Mat image, Mat& fgmask, double learningRate = -1)
  43. //
  44. //javadoc: BackgroundSubtractorGSOC::apply(image, fgmask, learningRate)
  45. public override void apply (Mat image, Mat fgmask, double learningRate)
  46. {
  47. ThrowIfDisposed ();
  48. if (image != null)
  49. image.ThrowIfDisposed ();
  50. if (fgmask != null)
  51. fgmask.ThrowIfDisposed ();
  52. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  53. bgsegm_BackgroundSubtractorGSOC_apply_10 (nativeObj, image.nativeObj, fgmask.nativeObj, learningRate);
  54. return;
  55. #else
  56. return;
  57. #endif
  58. }
  59. //javadoc: BackgroundSubtractorGSOC::apply(image, fgmask)
  60. public override void apply (Mat image, Mat fgmask)
  61. {
  62. ThrowIfDisposed ();
  63. if (image != null)
  64. image.ThrowIfDisposed ();
  65. if (fgmask != null)
  66. fgmask.ThrowIfDisposed ();
  67. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  68. bgsegm_BackgroundSubtractorGSOC_apply_11 (nativeObj, image.nativeObj, fgmask.nativeObj);
  69. return;
  70. #else
  71. return;
  72. #endif
  73. }
  74. //
  75. // C++: void cv::bgsegm::BackgroundSubtractorGSOC::getBackgroundImage(Mat& backgroundImage)
  76. //
  77. //javadoc: BackgroundSubtractorGSOC::getBackgroundImage(backgroundImage)
  78. public override void getBackgroundImage (Mat backgroundImage)
  79. {
  80. ThrowIfDisposed ();
  81. if (backgroundImage != null)
  82. backgroundImage.ThrowIfDisposed ();
  83. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  84. bgsegm_BackgroundSubtractorGSOC_getBackgroundImage_10 (nativeObj, backgroundImage.nativeObj);
  85. return;
  86. #else
  87. return;
  88. #endif
  89. }
  90. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  91. const string LIBNAME = "__Internal";
  92. #else
  93. const string LIBNAME = "opencvforunity";
  94. #endif
  95. // C++: void cv::bgsegm::BackgroundSubtractorGSOC::apply(Mat image, Mat& fgmask, double learningRate = -1)
  96. [DllImport (LIBNAME)]
  97. private static extern void bgsegm_BackgroundSubtractorGSOC_apply_10 (IntPtr nativeObj, IntPtr image_nativeObj, IntPtr fgmask_nativeObj, double learningRate);
  98. [DllImport (LIBNAME)]
  99. private static extern void bgsegm_BackgroundSubtractorGSOC_apply_11 (IntPtr nativeObj, IntPtr image_nativeObj, IntPtr fgmask_nativeObj);
  100. // C++: void cv::bgsegm::BackgroundSubtractorGSOC::getBackgroundImage(Mat& backgroundImage)
  101. [DllImport (LIBNAME)]
  102. private static extern void bgsegm_BackgroundSubtractorGSOC_getBackgroundImage_10 (IntPtr nativeObj, IntPtr backgroundImage_nativeObj);
  103. // native support for java finalize()
  104. [DllImport (LIBNAME)]
  105. private static extern void bgsegm_BackgroundSubtractorGSOC_delete (IntPtr nativeObj);
  106. }
  107. }