MergeMertens.cs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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.PhotoModule
  8. {
  9. // C++: class MergeMertens
  10. //javadoc: MergeMertens
  11. public class MergeMertens : MergeExposures
  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. photo_MergeMertens_delete (nativeObj);
  22. nativeObj = IntPtr.Zero;
  23. }
  24. } finally {
  25. base.Dispose (disposing);
  26. }
  27. #else
  28. return;
  29. #endif
  30. }
  31. protected internal MergeMertens (IntPtr addr)
  32. : base (addr)
  33. {
  34. }
  35. // internal usage only
  36. public static new MergeMertens __fromPtr__ (IntPtr addr)
  37. {
  38. return new MergeMertens (addr);
  39. }
  40. //
  41. // C++: float cv::MergeMertens::getContrastWeight()
  42. //
  43. //javadoc: MergeMertens::getContrastWeight()
  44. public float getContrastWeight ()
  45. {
  46. ThrowIfDisposed ();
  47. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  48. float retVal = photo_MergeMertens_getContrastWeight_10 (nativeObj);
  49. return retVal;
  50. #else
  51. return -1;
  52. #endif
  53. }
  54. //
  55. // C++: float cv::MergeMertens::getExposureWeight()
  56. //
  57. //javadoc: MergeMertens::getExposureWeight()
  58. public float getExposureWeight ()
  59. {
  60. ThrowIfDisposed ();
  61. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  62. float retVal = photo_MergeMertens_getExposureWeight_10 (nativeObj);
  63. return retVal;
  64. #else
  65. return -1;
  66. #endif
  67. }
  68. //
  69. // C++: float cv::MergeMertens::getSaturationWeight()
  70. //
  71. //javadoc: MergeMertens::getSaturationWeight()
  72. public float getSaturationWeight ()
  73. {
  74. ThrowIfDisposed ();
  75. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  76. float retVal = photo_MergeMertens_getSaturationWeight_10 (nativeObj);
  77. return retVal;
  78. #else
  79. return -1;
  80. #endif
  81. }
  82. //
  83. // C++: void cv::MergeMertens::process(vector_Mat src, Mat& dst, Mat times, Mat response)
  84. //
  85. //javadoc: MergeMertens::process(src, dst, times, response)
  86. public override void process (List<Mat> src, Mat dst, Mat times, Mat response)
  87. {
  88. ThrowIfDisposed ();
  89. if (dst != null)
  90. dst.ThrowIfDisposed ();
  91. if (times != null)
  92. times.ThrowIfDisposed ();
  93. if (response != null)
  94. response.ThrowIfDisposed ();
  95. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  96. Mat src_mat = Converters.vector_Mat_to_Mat (src);
  97. photo_MergeMertens_process_10 (nativeObj, src_mat.nativeObj, dst.nativeObj, times.nativeObj, response.nativeObj);
  98. return;
  99. #else
  100. return;
  101. #endif
  102. }
  103. //
  104. // C++: void cv::MergeMertens::process(vector_Mat src, Mat& dst)
  105. //
  106. //javadoc: MergeMertens::process(src, dst)
  107. public void process (List<Mat> src, Mat dst)
  108. {
  109. ThrowIfDisposed ();
  110. if (dst != null)
  111. dst.ThrowIfDisposed ();
  112. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  113. Mat src_mat = Converters.vector_Mat_to_Mat (src);
  114. photo_MergeMertens_process_11 (nativeObj, src_mat.nativeObj, dst.nativeObj);
  115. return;
  116. #else
  117. return;
  118. #endif
  119. }
  120. //
  121. // C++: void cv::MergeMertens::setContrastWeight(float contrast_weiht)
  122. //
  123. //javadoc: MergeMertens::setContrastWeight(contrast_weiht)
  124. public void setContrastWeight (float contrast_weiht)
  125. {
  126. ThrowIfDisposed ();
  127. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  128. photo_MergeMertens_setContrastWeight_10 (nativeObj, contrast_weiht);
  129. return;
  130. #else
  131. return;
  132. #endif
  133. }
  134. //
  135. // C++: void cv::MergeMertens::setExposureWeight(float exposure_weight)
  136. //
  137. //javadoc: MergeMertens::setExposureWeight(exposure_weight)
  138. public void setExposureWeight (float exposure_weight)
  139. {
  140. ThrowIfDisposed ();
  141. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  142. photo_MergeMertens_setExposureWeight_10 (nativeObj, exposure_weight);
  143. return;
  144. #else
  145. return;
  146. #endif
  147. }
  148. //
  149. // C++: void cv::MergeMertens::setSaturationWeight(float saturation_weight)
  150. //
  151. //javadoc: MergeMertens::setSaturationWeight(saturation_weight)
  152. public void setSaturationWeight (float saturation_weight)
  153. {
  154. ThrowIfDisposed ();
  155. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  156. photo_MergeMertens_setSaturationWeight_10 (nativeObj, saturation_weight);
  157. return;
  158. #else
  159. return;
  160. #endif
  161. }
  162. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  163. const string LIBNAME = "__Internal";
  164. #else
  165. const string LIBNAME = "opencvforunity";
  166. #endif
  167. // C++: float cv::MergeMertens::getContrastWeight()
  168. [DllImport (LIBNAME)]
  169. private static extern float photo_MergeMertens_getContrastWeight_10 (IntPtr nativeObj);
  170. // C++: float cv::MergeMertens::getExposureWeight()
  171. [DllImport (LIBNAME)]
  172. private static extern float photo_MergeMertens_getExposureWeight_10 (IntPtr nativeObj);
  173. // C++: float cv::MergeMertens::getSaturationWeight()
  174. [DllImport (LIBNAME)]
  175. private static extern float photo_MergeMertens_getSaturationWeight_10 (IntPtr nativeObj);
  176. // C++: void cv::MergeMertens::process(vector_Mat src, Mat& dst, Mat times, Mat response)
  177. [DllImport (LIBNAME)]
  178. private static extern void photo_MergeMertens_process_10 (IntPtr nativeObj, IntPtr src_mat_nativeObj, IntPtr dst_nativeObj, IntPtr times_nativeObj, IntPtr response_nativeObj);
  179. // C++: void cv::MergeMertens::process(vector_Mat src, Mat& dst)
  180. [DllImport (LIBNAME)]
  181. private static extern void photo_MergeMertens_process_11 (IntPtr nativeObj, IntPtr src_mat_nativeObj, IntPtr dst_nativeObj);
  182. // C++: void cv::MergeMertens::setContrastWeight(float contrast_weiht)
  183. [DllImport (LIBNAME)]
  184. private static extern void photo_MergeMertens_setContrastWeight_10 (IntPtr nativeObj, float contrast_weiht);
  185. // C++: void cv::MergeMertens::setExposureWeight(float exposure_weight)
  186. [DllImport (LIBNAME)]
  187. private static extern void photo_MergeMertens_setExposureWeight_10 (IntPtr nativeObj, float exposure_weight);
  188. // C++: void cv::MergeMertens::setSaturationWeight(float saturation_weight)
  189. [DllImport (LIBNAME)]
  190. private static extern void photo_MergeMertens_setSaturationWeight_10 (IntPtr nativeObj, float saturation_weight);
  191. // native support for java finalize()
  192. [DllImport (LIBNAME)]
  193. private static extern void photo_MergeMertens_delete (IntPtr nativeObj);
  194. }
  195. }