Shape.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  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.ShapeModule {
  8. // C++: class Shape
  9. //javadoc: Shape
  10. public class Shape {
  11. //
  12. // C++: Ptr_AffineTransformer cv::createAffineTransformer(bool fullAffine)
  13. //
  14. //javadoc: createAffineTransformer(fullAffine)
  15. public static AffineTransformer createAffineTransformer(bool fullAffine) {
  16. #if (UNITY_ANDROID && !UNITY_EDITOR)
  17. AffineTransformer retVal = AffineTransformer.__fromPtr__(shape_Shape_createAffineTransformer_10(fullAffine));
  18. return retVal;
  19. #else
  20. return null;
  21. #endif
  22. }
  23. //
  24. // C++: Ptr_HausdorffDistanceExtractor cv::createHausdorffDistanceExtractor(int distanceFlag = cv::NORM_L2, float rankProp = 0.6f)
  25. //
  26. //javadoc: createHausdorffDistanceExtractor(distanceFlag, rankProp)
  27. public static HausdorffDistanceExtractor createHausdorffDistanceExtractor(int distanceFlag, float rankProp) {
  28. #if (UNITY_ANDROID && !UNITY_EDITOR)
  29. HausdorffDistanceExtractor retVal = HausdorffDistanceExtractor.__fromPtr__(shape_Shape_createHausdorffDistanceExtractor_10(distanceFlag, rankProp));
  30. return retVal;
  31. #else
  32. return null;
  33. #endif
  34. }
  35. //javadoc: createHausdorffDistanceExtractor(distanceFlag)
  36. public static HausdorffDistanceExtractor createHausdorffDistanceExtractor(int distanceFlag) {
  37. #if (UNITY_ANDROID && !UNITY_EDITOR)
  38. HausdorffDistanceExtractor retVal = HausdorffDistanceExtractor.__fromPtr__(shape_Shape_createHausdorffDistanceExtractor_11(distanceFlag));
  39. return retVal;
  40. #else
  41. return null;
  42. #endif
  43. }
  44. //javadoc: createHausdorffDistanceExtractor()
  45. public static HausdorffDistanceExtractor createHausdorffDistanceExtractor() {
  46. #if (UNITY_ANDROID && !UNITY_EDITOR)
  47. HausdorffDistanceExtractor retVal = HausdorffDistanceExtractor.__fromPtr__(shape_Shape_createHausdorffDistanceExtractor_12());
  48. return retVal;
  49. #else
  50. return null;
  51. #endif
  52. }
  53. //
  54. // C++: Ptr_HistogramCostExtractor cv::createChiHistogramCostExtractor(int nDummies = 25, float defaultCost = 0.2f)
  55. //
  56. //javadoc: createChiHistogramCostExtractor(nDummies, defaultCost)
  57. public static HistogramCostExtractor createChiHistogramCostExtractor(int nDummies, float defaultCost) {
  58. #if (UNITY_ANDROID && !UNITY_EDITOR)
  59. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createChiHistogramCostExtractor_10(nDummies, defaultCost));
  60. return retVal;
  61. #else
  62. return null;
  63. #endif
  64. }
  65. //javadoc: createChiHistogramCostExtractor(nDummies)
  66. public static HistogramCostExtractor createChiHistogramCostExtractor(int nDummies) {
  67. #if (UNITY_ANDROID && !UNITY_EDITOR)
  68. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createChiHistogramCostExtractor_11(nDummies));
  69. return retVal;
  70. #else
  71. return null;
  72. #endif
  73. }
  74. //javadoc: createChiHistogramCostExtractor()
  75. public static HistogramCostExtractor createChiHistogramCostExtractor() {
  76. #if (UNITY_ANDROID && !UNITY_EDITOR)
  77. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createChiHistogramCostExtractor_12());
  78. return retVal;
  79. #else
  80. return null;
  81. #endif
  82. }
  83. //
  84. // C++: Ptr_HistogramCostExtractor cv::createEMDHistogramCostExtractor(int flag = DIST_L2, int nDummies = 25, float defaultCost = 0.2f)
  85. //
  86. //javadoc: createEMDHistogramCostExtractor(flag, nDummies, defaultCost)
  87. public static HistogramCostExtractor createEMDHistogramCostExtractor(int flag, int nDummies, float defaultCost) {
  88. #if (UNITY_ANDROID && !UNITY_EDITOR)
  89. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDHistogramCostExtractor_10(flag, nDummies, defaultCost));
  90. return retVal;
  91. #else
  92. return null;
  93. #endif
  94. }
  95. //javadoc: createEMDHistogramCostExtractor(flag, nDummies)
  96. public static HistogramCostExtractor createEMDHistogramCostExtractor(int flag, int nDummies) {
  97. #if (UNITY_ANDROID && !UNITY_EDITOR)
  98. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDHistogramCostExtractor_11(flag, nDummies));
  99. return retVal;
  100. #else
  101. return null;
  102. #endif
  103. }
  104. //javadoc: createEMDHistogramCostExtractor(flag)
  105. public static HistogramCostExtractor createEMDHistogramCostExtractor(int flag) {
  106. #if (UNITY_ANDROID && !UNITY_EDITOR)
  107. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDHistogramCostExtractor_12(flag));
  108. return retVal;
  109. #else
  110. return null;
  111. #endif
  112. }
  113. //javadoc: createEMDHistogramCostExtractor()
  114. public static HistogramCostExtractor createEMDHistogramCostExtractor() {
  115. #if (UNITY_ANDROID && !UNITY_EDITOR)
  116. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDHistogramCostExtractor_13());
  117. return retVal;
  118. #else
  119. return null;
  120. #endif
  121. }
  122. //
  123. // C++: Ptr_HistogramCostExtractor cv::createEMDL1HistogramCostExtractor(int nDummies = 25, float defaultCost = 0.2f)
  124. //
  125. //javadoc: createEMDL1HistogramCostExtractor(nDummies, defaultCost)
  126. public static HistogramCostExtractor createEMDL1HistogramCostExtractor(int nDummies, float defaultCost) {
  127. #if (UNITY_ANDROID && !UNITY_EDITOR)
  128. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDL1HistogramCostExtractor_10(nDummies, defaultCost));
  129. return retVal;
  130. #else
  131. return null;
  132. #endif
  133. }
  134. //javadoc: createEMDL1HistogramCostExtractor(nDummies)
  135. public static HistogramCostExtractor createEMDL1HistogramCostExtractor(int nDummies) {
  136. #if (UNITY_ANDROID && !UNITY_EDITOR)
  137. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDL1HistogramCostExtractor_11(nDummies));
  138. return retVal;
  139. #else
  140. return null;
  141. #endif
  142. }
  143. //javadoc: createEMDL1HistogramCostExtractor()
  144. public static HistogramCostExtractor createEMDL1HistogramCostExtractor() {
  145. #if (UNITY_ANDROID && !UNITY_EDITOR)
  146. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createEMDL1HistogramCostExtractor_12());
  147. return retVal;
  148. #else
  149. return null;
  150. #endif
  151. }
  152. //
  153. // C++: Ptr_HistogramCostExtractor cv::createNormHistogramCostExtractor(int flag = DIST_L2, int nDummies = 25, float defaultCost = 0.2f)
  154. //
  155. //javadoc: createNormHistogramCostExtractor(flag, nDummies, defaultCost)
  156. public static HistogramCostExtractor createNormHistogramCostExtractor(int flag, int nDummies, float defaultCost) {
  157. #if (UNITY_ANDROID && !UNITY_EDITOR)
  158. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createNormHistogramCostExtractor_10(flag, nDummies, defaultCost));
  159. return retVal;
  160. #else
  161. return null;
  162. #endif
  163. }
  164. //javadoc: createNormHistogramCostExtractor(flag, nDummies)
  165. public static HistogramCostExtractor createNormHistogramCostExtractor(int flag, int nDummies) {
  166. #if (UNITY_ANDROID && !UNITY_EDITOR)
  167. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createNormHistogramCostExtractor_11(flag, nDummies));
  168. return retVal;
  169. #else
  170. return null;
  171. #endif
  172. }
  173. //javadoc: createNormHistogramCostExtractor(flag)
  174. public static HistogramCostExtractor createNormHistogramCostExtractor(int flag) {
  175. #if (UNITY_ANDROID && !UNITY_EDITOR)
  176. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createNormHistogramCostExtractor_12(flag));
  177. return retVal;
  178. #else
  179. return null;
  180. #endif
  181. }
  182. //javadoc: createNormHistogramCostExtractor()
  183. public static HistogramCostExtractor createNormHistogramCostExtractor() {
  184. #if (UNITY_ANDROID && !UNITY_EDITOR)
  185. HistogramCostExtractor retVal = HistogramCostExtractor.__fromPtr__(shape_Shape_createNormHistogramCostExtractor_13());
  186. return retVal;
  187. #else
  188. return null;
  189. #endif
  190. }
  191. //
  192. // C++: Ptr_ShapeContextDistanceExtractor cv::createShapeContextDistanceExtractor(int nAngularBins = 12, int nRadialBins = 4, float innerRadius = 0.2f, float outerRadius = 2, int iterations = 3, Ptr_HistogramCostExtractor comparer = createChiHistogramCostExtractor(), Ptr_ShapeTransformer transformer = createThinPlateSplineShapeTransformer())
  193. //
  194. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations, comparer, transformer)
  195. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations, HistogramCostExtractor comparer, ShapeTransformer transformer) {
  196. if (comparer != null) comparer.ThrowIfDisposed();
  197. if (transformer != null) transformer.ThrowIfDisposed();
  198. #if (UNITY_ANDROID && !UNITY_EDITOR)
  199. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_10(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations, comparer.getNativeObjAddr(), transformer.getNativeObjAddr()));
  200. return retVal;
  201. #else
  202. return null;
  203. #endif
  204. }
  205. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations, comparer)
  206. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations, HistogramCostExtractor comparer) {
  207. if (comparer != null) comparer.ThrowIfDisposed();
  208. #if (UNITY_ANDROID && !UNITY_EDITOR)
  209. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_11(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations, comparer.getNativeObjAddr()));
  210. return retVal;
  211. #else
  212. return null;
  213. #endif
  214. }
  215. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations)
  216. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations) {
  217. #if (UNITY_ANDROID && !UNITY_EDITOR)
  218. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_12(nAngularBins, nRadialBins, innerRadius, outerRadius, iterations));
  219. return retVal;
  220. #else
  221. return null;
  222. #endif
  223. }
  224. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins, innerRadius, outerRadius)
  225. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius) {
  226. #if (UNITY_ANDROID && !UNITY_EDITOR)
  227. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_13(nAngularBins, nRadialBins, innerRadius, outerRadius));
  228. return retVal;
  229. #else
  230. return null;
  231. #endif
  232. }
  233. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins, innerRadius)
  234. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins, float innerRadius) {
  235. #if (UNITY_ANDROID && !UNITY_EDITOR)
  236. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_14(nAngularBins, nRadialBins, innerRadius));
  237. return retVal;
  238. #else
  239. return null;
  240. #endif
  241. }
  242. //javadoc: createShapeContextDistanceExtractor(nAngularBins, nRadialBins)
  243. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins, int nRadialBins) {
  244. #if (UNITY_ANDROID && !UNITY_EDITOR)
  245. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_15(nAngularBins, nRadialBins));
  246. return retVal;
  247. #else
  248. return null;
  249. #endif
  250. }
  251. //javadoc: createShapeContextDistanceExtractor(nAngularBins)
  252. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor(int nAngularBins) {
  253. #if (UNITY_ANDROID && !UNITY_EDITOR)
  254. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_16(nAngularBins));
  255. return retVal;
  256. #else
  257. return null;
  258. #endif
  259. }
  260. //javadoc: createShapeContextDistanceExtractor()
  261. public static ShapeContextDistanceExtractor createShapeContextDistanceExtractor() {
  262. #if (UNITY_ANDROID && !UNITY_EDITOR)
  263. ShapeContextDistanceExtractor retVal = ShapeContextDistanceExtractor.__fromPtr__(shape_Shape_createShapeContextDistanceExtractor_17());
  264. return retVal;
  265. #else
  266. return null;
  267. #endif
  268. }
  269. //
  270. // C++: Ptr_ThinPlateSplineShapeTransformer cv::createThinPlateSplineShapeTransformer(double regularizationParameter = 0)
  271. //
  272. //javadoc: createThinPlateSplineShapeTransformer(regularizationParameter)
  273. public static ThinPlateSplineShapeTransformer createThinPlateSplineShapeTransformer(double regularizationParameter) {
  274. #if (UNITY_ANDROID && !UNITY_EDITOR)
  275. ThinPlateSplineShapeTransformer retVal = ThinPlateSplineShapeTransformer.__fromPtr__(shape_Shape_createThinPlateSplineShapeTransformer_10(regularizationParameter));
  276. return retVal;
  277. #else
  278. return null;
  279. #endif
  280. }
  281. //javadoc: createThinPlateSplineShapeTransformer()
  282. public static ThinPlateSplineShapeTransformer createThinPlateSplineShapeTransformer() {
  283. #if (UNITY_ANDROID && !UNITY_EDITOR)
  284. ThinPlateSplineShapeTransformer retVal = ThinPlateSplineShapeTransformer.__fromPtr__(shape_Shape_createThinPlateSplineShapeTransformer_11());
  285. return retVal;
  286. #else
  287. return null;
  288. #endif
  289. }
  290. #if (UNITY_ANDROID && !UNITY_EDITOR)
  291. const string LIBNAME = "opencvforunity";
  292. // C++: Ptr_AffineTransformer cv::createAffineTransformer(bool fullAffine)
  293. [DllImport(LIBNAME)]
  294. private static extern IntPtr shape_Shape_createAffineTransformer_10(bool fullAffine);
  295. // C++: Ptr_HausdorffDistanceExtractor cv::createHausdorffDistanceExtractor(int distanceFlag = cv::NORM_L2, float rankProp = 0.6f)
  296. [DllImport(LIBNAME)]
  297. private static extern IntPtr shape_Shape_createHausdorffDistanceExtractor_10(int distanceFlag, float rankProp);
  298. [DllImport(LIBNAME)]
  299. private static extern IntPtr shape_Shape_createHausdorffDistanceExtractor_11(int distanceFlag);
  300. [DllImport(LIBNAME)]
  301. private static extern IntPtr shape_Shape_createHausdorffDistanceExtractor_12();
  302. // C++: Ptr_HistogramCostExtractor cv::createChiHistogramCostExtractor(int nDummies = 25, float defaultCost = 0.2f)
  303. [DllImport(LIBNAME)]
  304. private static extern IntPtr shape_Shape_createChiHistogramCostExtractor_10(int nDummies, float defaultCost);
  305. [DllImport(LIBNAME)]
  306. private static extern IntPtr shape_Shape_createChiHistogramCostExtractor_11(int nDummies);
  307. [DllImport(LIBNAME)]
  308. private static extern IntPtr shape_Shape_createChiHistogramCostExtractor_12();
  309. // C++: Ptr_HistogramCostExtractor cv::createEMDHistogramCostExtractor(int flag = DIST_L2, int nDummies = 25, float defaultCost = 0.2f)
  310. [DllImport(LIBNAME)]
  311. private static extern IntPtr shape_Shape_createEMDHistogramCostExtractor_10(int flag, int nDummies, float defaultCost);
  312. [DllImport(LIBNAME)]
  313. private static extern IntPtr shape_Shape_createEMDHistogramCostExtractor_11(int flag, int nDummies);
  314. [DllImport(LIBNAME)]
  315. private static extern IntPtr shape_Shape_createEMDHistogramCostExtractor_12(int flag);
  316. [DllImport(LIBNAME)]
  317. private static extern IntPtr shape_Shape_createEMDHistogramCostExtractor_13();
  318. // C++: Ptr_HistogramCostExtractor cv::createEMDL1HistogramCostExtractor(int nDummies = 25, float defaultCost = 0.2f)
  319. [DllImport(LIBNAME)]
  320. private static extern IntPtr shape_Shape_createEMDL1HistogramCostExtractor_10(int nDummies, float defaultCost);
  321. [DllImport(LIBNAME)]
  322. private static extern IntPtr shape_Shape_createEMDL1HistogramCostExtractor_11(int nDummies);
  323. [DllImport(LIBNAME)]
  324. private static extern IntPtr shape_Shape_createEMDL1HistogramCostExtractor_12();
  325. // C++: Ptr_HistogramCostExtractor cv::createNormHistogramCostExtractor(int flag = DIST_L2, int nDummies = 25, float defaultCost = 0.2f)
  326. [DllImport(LIBNAME)]
  327. private static extern IntPtr shape_Shape_createNormHistogramCostExtractor_10(int flag, int nDummies, float defaultCost);
  328. [DllImport(LIBNAME)]
  329. private static extern IntPtr shape_Shape_createNormHistogramCostExtractor_11(int flag, int nDummies);
  330. [DllImport(LIBNAME)]
  331. private static extern IntPtr shape_Shape_createNormHistogramCostExtractor_12(int flag);
  332. [DllImport(LIBNAME)]
  333. private static extern IntPtr shape_Shape_createNormHistogramCostExtractor_13();
  334. // C++: Ptr_ShapeContextDistanceExtractor cv::createShapeContextDistanceExtractor(int nAngularBins = 12, int nRadialBins = 4, float innerRadius = 0.2f, float outerRadius = 2, int iterations = 3, Ptr_HistogramCostExtractor comparer = createChiHistogramCostExtractor(), Ptr_ShapeTransformer transformer = createThinPlateSplineShapeTransformer())
  335. [DllImport(LIBNAME)]
  336. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_10(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations, IntPtr comparer_nativeObj, IntPtr transformer_nativeObj);
  337. [DllImport(LIBNAME)]
  338. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_11(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations, IntPtr comparer_nativeObj);
  339. [DllImport(LIBNAME)]
  340. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_12(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius, int iterations);
  341. [DllImport(LIBNAME)]
  342. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_13(int nAngularBins, int nRadialBins, float innerRadius, float outerRadius);
  343. [DllImport(LIBNAME)]
  344. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_14(int nAngularBins, int nRadialBins, float innerRadius);
  345. [DllImport(LIBNAME)]
  346. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_15(int nAngularBins, int nRadialBins);
  347. [DllImport(LIBNAME)]
  348. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_16(int nAngularBins);
  349. [DllImport(LIBNAME)]
  350. private static extern IntPtr shape_Shape_createShapeContextDistanceExtractor_17();
  351. // C++: Ptr_ThinPlateSplineShapeTransformer cv::createThinPlateSplineShapeTransformer(double regularizationParameter = 0)
  352. [DllImport(LIBNAME)]
  353. private static extern IntPtr shape_Shape_createThinPlateSplineShapeTransformer_10(double regularizationParameter);
  354. [DllImport(LIBNAME)]
  355. private static extern IntPtr shape_Shape_createThinPlateSplineShapeTransformer_11();
  356. #endif
  357. }
  358. }