LBPHFaceRecognizer.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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.FaceModule
  8. {
  9. // C++: class LBPHFaceRecognizer
  10. //javadoc: LBPHFaceRecognizer
  11. public class LBPHFaceRecognizer : FaceRecognizer
  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. face_LBPHFaceRecognizer_delete(nativeObj);
  22. nativeObj = IntPtr.Zero;
  23. }
  24. } finally {
  25. base.Dispose (disposing);
  26. }
  27. #else
  28. return;
  29. #endif
  30. }
  31. protected internal LBPHFaceRecognizer (IntPtr addr) : base (addr) { }
  32. // internal usage only
  33. public static new LBPHFaceRecognizer __fromPtr__ (IntPtr addr) { return new LBPHFaceRecognizer (addr); }
  34. //
  35. // C++: Mat cv::face::LBPHFaceRecognizer::getLabels()
  36. //
  37. //javadoc: LBPHFaceRecognizer::getLabels()
  38. public Mat getLabels ()
  39. {
  40. ThrowIfDisposed ();
  41. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  42. Mat retVal = new Mat(face_LBPHFaceRecognizer_getLabels_10(nativeObj));
  43. return retVal;
  44. #else
  45. return null;
  46. #endif
  47. }
  48. //
  49. // C++: static Ptr_LBPHFaceRecognizer cv::face::LBPHFaceRecognizer::create(int radius = 1, int neighbors = 8, int grid_x = 8, int grid_y = 8, double threshold = DBL_MAX)
  50. //
  51. //javadoc: LBPHFaceRecognizer::create(radius, neighbors, grid_x, grid_y, threshold)
  52. public static LBPHFaceRecognizer create (int radius, int neighbors, int grid_x, int grid_y, double threshold)
  53. {
  54. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  55. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_10(radius, neighbors, grid_x, grid_y, threshold));
  56. return retVal;
  57. #else
  58. return null;
  59. #endif
  60. }
  61. //javadoc: LBPHFaceRecognizer::create(radius, neighbors, grid_x, grid_y)
  62. public static LBPHFaceRecognizer create (int radius, int neighbors, int grid_x, int grid_y)
  63. {
  64. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  65. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_11(radius, neighbors, grid_x, grid_y));
  66. return retVal;
  67. #else
  68. return null;
  69. #endif
  70. }
  71. //javadoc: LBPHFaceRecognizer::create(radius, neighbors, grid_x)
  72. public static LBPHFaceRecognizer create (int radius, int neighbors, int grid_x)
  73. {
  74. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  75. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_12(radius, neighbors, grid_x));
  76. return retVal;
  77. #else
  78. return null;
  79. #endif
  80. }
  81. //javadoc: LBPHFaceRecognizer::create(radius, neighbors)
  82. public static LBPHFaceRecognizer create (int radius, int neighbors)
  83. {
  84. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  85. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_13(radius, neighbors));
  86. return retVal;
  87. #else
  88. return null;
  89. #endif
  90. }
  91. //javadoc: LBPHFaceRecognizer::create(radius)
  92. public static LBPHFaceRecognizer create (int radius)
  93. {
  94. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  95. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_14(radius));
  96. return retVal;
  97. #else
  98. return null;
  99. #endif
  100. }
  101. //javadoc: LBPHFaceRecognizer::create()
  102. public static LBPHFaceRecognizer create ()
  103. {
  104. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  105. LBPHFaceRecognizer retVal = LBPHFaceRecognizer.__fromPtr__(face_LBPHFaceRecognizer_create_15());
  106. return retVal;
  107. #else
  108. return null;
  109. #endif
  110. }
  111. //
  112. // C++: double cv::face::LBPHFaceRecognizer::getThreshold()
  113. //
  114. //javadoc: LBPHFaceRecognizer::getThreshold()
  115. public double getThreshold ()
  116. {
  117. ThrowIfDisposed ();
  118. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  119. double retVal = face_LBPHFaceRecognizer_getThreshold_10(nativeObj);
  120. return retVal;
  121. #else
  122. return -1;
  123. #endif
  124. }
  125. //
  126. // C++: int cv::face::LBPHFaceRecognizer::getGridX()
  127. //
  128. //javadoc: LBPHFaceRecognizer::getGridX()
  129. public int getGridX ()
  130. {
  131. ThrowIfDisposed ();
  132. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  133. int retVal = face_LBPHFaceRecognizer_getGridX_10(nativeObj);
  134. return retVal;
  135. #else
  136. return -1;
  137. #endif
  138. }
  139. //
  140. // C++: int cv::face::LBPHFaceRecognizer::getGridY()
  141. //
  142. //javadoc: LBPHFaceRecognizer::getGridY()
  143. public int getGridY ()
  144. {
  145. ThrowIfDisposed ();
  146. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  147. int retVal = face_LBPHFaceRecognizer_getGridY_10(nativeObj);
  148. return retVal;
  149. #else
  150. return -1;
  151. #endif
  152. }
  153. //
  154. // C++: int cv::face::LBPHFaceRecognizer::getNeighbors()
  155. //
  156. //javadoc: LBPHFaceRecognizer::getNeighbors()
  157. public int getNeighbors ()
  158. {
  159. ThrowIfDisposed ();
  160. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  161. int retVal = face_LBPHFaceRecognizer_getNeighbors_10(nativeObj);
  162. return retVal;
  163. #else
  164. return -1;
  165. #endif
  166. }
  167. //
  168. // C++: int cv::face::LBPHFaceRecognizer::getRadius()
  169. //
  170. //javadoc: LBPHFaceRecognizer::getRadius()
  171. public int getRadius ()
  172. {
  173. ThrowIfDisposed ();
  174. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  175. int retVal = face_LBPHFaceRecognizer_getRadius_10(nativeObj);
  176. return retVal;
  177. #else
  178. return -1;
  179. #endif
  180. }
  181. //
  182. // C++: vector_Mat cv::face::LBPHFaceRecognizer::getHistograms()
  183. //
  184. //javadoc: LBPHFaceRecognizer::getHistograms()
  185. public List<Mat> getHistograms ()
  186. {
  187. ThrowIfDisposed ();
  188. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  189. List<Mat> retVal = new List<Mat>();
  190. Mat retValMat = new Mat(face_LBPHFaceRecognizer_getHistograms_10(nativeObj));
  191. Converters.Mat_to_vector_Mat(retValMat, retVal);
  192. return retVal;
  193. #else
  194. return null;
  195. #endif
  196. }
  197. //
  198. // C++: void cv::face::LBPHFaceRecognizer::setGridX(int val)
  199. //
  200. //javadoc: LBPHFaceRecognizer::setGridX(val)
  201. public void setGridX (int val)
  202. {
  203. ThrowIfDisposed ();
  204. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  205. face_LBPHFaceRecognizer_setGridX_10(nativeObj, val);
  206. return;
  207. #else
  208. return;
  209. #endif
  210. }
  211. //
  212. // C++: void cv::face::LBPHFaceRecognizer::setGridY(int val)
  213. //
  214. //javadoc: LBPHFaceRecognizer::setGridY(val)
  215. public void setGridY (int val)
  216. {
  217. ThrowIfDisposed ();
  218. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  219. face_LBPHFaceRecognizer_setGridY_10(nativeObj, val);
  220. return;
  221. #else
  222. return;
  223. #endif
  224. }
  225. //
  226. // C++: void cv::face::LBPHFaceRecognizer::setNeighbors(int val)
  227. //
  228. //javadoc: LBPHFaceRecognizer::setNeighbors(val)
  229. public void setNeighbors (int val)
  230. {
  231. ThrowIfDisposed ();
  232. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  233. face_LBPHFaceRecognizer_setNeighbors_10(nativeObj, val);
  234. return;
  235. #else
  236. return;
  237. #endif
  238. }
  239. //
  240. // C++: void cv::face::LBPHFaceRecognizer::setRadius(int val)
  241. //
  242. //javadoc: LBPHFaceRecognizer::setRadius(val)
  243. public void setRadius (int val)
  244. {
  245. ThrowIfDisposed ();
  246. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  247. face_LBPHFaceRecognizer_setRadius_10(nativeObj, val);
  248. return;
  249. #else
  250. return;
  251. #endif
  252. }
  253. //
  254. // C++: void cv::face::LBPHFaceRecognizer::setThreshold(double val)
  255. //
  256. //javadoc: LBPHFaceRecognizer::setThreshold(val)
  257. public void setThreshold (double val)
  258. {
  259. ThrowIfDisposed ();
  260. #if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
  261. face_LBPHFaceRecognizer_setThreshold_10(nativeObj, val);
  262. return;
  263. #else
  264. return;
  265. #endif
  266. }
  267. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  268. const string LIBNAME = "__Internal";
  269. #else
  270. const string LIBNAME = "opencvforunity";
  271. #endif
  272. // C++: Mat cv::face::LBPHFaceRecognizer::getLabels()
  273. [DllImport (LIBNAME)]
  274. private static extern IntPtr face_LBPHFaceRecognizer_getLabels_10 (IntPtr nativeObj);
  275. // C++: static Ptr_LBPHFaceRecognizer cv::face::LBPHFaceRecognizer::create(int radius = 1, int neighbors = 8, int grid_x = 8, int grid_y = 8, double threshold = DBL_MAX)
  276. [DllImport (LIBNAME)]
  277. private static extern IntPtr face_LBPHFaceRecognizer_create_10 (int radius, int neighbors, int grid_x, int grid_y, double threshold);
  278. [DllImport (LIBNAME)]
  279. private static extern IntPtr face_LBPHFaceRecognizer_create_11 (int radius, int neighbors, int grid_x, int grid_y);
  280. [DllImport (LIBNAME)]
  281. private static extern IntPtr face_LBPHFaceRecognizer_create_12 (int radius, int neighbors, int grid_x);
  282. [DllImport (LIBNAME)]
  283. private static extern IntPtr face_LBPHFaceRecognizer_create_13 (int radius, int neighbors);
  284. [DllImport (LIBNAME)]
  285. private static extern IntPtr face_LBPHFaceRecognizer_create_14 (int radius);
  286. [DllImport (LIBNAME)]
  287. private static extern IntPtr face_LBPHFaceRecognizer_create_15 ();
  288. // C++: double cv::face::LBPHFaceRecognizer::getThreshold()
  289. [DllImport (LIBNAME)]
  290. private static extern double face_LBPHFaceRecognizer_getThreshold_10 (IntPtr nativeObj);
  291. // C++: int cv::face::LBPHFaceRecognizer::getGridX()
  292. [DllImport (LIBNAME)]
  293. private static extern int face_LBPHFaceRecognizer_getGridX_10 (IntPtr nativeObj);
  294. // C++: int cv::face::LBPHFaceRecognizer::getGridY()
  295. [DllImport (LIBNAME)]
  296. private static extern int face_LBPHFaceRecognizer_getGridY_10 (IntPtr nativeObj);
  297. // C++: int cv::face::LBPHFaceRecognizer::getNeighbors()
  298. [DllImport (LIBNAME)]
  299. private static extern int face_LBPHFaceRecognizer_getNeighbors_10 (IntPtr nativeObj);
  300. // C++: int cv::face::LBPHFaceRecognizer::getRadius()
  301. [DllImport (LIBNAME)]
  302. private static extern int face_LBPHFaceRecognizer_getRadius_10 (IntPtr nativeObj);
  303. // C++: vector_Mat cv::face::LBPHFaceRecognizer::getHistograms()
  304. [DllImport (LIBNAME)]
  305. private static extern IntPtr face_LBPHFaceRecognizer_getHistograms_10 (IntPtr nativeObj);
  306. // C++: void cv::face::LBPHFaceRecognizer::setGridX(int val)
  307. [DllImport (LIBNAME)]
  308. private static extern void face_LBPHFaceRecognizer_setGridX_10 (IntPtr nativeObj, int val);
  309. // C++: void cv::face::LBPHFaceRecognizer::setGridY(int val)
  310. [DllImport (LIBNAME)]
  311. private static extern void face_LBPHFaceRecognizer_setGridY_10 (IntPtr nativeObj, int val);
  312. // C++: void cv::face::LBPHFaceRecognizer::setNeighbors(int val)
  313. [DllImport (LIBNAME)]
  314. private static extern void face_LBPHFaceRecognizer_setNeighbors_10 (IntPtr nativeObj, int val);
  315. // C++: void cv::face::LBPHFaceRecognizer::setRadius(int val)
  316. [DllImport (LIBNAME)]
  317. private static extern void face_LBPHFaceRecognizer_setRadius_10 (IntPtr nativeObj, int val);
  318. // C++: void cv::face::LBPHFaceRecognizer::setThreshold(double val)
  319. [DllImport (LIBNAME)]
  320. private static extern void face_LBPHFaceRecognizer_setThreshold_10 (IntPtr nativeObj, double val);
  321. // native support for java finalize()
  322. [DllImport (LIBNAME)]
  323. private static extern void face_LBPHFaceRecognizer_delete (IntPtr nativeObj);
  324. }
  325. }