Photo.cs 68 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684
  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. // C++: class Photo
  9. //javadoc: Photo
  10. public class Photo {
  11. // C++: enum <unnamed>
  12. public const int INPAINT_NS = 0;
  13. public const int INPAINT_TELEA = 1;
  14. public const int NORMAL_CLONE = 1;
  15. public const int MIXED_CLONE = 2;
  16. public const int MONOCHROME_TRANSFER = 3;
  17. public const int RECURS_FILTER = 1;
  18. public const int NORMCONV_FILTER = 2;
  19. public const int LDR_SIZE = 256;
  20. //
  21. // C++: Ptr_AlignMTB cv::createAlignMTB(int max_bits = 6, int exclude_range = 4, bool cut = true)
  22. //
  23. //javadoc: createAlignMTB(max_bits, exclude_range, cut)
  24. public static AlignMTB createAlignMTB(int max_bits, int exclude_range, bool cut) {
  25. #if (UNITY_ANDROID && !UNITY_EDITOR)
  26. AlignMTB retVal = AlignMTB.__fromPtr__(photo_Photo_createAlignMTB_10(max_bits, exclude_range, cut));
  27. return retVal;
  28. #else
  29. return null;
  30. #endif
  31. }
  32. //javadoc: createAlignMTB(max_bits, exclude_range)
  33. public static AlignMTB createAlignMTB(int max_bits, int exclude_range) {
  34. #if (UNITY_ANDROID && !UNITY_EDITOR)
  35. AlignMTB retVal = AlignMTB.__fromPtr__(photo_Photo_createAlignMTB_11(max_bits, exclude_range));
  36. return retVal;
  37. #else
  38. return null;
  39. #endif
  40. }
  41. //javadoc: createAlignMTB(max_bits)
  42. public static AlignMTB createAlignMTB(int max_bits) {
  43. #if (UNITY_ANDROID && !UNITY_EDITOR)
  44. AlignMTB retVal = AlignMTB.__fromPtr__(photo_Photo_createAlignMTB_12(max_bits));
  45. return retVal;
  46. #else
  47. return null;
  48. #endif
  49. }
  50. //javadoc: createAlignMTB()
  51. public static AlignMTB createAlignMTB() {
  52. #if (UNITY_ANDROID && !UNITY_EDITOR)
  53. AlignMTB retVal = AlignMTB.__fromPtr__(photo_Photo_createAlignMTB_13());
  54. return retVal;
  55. #else
  56. return null;
  57. #endif
  58. }
  59. //
  60. // C++: Ptr_CalibrateDebevec cv::createCalibrateDebevec(int samples = 70, float lambda = 10.0f, bool random = false)
  61. //
  62. //javadoc: createCalibrateDebevec(samples, lambda, random)
  63. public static CalibrateDebevec createCalibrateDebevec(int samples, float lambda, bool random) {
  64. #if (UNITY_ANDROID && !UNITY_EDITOR)
  65. CalibrateDebevec retVal = CalibrateDebevec.__fromPtr__(photo_Photo_createCalibrateDebevec_10(samples, lambda, random));
  66. return retVal;
  67. #else
  68. return null;
  69. #endif
  70. }
  71. //javadoc: createCalibrateDebevec(samples, lambda)
  72. public static CalibrateDebevec createCalibrateDebevec(int samples, float lambda) {
  73. #if (UNITY_ANDROID && !UNITY_EDITOR)
  74. CalibrateDebevec retVal = CalibrateDebevec.__fromPtr__(photo_Photo_createCalibrateDebevec_11(samples, lambda));
  75. return retVal;
  76. #else
  77. return null;
  78. #endif
  79. }
  80. //javadoc: createCalibrateDebevec(samples)
  81. public static CalibrateDebevec createCalibrateDebevec(int samples) {
  82. #if (UNITY_ANDROID && !UNITY_EDITOR)
  83. CalibrateDebevec retVal = CalibrateDebevec.__fromPtr__(photo_Photo_createCalibrateDebevec_12(samples));
  84. return retVal;
  85. #else
  86. return null;
  87. #endif
  88. }
  89. //javadoc: createCalibrateDebevec()
  90. public static CalibrateDebevec createCalibrateDebevec() {
  91. #if (UNITY_ANDROID && !UNITY_EDITOR)
  92. CalibrateDebevec retVal = CalibrateDebevec.__fromPtr__(photo_Photo_createCalibrateDebevec_13());
  93. return retVal;
  94. #else
  95. return null;
  96. #endif
  97. }
  98. //
  99. // C++: Ptr_CalibrateRobertson cv::createCalibrateRobertson(int max_iter = 30, float threshold = 0.01f)
  100. //
  101. //javadoc: createCalibrateRobertson(max_iter, threshold)
  102. public static CalibrateRobertson createCalibrateRobertson(int max_iter, float threshold) {
  103. #if (UNITY_ANDROID && !UNITY_EDITOR)
  104. CalibrateRobertson retVal = CalibrateRobertson.__fromPtr__(photo_Photo_createCalibrateRobertson_10(max_iter, threshold));
  105. return retVal;
  106. #else
  107. return null;
  108. #endif
  109. }
  110. //javadoc: createCalibrateRobertson(max_iter)
  111. public static CalibrateRobertson createCalibrateRobertson(int max_iter) {
  112. #if (UNITY_ANDROID && !UNITY_EDITOR)
  113. CalibrateRobertson retVal = CalibrateRobertson.__fromPtr__(photo_Photo_createCalibrateRobertson_11(max_iter));
  114. return retVal;
  115. #else
  116. return null;
  117. #endif
  118. }
  119. //javadoc: createCalibrateRobertson()
  120. public static CalibrateRobertson createCalibrateRobertson() {
  121. #if (UNITY_ANDROID && !UNITY_EDITOR)
  122. CalibrateRobertson retVal = CalibrateRobertson.__fromPtr__(photo_Photo_createCalibrateRobertson_12());
  123. return retVal;
  124. #else
  125. return null;
  126. #endif
  127. }
  128. //
  129. // C++: Ptr_MergeDebevec cv::createMergeDebevec()
  130. //
  131. //javadoc: createMergeDebevec()
  132. public static MergeDebevec createMergeDebevec() {
  133. #if (UNITY_ANDROID && !UNITY_EDITOR)
  134. MergeDebevec retVal = MergeDebevec.__fromPtr__(photo_Photo_createMergeDebevec_10());
  135. return retVal;
  136. #else
  137. return null;
  138. #endif
  139. }
  140. //
  141. // C++: Ptr_MergeMertens cv::createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f)
  142. //
  143. //javadoc: createMergeMertens(contrast_weight, saturation_weight, exposure_weight)
  144. public static MergeMertens createMergeMertens(float contrast_weight, float saturation_weight, float exposure_weight) {
  145. #if (UNITY_ANDROID && !UNITY_EDITOR)
  146. MergeMertens retVal = MergeMertens.__fromPtr__(photo_Photo_createMergeMertens_10(contrast_weight, saturation_weight, exposure_weight));
  147. return retVal;
  148. #else
  149. return null;
  150. #endif
  151. }
  152. //javadoc: createMergeMertens(contrast_weight, saturation_weight)
  153. public static MergeMertens createMergeMertens(float contrast_weight, float saturation_weight) {
  154. #if (UNITY_ANDROID && !UNITY_EDITOR)
  155. MergeMertens retVal = MergeMertens.__fromPtr__(photo_Photo_createMergeMertens_11(contrast_weight, saturation_weight));
  156. return retVal;
  157. #else
  158. return null;
  159. #endif
  160. }
  161. //javadoc: createMergeMertens(contrast_weight)
  162. public static MergeMertens createMergeMertens(float contrast_weight) {
  163. #if (UNITY_ANDROID && !UNITY_EDITOR)
  164. MergeMertens retVal = MergeMertens.__fromPtr__(photo_Photo_createMergeMertens_12(contrast_weight));
  165. return retVal;
  166. #else
  167. return null;
  168. #endif
  169. }
  170. //javadoc: createMergeMertens()
  171. public static MergeMertens createMergeMertens() {
  172. #if (UNITY_ANDROID && !UNITY_EDITOR)
  173. MergeMertens retVal = MergeMertens.__fromPtr__(photo_Photo_createMergeMertens_13());
  174. return retVal;
  175. #else
  176. return null;
  177. #endif
  178. }
  179. //
  180. // C++: Ptr_MergeRobertson cv::createMergeRobertson()
  181. //
  182. //javadoc: createMergeRobertson()
  183. public static MergeRobertson createMergeRobertson() {
  184. #if (UNITY_ANDROID && !UNITY_EDITOR)
  185. MergeRobertson retVal = MergeRobertson.__fromPtr__(photo_Photo_createMergeRobertson_10());
  186. return retVal;
  187. #else
  188. return null;
  189. #endif
  190. }
  191. //
  192. // C++: Ptr_Tonemap cv::createTonemap(float gamma = 1.0f)
  193. //
  194. //javadoc: createTonemap(gamma)
  195. public static Tonemap createTonemap(float gamma) {
  196. #if (UNITY_ANDROID && !UNITY_EDITOR)
  197. Tonemap retVal = Tonemap.__fromPtr__(photo_Photo_createTonemap_10(gamma));
  198. return retVal;
  199. #else
  200. return null;
  201. #endif
  202. }
  203. //javadoc: createTonemap()
  204. public static Tonemap createTonemap() {
  205. #if (UNITY_ANDROID && !UNITY_EDITOR)
  206. Tonemap retVal = Tonemap.__fromPtr__(photo_Photo_createTonemap_11());
  207. return retVal;
  208. #else
  209. return null;
  210. #endif
  211. }
  212. //
  213. // C++: Ptr_TonemapDrago cv::createTonemapDrago(float gamma = 1.0f, float saturation = 1.0f, float bias = 0.85f)
  214. //
  215. //javadoc: createTonemapDrago(gamma, saturation, bias)
  216. public static TonemapDrago createTonemapDrago(float gamma, float saturation, float bias) {
  217. #if (UNITY_ANDROID && !UNITY_EDITOR)
  218. TonemapDrago retVal = TonemapDrago.__fromPtr__(photo_Photo_createTonemapDrago_10(gamma, saturation, bias));
  219. return retVal;
  220. #else
  221. return null;
  222. #endif
  223. }
  224. //javadoc: createTonemapDrago(gamma, saturation)
  225. public static TonemapDrago createTonemapDrago(float gamma, float saturation) {
  226. #if (UNITY_ANDROID && !UNITY_EDITOR)
  227. TonemapDrago retVal = TonemapDrago.__fromPtr__(photo_Photo_createTonemapDrago_11(gamma, saturation));
  228. return retVal;
  229. #else
  230. return null;
  231. #endif
  232. }
  233. //javadoc: createTonemapDrago(gamma)
  234. public static TonemapDrago createTonemapDrago(float gamma) {
  235. #if (UNITY_ANDROID && !UNITY_EDITOR)
  236. TonemapDrago retVal = TonemapDrago.__fromPtr__(photo_Photo_createTonemapDrago_12(gamma));
  237. return retVal;
  238. #else
  239. return null;
  240. #endif
  241. }
  242. //javadoc: createTonemapDrago()
  243. public static TonemapDrago createTonemapDrago() {
  244. #if (UNITY_ANDROID && !UNITY_EDITOR)
  245. TonemapDrago retVal = TonemapDrago.__fromPtr__(photo_Photo_createTonemapDrago_13());
  246. return retVal;
  247. #else
  248. return null;
  249. #endif
  250. }
  251. //
  252. // C++: Ptr_TonemapDurand cv::createTonemapDurand(float gamma = 1.0f, float contrast = 4.0f, float saturation = 1.0f, float sigma_space = 2.0f, float sigma_color = 2.0f)
  253. //
  254. //javadoc: createTonemapDurand(gamma, contrast, saturation, sigma_space, sigma_color)
  255. public static TonemapDurand createTonemapDurand(float gamma, float contrast, float saturation, float sigma_space, float sigma_color) {
  256. #if (UNITY_ANDROID && !UNITY_EDITOR)
  257. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_10(gamma, contrast, saturation, sigma_space, sigma_color));
  258. return retVal;
  259. #else
  260. return null;
  261. #endif
  262. }
  263. //javadoc: createTonemapDurand(gamma, contrast, saturation, sigma_space)
  264. public static TonemapDurand createTonemapDurand(float gamma, float contrast, float saturation, float sigma_space) {
  265. #if (UNITY_ANDROID && !UNITY_EDITOR)
  266. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_11(gamma, contrast, saturation, sigma_space));
  267. return retVal;
  268. #else
  269. return null;
  270. #endif
  271. }
  272. //javadoc: createTonemapDurand(gamma, contrast, saturation)
  273. public static TonemapDurand createTonemapDurand(float gamma, float contrast, float saturation) {
  274. #if (UNITY_ANDROID && !UNITY_EDITOR)
  275. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_12(gamma, contrast, saturation));
  276. return retVal;
  277. #else
  278. return null;
  279. #endif
  280. }
  281. //javadoc: createTonemapDurand(gamma, contrast)
  282. public static TonemapDurand createTonemapDurand(float gamma, float contrast) {
  283. #if (UNITY_ANDROID && !UNITY_EDITOR)
  284. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_13(gamma, contrast));
  285. return retVal;
  286. #else
  287. return null;
  288. #endif
  289. }
  290. //javadoc: createTonemapDurand(gamma)
  291. public static TonemapDurand createTonemapDurand(float gamma) {
  292. #if (UNITY_ANDROID && !UNITY_EDITOR)
  293. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_14(gamma));
  294. return retVal;
  295. #else
  296. return null;
  297. #endif
  298. }
  299. //javadoc: createTonemapDurand()
  300. public static TonemapDurand createTonemapDurand() {
  301. #if (UNITY_ANDROID && !UNITY_EDITOR)
  302. TonemapDurand retVal = TonemapDurand.__fromPtr__(photo_Photo_createTonemapDurand_15());
  303. return retVal;
  304. #else
  305. return null;
  306. #endif
  307. }
  308. //
  309. // C++: Ptr_TonemapMantiuk cv::createTonemapMantiuk(float gamma = 1.0f, float scale = 0.7f, float saturation = 1.0f)
  310. //
  311. //javadoc: createTonemapMantiuk(gamma, scale, saturation)
  312. public static TonemapMantiuk createTonemapMantiuk(float gamma, float scale, float saturation) {
  313. #if (UNITY_ANDROID && !UNITY_EDITOR)
  314. TonemapMantiuk retVal = TonemapMantiuk.__fromPtr__(photo_Photo_createTonemapMantiuk_10(gamma, scale, saturation));
  315. return retVal;
  316. #else
  317. return null;
  318. #endif
  319. }
  320. //javadoc: createTonemapMantiuk(gamma, scale)
  321. public static TonemapMantiuk createTonemapMantiuk(float gamma, float scale) {
  322. #if (UNITY_ANDROID && !UNITY_EDITOR)
  323. TonemapMantiuk retVal = TonemapMantiuk.__fromPtr__(photo_Photo_createTonemapMantiuk_11(gamma, scale));
  324. return retVal;
  325. #else
  326. return null;
  327. #endif
  328. }
  329. //javadoc: createTonemapMantiuk(gamma)
  330. public static TonemapMantiuk createTonemapMantiuk(float gamma) {
  331. #if (UNITY_ANDROID && !UNITY_EDITOR)
  332. TonemapMantiuk retVal = TonemapMantiuk.__fromPtr__(photo_Photo_createTonemapMantiuk_12(gamma));
  333. return retVal;
  334. #else
  335. return null;
  336. #endif
  337. }
  338. //javadoc: createTonemapMantiuk()
  339. public static TonemapMantiuk createTonemapMantiuk() {
  340. #if (UNITY_ANDROID && !UNITY_EDITOR)
  341. TonemapMantiuk retVal = TonemapMantiuk.__fromPtr__(photo_Photo_createTonemapMantiuk_13());
  342. return retVal;
  343. #else
  344. return null;
  345. #endif
  346. }
  347. //
  348. // C++: Ptr_TonemapReinhard cv::createTonemapReinhard(float gamma = 1.0f, float intensity = 0.0f, float light_adapt = 1.0f, float color_adapt = 0.0f)
  349. //
  350. //javadoc: createTonemapReinhard(gamma, intensity, light_adapt, color_adapt)
  351. public static TonemapReinhard createTonemapReinhard(float gamma, float intensity, float light_adapt, float color_adapt) {
  352. #if (UNITY_ANDROID && !UNITY_EDITOR)
  353. TonemapReinhard retVal = TonemapReinhard.__fromPtr__(photo_Photo_createTonemapReinhard_10(gamma, intensity, light_adapt, color_adapt));
  354. return retVal;
  355. #else
  356. return null;
  357. #endif
  358. }
  359. //javadoc: createTonemapReinhard(gamma, intensity, light_adapt)
  360. public static TonemapReinhard createTonemapReinhard(float gamma, float intensity, float light_adapt) {
  361. #if (UNITY_ANDROID && !UNITY_EDITOR)
  362. TonemapReinhard retVal = TonemapReinhard.__fromPtr__(photo_Photo_createTonemapReinhard_11(gamma, intensity, light_adapt));
  363. return retVal;
  364. #else
  365. return null;
  366. #endif
  367. }
  368. //javadoc: createTonemapReinhard(gamma, intensity)
  369. public static TonemapReinhard createTonemapReinhard(float gamma, float intensity) {
  370. #if (UNITY_ANDROID && !UNITY_EDITOR)
  371. TonemapReinhard retVal = TonemapReinhard.__fromPtr__(photo_Photo_createTonemapReinhard_12(gamma, intensity));
  372. return retVal;
  373. #else
  374. return null;
  375. #endif
  376. }
  377. //javadoc: createTonemapReinhard(gamma)
  378. public static TonemapReinhard createTonemapReinhard(float gamma) {
  379. #if (UNITY_ANDROID && !UNITY_EDITOR)
  380. TonemapReinhard retVal = TonemapReinhard.__fromPtr__(photo_Photo_createTonemapReinhard_13(gamma));
  381. return retVal;
  382. #else
  383. return null;
  384. #endif
  385. }
  386. //javadoc: createTonemapReinhard()
  387. public static TonemapReinhard createTonemapReinhard() {
  388. #if (UNITY_ANDROID && !UNITY_EDITOR)
  389. TonemapReinhard retVal = TonemapReinhard.__fromPtr__(photo_Photo_createTonemapReinhard_14());
  390. return retVal;
  391. #else
  392. return null;
  393. #endif
  394. }
  395. //
  396. // C++: void cv::colorChange(Mat src, Mat mask, Mat& dst, float red_mul = 1.0f, float green_mul = 1.0f, float blue_mul = 1.0f)
  397. //
  398. //javadoc: colorChange(src, mask, dst, red_mul, green_mul, blue_mul)
  399. public static void colorChange(Mat src, Mat mask, Mat dst, float red_mul, float green_mul, float blue_mul) {
  400. if (src != null) src.ThrowIfDisposed();
  401. if (mask != null) mask.ThrowIfDisposed();
  402. if (dst != null) dst.ThrowIfDisposed();
  403. #if (UNITY_ANDROID && !UNITY_EDITOR)
  404. photo_Photo_colorChange_10(src.nativeObj, mask.nativeObj, dst.nativeObj, red_mul, green_mul, blue_mul);
  405. return;
  406. #else
  407. return;
  408. #endif
  409. }
  410. //javadoc: colorChange(src, mask, dst, red_mul, green_mul)
  411. public static void colorChange(Mat src, Mat mask, Mat dst, float red_mul, float green_mul) {
  412. if (src != null) src.ThrowIfDisposed();
  413. if (mask != null) mask.ThrowIfDisposed();
  414. if (dst != null) dst.ThrowIfDisposed();
  415. #if (UNITY_ANDROID && !UNITY_EDITOR)
  416. photo_Photo_colorChange_11(src.nativeObj, mask.nativeObj, dst.nativeObj, red_mul, green_mul);
  417. return;
  418. #else
  419. return;
  420. #endif
  421. }
  422. //javadoc: colorChange(src, mask, dst, red_mul)
  423. public static void colorChange(Mat src, Mat mask, Mat dst, float red_mul) {
  424. if (src != null) src.ThrowIfDisposed();
  425. if (mask != null) mask.ThrowIfDisposed();
  426. if (dst != null) dst.ThrowIfDisposed();
  427. #if (UNITY_ANDROID && !UNITY_EDITOR)
  428. photo_Photo_colorChange_12(src.nativeObj, mask.nativeObj, dst.nativeObj, red_mul);
  429. return;
  430. #else
  431. return;
  432. #endif
  433. }
  434. //javadoc: colorChange(src, mask, dst)
  435. public static void colorChange(Mat src, Mat mask, Mat dst) {
  436. if (src != null) src.ThrowIfDisposed();
  437. if (mask != null) mask.ThrowIfDisposed();
  438. if (dst != null) dst.ThrowIfDisposed();
  439. #if (UNITY_ANDROID && !UNITY_EDITOR)
  440. photo_Photo_colorChange_13(src.nativeObj, mask.nativeObj, dst.nativeObj);
  441. return;
  442. #else
  443. return;
  444. #endif
  445. }
  446. //
  447. // C++: void cv::decolor(Mat src, Mat& grayscale, Mat& color_boost)
  448. //
  449. //javadoc: decolor(src, grayscale, color_boost)
  450. public static void decolor(Mat src, Mat grayscale, Mat color_boost) {
  451. if (src != null) src.ThrowIfDisposed();
  452. if (grayscale != null) grayscale.ThrowIfDisposed();
  453. if (color_boost != null) color_boost.ThrowIfDisposed();
  454. #if (UNITY_ANDROID && !UNITY_EDITOR)
  455. photo_Photo_decolor_10(src.nativeObj, grayscale.nativeObj, color_boost.nativeObj);
  456. return;
  457. #else
  458. return;
  459. #endif
  460. }
  461. //
  462. // C++: void cv::denoise_TVL1(vector_Mat observations, Mat result, double lambda = 1.0, int niters = 30)
  463. //
  464. //javadoc: denoise_TVL1(observations, result, lambda, niters)
  465. public static void denoise_TVL1(List<Mat> observations, Mat result, double lambda, int niters) {
  466. if (result != null) result.ThrowIfDisposed();
  467. #if (UNITY_ANDROID && !UNITY_EDITOR)
  468. Mat observations_mat = Converters.vector_Mat_to_Mat(observations);
  469. photo_Photo_denoise_1TVL1_10(observations_mat.nativeObj, result.nativeObj, lambda, niters);
  470. return;
  471. #else
  472. return;
  473. #endif
  474. }
  475. //javadoc: denoise_TVL1(observations, result, lambda)
  476. public static void denoise_TVL1(List<Mat> observations, Mat result, double lambda) {
  477. if (result != null) result.ThrowIfDisposed();
  478. #if (UNITY_ANDROID && !UNITY_EDITOR)
  479. Mat observations_mat = Converters.vector_Mat_to_Mat(observations);
  480. photo_Photo_denoise_1TVL1_11(observations_mat.nativeObj, result.nativeObj, lambda);
  481. return;
  482. #else
  483. return;
  484. #endif
  485. }
  486. //javadoc: denoise_TVL1(observations, result)
  487. public static void denoise_TVL1(List<Mat> observations, Mat result) {
  488. if (result != null) result.ThrowIfDisposed();
  489. #if (UNITY_ANDROID && !UNITY_EDITOR)
  490. Mat observations_mat = Converters.vector_Mat_to_Mat(observations);
  491. photo_Photo_denoise_1TVL1_12(observations_mat.nativeObj, result.nativeObj);
  492. return;
  493. #else
  494. return;
  495. #endif
  496. }
  497. //
  498. // C++: void cv::detailEnhance(Mat src, Mat& dst, float sigma_s = 10, float sigma_r = 0.15f)
  499. //
  500. //javadoc: detailEnhance(src, dst, sigma_s, sigma_r)
  501. public static void detailEnhance(Mat src, Mat dst, float sigma_s, float sigma_r) {
  502. if (src != null) src.ThrowIfDisposed();
  503. if (dst != null) dst.ThrowIfDisposed();
  504. #if (UNITY_ANDROID && !UNITY_EDITOR)
  505. photo_Photo_detailEnhance_10(src.nativeObj, dst.nativeObj, sigma_s, sigma_r);
  506. return;
  507. #else
  508. return;
  509. #endif
  510. }
  511. //javadoc: detailEnhance(src, dst, sigma_s)
  512. public static void detailEnhance(Mat src, Mat dst, float sigma_s) {
  513. if (src != null) src.ThrowIfDisposed();
  514. if (dst != null) dst.ThrowIfDisposed();
  515. #if (UNITY_ANDROID && !UNITY_EDITOR)
  516. photo_Photo_detailEnhance_11(src.nativeObj, dst.nativeObj, sigma_s);
  517. return;
  518. #else
  519. return;
  520. #endif
  521. }
  522. //javadoc: detailEnhance(src, dst)
  523. public static void detailEnhance(Mat src, Mat dst) {
  524. if (src != null) src.ThrowIfDisposed();
  525. if (dst != null) dst.ThrowIfDisposed();
  526. #if (UNITY_ANDROID && !UNITY_EDITOR)
  527. photo_Photo_detailEnhance_12(src.nativeObj, dst.nativeObj);
  528. return;
  529. #else
  530. return;
  531. #endif
  532. }
  533. //
  534. // C++: void cv::edgePreservingFilter(Mat src, Mat& dst, int flags = 1, float sigma_s = 60, float sigma_r = 0.4f)
  535. //
  536. //javadoc: edgePreservingFilter(src, dst, flags, sigma_s, sigma_r)
  537. public static void edgePreservingFilter(Mat src, Mat dst, int flags, float sigma_s, float sigma_r) {
  538. if (src != null) src.ThrowIfDisposed();
  539. if (dst != null) dst.ThrowIfDisposed();
  540. #if (UNITY_ANDROID && !UNITY_EDITOR)
  541. photo_Photo_edgePreservingFilter_10(src.nativeObj, dst.nativeObj, flags, sigma_s, sigma_r);
  542. return;
  543. #else
  544. return;
  545. #endif
  546. }
  547. //javadoc: edgePreservingFilter(src, dst, flags, sigma_s)
  548. public static void edgePreservingFilter(Mat src, Mat dst, int flags, float sigma_s) {
  549. if (src != null) src.ThrowIfDisposed();
  550. if (dst != null) dst.ThrowIfDisposed();
  551. #if (UNITY_ANDROID && !UNITY_EDITOR)
  552. photo_Photo_edgePreservingFilter_11(src.nativeObj, dst.nativeObj, flags, sigma_s);
  553. return;
  554. #else
  555. return;
  556. #endif
  557. }
  558. //javadoc: edgePreservingFilter(src, dst, flags)
  559. public static void edgePreservingFilter(Mat src, Mat dst, int flags) {
  560. if (src != null) src.ThrowIfDisposed();
  561. if (dst != null) dst.ThrowIfDisposed();
  562. #if (UNITY_ANDROID && !UNITY_EDITOR)
  563. photo_Photo_edgePreservingFilter_12(src.nativeObj, dst.nativeObj, flags);
  564. return;
  565. #else
  566. return;
  567. #endif
  568. }
  569. //javadoc: edgePreservingFilter(src, dst)
  570. public static void edgePreservingFilter(Mat src, Mat dst) {
  571. if (src != null) src.ThrowIfDisposed();
  572. if (dst != null) dst.ThrowIfDisposed();
  573. #if (UNITY_ANDROID && !UNITY_EDITOR)
  574. photo_Photo_edgePreservingFilter_13(src.nativeObj, dst.nativeObj);
  575. return;
  576. #else
  577. return;
  578. #endif
  579. }
  580. //
  581. // C++: void cv::fastNlMeansDenoising(Mat src, Mat& dst, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  582. //
  583. //javadoc: fastNlMeansDenoising(src, dst, h, templateWindowSize, searchWindowSize)
  584. public static void fastNlMeansDenoising(Mat src, Mat dst, float h, int templateWindowSize, int searchWindowSize) {
  585. if (src != null) src.ThrowIfDisposed();
  586. if (dst != null) dst.ThrowIfDisposed();
  587. #if (UNITY_ANDROID && !UNITY_EDITOR)
  588. photo_Photo_fastNlMeansDenoising_10(src.nativeObj, dst.nativeObj, h, templateWindowSize, searchWindowSize);
  589. return;
  590. #else
  591. return;
  592. #endif
  593. }
  594. //javadoc: fastNlMeansDenoising(src, dst, h, templateWindowSize)
  595. public static void fastNlMeansDenoising(Mat src, Mat dst, float h, int templateWindowSize) {
  596. if (src != null) src.ThrowIfDisposed();
  597. if (dst != null) dst.ThrowIfDisposed();
  598. #if (UNITY_ANDROID && !UNITY_EDITOR)
  599. photo_Photo_fastNlMeansDenoising_11(src.nativeObj, dst.nativeObj, h, templateWindowSize);
  600. return;
  601. #else
  602. return;
  603. #endif
  604. }
  605. //javadoc: fastNlMeansDenoising(src, dst, h)
  606. public static void fastNlMeansDenoising(Mat src, Mat dst, float h) {
  607. if (src != null) src.ThrowIfDisposed();
  608. if (dst != null) dst.ThrowIfDisposed();
  609. #if (UNITY_ANDROID && !UNITY_EDITOR)
  610. photo_Photo_fastNlMeansDenoising_12(src.nativeObj, dst.nativeObj, h);
  611. return;
  612. #else
  613. return;
  614. #endif
  615. }
  616. //javadoc: fastNlMeansDenoising(src, dst)
  617. public static void fastNlMeansDenoising(Mat src, Mat dst) {
  618. if (src != null) src.ThrowIfDisposed();
  619. if (dst != null) dst.ThrowIfDisposed();
  620. #if (UNITY_ANDROID && !UNITY_EDITOR)
  621. photo_Photo_fastNlMeansDenoising_13(src.nativeObj, dst.nativeObj);
  622. return;
  623. #else
  624. return;
  625. #endif
  626. }
  627. //
  628. // C++: void cv::fastNlMeansDenoising(Mat src, Mat& dst, vector_float h, int templateWindowSize = 7, int searchWindowSize = 21, int normType = NORM_L2)
  629. //
  630. //javadoc: fastNlMeansDenoising(src, dst, h, templateWindowSize, searchWindowSize, normType)
  631. public static void fastNlMeansDenoising(Mat src, Mat dst, MatOfFloat h, int templateWindowSize, int searchWindowSize, int normType) {
  632. if (src != null) src.ThrowIfDisposed();
  633. if (dst != null) dst.ThrowIfDisposed();
  634. if (h != null) h.ThrowIfDisposed();
  635. #if (UNITY_ANDROID && !UNITY_EDITOR)
  636. Mat h_mat = h;
  637. photo_Photo_fastNlMeansDenoising_14(src.nativeObj, dst.nativeObj, h_mat.nativeObj, templateWindowSize, searchWindowSize, normType);
  638. return;
  639. #else
  640. return;
  641. #endif
  642. }
  643. //javadoc: fastNlMeansDenoising(src, dst, h, templateWindowSize, searchWindowSize)
  644. public static void fastNlMeansDenoising(Mat src, Mat dst, MatOfFloat h, int templateWindowSize, int searchWindowSize) {
  645. if (src != null) src.ThrowIfDisposed();
  646. if (dst != null) dst.ThrowIfDisposed();
  647. if (h != null) h.ThrowIfDisposed();
  648. #if (UNITY_ANDROID && !UNITY_EDITOR)
  649. Mat h_mat = h;
  650. photo_Photo_fastNlMeansDenoising_15(src.nativeObj, dst.nativeObj, h_mat.nativeObj, templateWindowSize, searchWindowSize);
  651. return;
  652. #else
  653. return;
  654. #endif
  655. }
  656. //javadoc: fastNlMeansDenoising(src, dst, h, templateWindowSize)
  657. public static void fastNlMeansDenoising(Mat src, Mat dst, MatOfFloat h, int templateWindowSize) {
  658. if (src != null) src.ThrowIfDisposed();
  659. if (dst != null) dst.ThrowIfDisposed();
  660. if (h != null) h.ThrowIfDisposed();
  661. #if (UNITY_ANDROID && !UNITY_EDITOR)
  662. Mat h_mat = h;
  663. photo_Photo_fastNlMeansDenoising_16(src.nativeObj, dst.nativeObj, h_mat.nativeObj, templateWindowSize);
  664. return;
  665. #else
  666. return;
  667. #endif
  668. }
  669. //javadoc: fastNlMeansDenoising(src, dst, h)
  670. public static void fastNlMeansDenoising(Mat src, Mat dst, MatOfFloat h) {
  671. if (src != null) src.ThrowIfDisposed();
  672. if (dst != null) dst.ThrowIfDisposed();
  673. if (h != null) h.ThrowIfDisposed();
  674. #if (UNITY_ANDROID && !UNITY_EDITOR)
  675. Mat h_mat = h;
  676. photo_Photo_fastNlMeansDenoising_17(src.nativeObj, dst.nativeObj, h_mat.nativeObj);
  677. return;
  678. #else
  679. return;
  680. #endif
  681. }
  682. //
  683. // C++: void cv::fastNlMeansDenoisingColored(Mat src, Mat& dst, float h = 3, float hColor = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  684. //
  685. //javadoc: fastNlMeansDenoisingColored(src, dst, h, hColor, templateWindowSize, searchWindowSize)
  686. public static void fastNlMeansDenoisingColored(Mat src, Mat dst, float h, float hColor, int templateWindowSize, int searchWindowSize) {
  687. if (src != null) src.ThrowIfDisposed();
  688. if (dst != null) dst.ThrowIfDisposed();
  689. #if (UNITY_ANDROID && !UNITY_EDITOR)
  690. photo_Photo_fastNlMeansDenoisingColored_10(src.nativeObj, dst.nativeObj, h, hColor, templateWindowSize, searchWindowSize);
  691. return;
  692. #else
  693. return;
  694. #endif
  695. }
  696. //javadoc: fastNlMeansDenoisingColored(src, dst, h, hColor, templateWindowSize)
  697. public static void fastNlMeansDenoisingColored(Mat src, Mat dst, float h, float hColor, int templateWindowSize) {
  698. if (src != null) src.ThrowIfDisposed();
  699. if (dst != null) dst.ThrowIfDisposed();
  700. #if (UNITY_ANDROID && !UNITY_EDITOR)
  701. photo_Photo_fastNlMeansDenoisingColored_11(src.nativeObj, dst.nativeObj, h, hColor, templateWindowSize);
  702. return;
  703. #else
  704. return;
  705. #endif
  706. }
  707. //javadoc: fastNlMeansDenoisingColored(src, dst, h, hColor)
  708. public static void fastNlMeansDenoisingColored(Mat src, Mat dst, float h, float hColor) {
  709. if (src != null) src.ThrowIfDisposed();
  710. if (dst != null) dst.ThrowIfDisposed();
  711. #if (UNITY_ANDROID && !UNITY_EDITOR)
  712. photo_Photo_fastNlMeansDenoisingColored_12(src.nativeObj, dst.nativeObj, h, hColor);
  713. return;
  714. #else
  715. return;
  716. #endif
  717. }
  718. //javadoc: fastNlMeansDenoisingColored(src, dst, h)
  719. public static void fastNlMeansDenoisingColored(Mat src, Mat dst, float h) {
  720. if (src != null) src.ThrowIfDisposed();
  721. if (dst != null) dst.ThrowIfDisposed();
  722. #if (UNITY_ANDROID && !UNITY_EDITOR)
  723. photo_Photo_fastNlMeansDenoisingColored_13(src.nativeObj, dst.nativeObj, h);
  724. return;
  725. #else
  726. return;
  727. #endif
  728. }
  729. //javadoc: fastNlMeansDenoisingColored(src, dst)
  730. public static void fastNlMeansDenoisingColored(Mat src, Mat dst) {
  731. if (src != null) src.ThrowIfDisposed();
  732. if (dst != null) dst.ThrowIfDisposed();
  733. #if (UNITY_ANDROID && !UNITY_EDITOR)
  734. photo_Photo_fastNlMeansDenoisingColored_14(src.nativeObj, dst.nativeObj);
  735. return;
  736. #else
  737. return;
  738. #endif
  739. }
  740. //
  741. // C++: void cv::fastNlMeansDenoisingColoredMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, float hColor = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  742. //
  743. //javadoc: fastNlMeansDenoisingColoredMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, hColor, templateWindowSize, searchWindowSize)
  744. public static void fastNlMeansDenoisingColoredMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize, int searchWindowSize) {
  745. if (dst != null) dst.ThrowIfDisposed();
  746. #if (UNITY_ANDROID && !UNITY_EDITOR)
  747. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  748. photo_Photo_fastNlMeansDenoisingColoredMulti_10(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h, hColor, templateWindowSize, searchWindowSize);
  749. return;
  750. #else
  751. return;
  752. #endif
  753. }
  754. //javadoc: fastNlMeansDenoisingColoredMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, hColor, templateWindowSize)
  755. public static void fastNlMeansDenoisingColoredMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize) {
  756. if (dst != null) dst.ThrowIfDisposed();
  757. #if (UNITY_ANDROID && !UNITY_EDITOR)
  758. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  759. photo_Photo_fastNlMeansDenoisingColoredMulti_11(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h, hColor, templateWindowSize);
  760. return;
  761. #else
  762. return;
  763. #endif
  764. }
  765. //javadoc: fastNlMeansDenoisingColoredMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, hColor)
  766. public static void fastNlMeansDenoisingColoredMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor) {
  767. if (dst != null) dst.ThrowIfDisposed();
  768. #if (UNITY_ANDROID && !UNITY_EDITOR)
  769. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  770. photo_Photo_fastNlMeansDenoisingColoredMulti_12(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h, hColor);
  771. return;
  772. #else
  773. return;
  774. #endif
  775. }
  776. //javadoc: fastNlMeansDenoisingColoredMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h)
  777. public static void fastNlMeansDenoisingColoredMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h) {
  778. if (dst != null) dst.ThrowIfDisposed();
  779. #if (UNITY_ANDROID && !UNITY_EDITOR)
  780. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  781. photo_Photo_fastNlMeansDenoisingColoredMulti_13(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h);
  782. return;
  783. #else
  784. return;
  785. #endif
  786. }
  787. //javadoc: fastNlMeansDenoisingColoredMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize)
  788. public static void fastNlMeansDenoisingColoredMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize) {
  789. if (dst != null) dst.ThrowIfDisposed();
  790. #if (UNITY_ANDROID && !UNITY_EDITOR)
  791. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  792. photo_Photo_fastNlMeansDenoisingColoredMulti_14(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize);
  793. return;
  794. #else
  795. return;
  796. #endif
  797. }
  798. //
  799. // C++: void cv::fastNlMeansDenoisingMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  800. //
  801. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize, searchWindowSize)
  802. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize, int searchWindowSize) {
  803. if (dst != null) dst.ThrowIfDisposed();
  804. #if (UNITY_ANDROID && !UNITY_EDITOR)
  805. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  806. photo_Photo_fastNlMeansDenoisingMulti_10(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize, searchWindowSize);
  807. return;
  808. #else
  809. return;
  810. #endif
  811. }
  812. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize)
  813. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize) {
  814. if (dst != null) dst.ThrowIfDisposed();
  815. #if (UNITY_ANDROID && !UNITY_EDITOR)
  816. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  817. photo_Photo_fastNlMeansDenoisingMulti_11(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize);
  818. return;
  819. #else
  820. return;
  821. #endif
  822. }
  823. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h)
  824. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h) {
  825. if (dst != null) dst.ThrowIfDisposed();
  826. #if (UNITY_ANDROID && !UNITY_EDITOR)
  827. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  828. photo_Photo_fastNlMeansDenoisingMulti_12(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h);
  829. return;
  830. #else
  831. return;
  832. #endif
  833. }
  834. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize)
  835. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize) {
  836. if (dst != null) dst.ThrowIfDisposed();
  837. #if (UNITY_ANDROID && !UNITY_EDITOR)
  838. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  839. photo_Photo_fastNlMeansDenoisingMulti_13(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize);
  840. return;
  841. #else
  842. return;
  843. #endif
  844. }
  845. //
  846. // C++: void cv::fastNlMeansDenoisingMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, vector_float h, int templateWindowSize = 7, int searchWindowSize = 21, int normType = NORM_L2)
  847. //
  848. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize, searchWindowSize, normType)
  849. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize, int searchWindowSize, int normType) {
  850. if (dst != null) dst.ThrowIfDisposed();
  851. if (h != null) h.ThrowIfDisposed();
  852. #if (UNITY_ANDROID && !UNITY_EDITOR)
  853. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  854. Mat h_mat = h;
  855. photo_Photo_fastNlMeansDenoisingMulti_14(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h_mat.nativeObj, templateWindowSize, searchWindowSize, normType);
  856. return;
  857. #else
  858. return;
  859. #endif
  860. }
  861. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize, searchWindowSize)
  862. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize, int searchWindowSize) {
  863. if (dst != null) dst.ThrowIfDisposed();
  864. if (h != null) h.ThrowIfDisposed();
  865. #if (UNITY_ANDROID && !UNITY_EDITOR)
  866. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  867. Mat h_mat = h;
  868. photo_Photo_fastNlMeansDenoisingMulti_15(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h_mat.nativeObj, templateWindowSize, searchWindowSize);
  869. return;
  870. #else
  871. return;
  872. #endif
  873. }
  874. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h, templateWindowSize)
  875. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize) {
  876. if (dst != null) dst.ThrowIfDisposed();
  877. if (h != null) h.ThrowIfDisposed();
  878. #if (UNITY_ANDROID && !UNITY_EDITOR)
  879. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  880. Mat h_mat = h;
  881. photo_Photo_fastNlMeansDenoisingMulti_16(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h_mat.nativeObj, templateWindowSize);
  882. return;
  883. #else
  884. return;
  885. #endif
  886. }
  887. //javadoc: fastNlMeansDenoisingMulti(srcImgs, dst, imgToDenoiseIndex, temporalWindowSize, h)
  888. public static void fastNlMeansDenoisingMulti(List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h) {
  889. if (dst != null) dst.ThrowIfDisposed();
  890. if (h != null) h.ThrowIfDisposed();
  891. #if (UNITY_ANDROID && !UNITY_EDITOR)
  892. Mat srcImgs_mat = Converters.vector_Mat_to_Mat(srcImgs);
  893. Mat h_mat = h;
  894. photo_Photo_fastNlMeansDenoisingMulti_17(srcImgs_mat.nativeObj, dst.nativeObj, imgToDenoiseIndex, temporalWindowSize, h_mat.nativeObj);
  895. return;
  896. #else
  897. return;
  898. #endif
  899. }
  900. //
  901. // C++: void cv::illuminationChange(Mat src, Mat mask, Mat& dst, float alpha = 0.2f, float beta = 0.4f)
  902. //
  903. //javadoc: illuminationChange(src, mask, dst, alpha, beta)
  904. public static void illuminationChange(Mat src, Mat mask, Mat dst, float alpha, float beta) {
  905. if (src != null) src.ThrowIfDisposed();
  906. if (mask != null) mask.ThrowIfDisposed();
  907. if (dst != null) dst.ThrowIfDisposed();
  908. #if (UNITY_ANDROID && !UNITY_EDITOR)
  909. photo_Photo_illuminationChange_10(src.nativeObj, mask.nativeObj, dst.nativeObj, alpha, beta);
  910. return;
  911. #else
  912. return;
  913. #endif
  914. }
  915. //javadoc: illuminationChange(src, mask, dst, alpha)
  916. public static void illuminationChange(Mat src, Mat mask, Mat dst, float alpha) {
  917. if (src != null) src.ThrowIfDisposed();
  918. if (mask != null) mask.ThrowIfDisposed();
  919. if (dst != null) dst.ThrowIfDisposed();
  920. #if (UNITY_ANDROID && !UNITY_EDITOR)
  921. photo_Photo_illuminationChange_11(src.nativeObj, mask.nativeObj, dst.nativeObj, alpha);
  922. return;
  923. #else
  924. return;
  925. #endif
  926. }
  927. //javadoc: illuminationChange(src, mask, dst)
  928. public static void illuminationChange(Mat src, Mat mask, Mat dst) {
  929. if (src != null) src.ThrowIfDisposed();
  930. if (mask != null) mask.ThrowIfDisposed();
  931. if (dst != null) dst.ThrowIfDisposed();
  932. #if (UNITY_ANDROID && !UNITY_EDITOR)
  933. photo_Photo_illuminationChange_12(src.nativeObj, mask.nativeObj, dst.nativeObj);
  934. return;
  935. #else
  936. return;
  937. #endif
  938. }
  939. //
  940. // C++: void cv::inpaint(Mat src, Mat inpaintMask, Mat& dst, double inpaintRadius, int flags)
  941. //
  942. //javadoc: inpaint(src, inpaintMask, dst, inpaintRadius, flags)
  943. public static void inpaint(Mat src, Mat inpaintMask, Mat dst, double inpaintRadius, int flags) {
  944. if (src != null) src.ThrowIfDisposed();
  945. if (inpaintMask != null) inpaintMask.ThrowIfDisposed();
  946. if (dst != null) dst.ThrowIfDisposed();
  947. #if (UNITY_ANDROID && !UNITY_EDITOR)
  948. photo_Photo_inpaint_10(src.nativeObj, inpaintMask.nativeObj, dst.nativeObj, inpaintRadius, flags);
  949. return;
  950. #else
  951. return;
  952. #endif
  953. }
  954. //
  955. // C++: void cv::pencilSketch(Mat src, Mat& dst1, Mat& dst2, float sigma_s = 60, float sigma_r = 0.07f, float shade_factor = 0.02f)
  956. //
  957. //javadoc: pencilSketch(src, dst1, dst2, sigma_s, sigma_r, shade_factor)
  958. public static void pencilSketch(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r, float shade_factor) {
  959. if (src != null) src.ThrowIfDisposed();
  960. if (dst1 != null) dst1.ThrowIfDisposed();
  961. if (dst2 != null) dst2.ThrowIfDisposed();
  962. #if (UNITY_ANDROID && !UNITY_EDITOR)
  963. photo_Photo_pencilSketch_10(src.nativeObj, dst1.nativeObj, dst2.nativeObj, sigma_s, sigma_r, shade_factor);
  964. return;
  965. #else
  966. return;
  967. #endif
  968. }
  969. //javadoc: pencilSketch(src, dst1, dst2, sigma_s, sigma_r)
  970. public static void pencilSketch(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r) {
  971. if (src != null) src.ThrowIfDisposed();
  972. if (dst1 != null) dst1.ThrowIfDisposed();
  973. if (dst2 != null) dst2.ThrowIfDisposed();
  974. #if (UNITY_ANDROID && !UNITY_EDITOR)
  975. photo_Photo_pencilSketch_11(src.nativeObj, dst1.nativeObj, dst2.nativeObj, sigma_s, sigma_r);
  976. return;
  977. #else
  978. return;
  979. #endif
  980. }
  981. //javadoc: pencilSketch(src, dst1, dst2, sigma_s)
  982. public static void pencilSketch(Mat src, Mat dst1, Mat dst2, float sigma_s) {
  983. if (src != null) src.ThrowIfDisposed();
  984. if (dst1 != null) dst1.ThrowIfDisposed();
  985. if (dst2 != null) dst2.ThrowIfDisposed();
  986. #if (UNITY_ANDROID && !UNITY_EDITOR)
  987. photo_Photo_pencilSketch_12(src.nativeObj, dst1.nativeObj, dst2.nativeObj, sigma_s);
  988. return;
  989. #else
  990. return;
  991. #endif
  992. }
  993. //javadoc: pencilSketch(src, dst1, dst2)
  994. public static void pencilSketch(Mat src, Mat dst1, Mat dst2) {
  995. if (src != null) src.ThrowIfDisposed();
  996. if (dst1 != null) dst1.ThrowIfDisposed();
  997. if (dst2 != null) dst2.ThrowIfDisposed();
  998. #if (UNITY_ANDROID && !UNITY_EDITOR)
  999. photo_Photo_pencilSketch_13(src.nativeObj, dst1.nativeObj, dst2.nativeObj);
  1000. return;
  1001. #else
  1002. return;
  1003. #endif
  1004. }
  1005. //
  1006. // C++: void cv::seamlessClone(Mat src, Mat dst, Mat mask, Point p, Mat& blend, int flags)
  1007. //
  1008. //javadoc: seamlessClone(src, dst, mask, p, blend, flags)
  1009. public static void seamlessClone(Mat src, Mat dst, Mat mask, Point p, Mat blend, int flags) {
  1010. if (src != null) src.ThrowIfDisposed();
  1011. if (dst != null) dst.ThrowIfDisposed();
  1012. if (mask != null) mask.ThrowIfDisposed();
  1013. if (blend != null) blend.ThrowIfDisposed();
  1014. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1015. photo_Photo_seamlessClone_10(src.nativeObj, dst.nativeObj, mask.nativeObj, p.x, p.y, blend.nativeObj, flags);
  1016. return;
  1017. #else
  1018. return;
  1019. #endif
  1020. }
  1021. //
  1022. // C++: void cv::stylization(Mat src, Mat& dst, float sigma_s = 60, float sigma_r = 0.45f)
  1023. //
  1024. //javadoc: stylization(src, dst, sigma_s, sigma_r)
  1025. public static void stylization(Mat src, Mat dst, float sigma_s, float sigma_r) {
  1026. if (src != null) src.ThrowIfDisposed();
  1027. if (dst != null) dst.ThrowIfDisposed();
  1028. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1029. photo_Photo_stylization_10(src.nativeObj, dst.nativeObj, sigma_s, sigma_r);
  1030. return;
  1031. #else
  1032. return;
  1033. #endif
  1034. }
  1035. //javadoc: stylization(src, dst, sigma_s)
  1036. public static void stylization(Mat src, Mat dst, float sigma_s) {
  1037. if (src != null) src.ThrowIfDisposed();
  1038. if (dst != null) dst.ThrowIfDisposed();
  1039. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1040. photo_Photo_stylization_11(src.nativeObj, dst.nativeObj, sigma_s);
  1041. return;
  1042. #else
  1043. return;
  1044. #endif
  1045. }
  1046. //javadoc: stylization(src, dst)
  1047. public static void stylization(Mat src, Mat dst) {
  1048. if (src != null) src.ThrowIfDisposed();
  1049. if (dst != null) dst.ThrowIfDisposed();
  1050. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1051. photo_Photo_stylization_12(src.nativeObj, dst.nativeObj);
  1052. return;
  1053. #else
  1054. return;
  1055. #endif
  1056. }
  1057. //
  1058. // C++: void cv::textureFlattening(Mat src, Mat mask, Mat& dst, float low_threshold = 30, float high_threshold = 45, int kernel_size = 3)
  1059. //
  1060. //javadoc: textureFlattening(src, mask, dst, low_threshold, high_threshold, kernel_size)
  1061. public static void textureFlattening(Mat src, Mat mask, Mat dst, float low_threshold, float high_threshold, int kernel_size) {
  1062. if (src != null) src.ThrowIfDisposed();
  1063. if (mask != null) mask.ThrowIfDisposed();
  1064. if (dst != null) dst.ThrowIfDisposed();
  1065. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1066. photo_Photo_textureFlattening_10(src.nativeObj, mask.nativeObj, dst.nativeObj, low_threshold, high_threshold, kernel_size);
  1067. return;
  1068. #else
  1069. return;
  1070. #endif
  1071. }
  1072. //javadoc: textureFlattening(src, mask, dst, low_threshold, high_threshold)
  1073. public static void textureFlattening(Mat src, Mat mask, Mat dst, float low_threshold, float high_threshold) {
  1074. if (src != null) src.ThrowIfDisposed();
  1075. if (mask != null) mask.ThrowIfDisposed();
  1076. if (dst != null) dst.ThrowIfDisposed();
  1077. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1078. photo_Photo_textureFlattening_11(src.nativeObj, mask.nativeObj, dst.nativeObj, low_threshold, high_threshold);
  1079. return;
  1080. #else
  1081. return;
  1082. #endif
  1083. }
  1084. //javadoc: textureFlattening(src, mask, dst, low_threshold)
  1085. public static void textureFlattening(Mat src, Mat mask, Mat dst, float low_threshold) {
  1086. if (src != null) src.ThrowIfDisposed();
  1087. if (mask != null) mask.ThrowIfDisposed();
  1088. if (dst != null) dst.ThrowIfDisposed();
  1089. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1090. photo_Photo_textureFlattening_12(src.nativeObj, mask.nativeObj, dst.nativeObj, low_threshold);
  1091. return;
  1092. #else
  1093. return;
  1094. #endif
  1095. }
  1096. //javadoc: textureFlattening(src, mask, dst)
  1097. public static void textureFlattening(Mat src, Mat mask, Mat dst) {
  1098. if (src != null) src.ThrowIfDisposed();
  1099. if (mask != null) mask.ThrowIfDisposed();
  1100. if (dst != null) dst.ThrowIfDisposed();
  1101. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1102. photo_Photo_textureFlattening_13(src.nativeObj, mask.nativeObj, dst.nativeObj);
  1103. return;
  1104. #else
  1105. return;
  1106. #endif
  1107. }
  1108. #if (UNITY_ANDROID && !UNITY_EDITOR)
  1109. const string LIBNAME = "opencvforunity";
  1110. // C++: Ptr_AlignMTB cv::createAlignMTB(int max_bits = 6, int exclude_range = 4, bool cut = true)
  1111. [DllImport(LIBNAME)]
  1112. private static extern IntPtr photo_Photo_createAlignMTB_10(int max_bits, int exclude_range, bool cut);
  1113. [DllImport(LIBNAME)]
  1114. private static extern IntPtr photo_Photo_createAlignMTB_11(int max_bits, int exclude_range);
  1115. [DllImport(LIBNAME)]
  1116. private static extern IntPtr photo_Photo_createAlignMTB_12(int max_bits);
  1117. [DllImport(LIBNAME)]
  1118. private static extern IntPtr photo_Photo_createAlignMTB_13();
  1119. // C++: Ptr_CalibrateDebevec cv::createCalibrateDebevec(int samples = 70, float lambda = 10.0f, bool random = false)
  1120. [DllImport(LIBNAME)]
  1121. private static extern IntPtr photo_Photo_createCalibrateDebevec_10(int samples, float lambda, bool random);
  1122. [DllImport(LIBNAME)]
  1123. private static extern IntPtr photo_Photo_createCalibrateDebevec_11(int samples, float lambda);
  1124. [DllImport(LIBNAME)]
  1125. private static extern IntPtr photo_Photo_createCalibrateDebevec_12(int samples);
  1126. [DllImport(LIBNAME)]
  1127. private static extern IntPtr photo_Photo_createCalibrateDebevec_13();
  1128. // C++: Ptr_CalibrateRobertson cv::createCalibrateRobertson(int max_iter = 30, float threshold = 0.01f)
  1129. [DllImport(LIBNAME)]
  1130. private static extern IntPtr photo_Photo_createCalibrateRobertson_10(int max_iter, float threshold);
  1131. [DllImport(LIBNAME)]
  1132. private static extern IntPtr photo_Photo_createCalibrateRobertson_11(int max_iter);
  1133. [DllImport(LIBNAME)]
  1134. private static extern IntPtr photo_Photo_createCalibrateRobertson_12();
  1135. // C++: Ptr_MergeDebevec cv::createMergeDebevec()
  1136. [DllImport(LIBNAME)]
  1137. private static extern IntPtr photo_Photo_createMergeDebevec_10();
  1138. // C++: Ptr_MergeMertens cv::createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f)
  1139. [DllImport(LIBNAME)]
  1140. private static extern IntPtr photo_Photo_createMergeMertens_10(float contrast_weight, float saturation_weight, float exposure_weight);
  1141. [DllImport(LIBNAME)]
  1142. private static extern IntPtr photo_Photo_createMergeMertens_11(float contrast_weight, float saturation_weight);
  1143. [DllImport(LIBNAME)]
  1144. private static extern IntPtr photo_Photo_createMergeMertens_12(float contrast_weight);
  1145. [DllImport(LIBNAME)]
  1146. private static extern IntPtr photo_Photo_createMergeMertens_13();
  1147. // C++: Ptr_MergeRobertson cv::createMergeRobertson()
  1148. [DllImport(LIBNAME)]
  1149. private static extern IntPtr photo_Photo_createMergeRobertson_10();
  1150. // C++: Ptr_Tonemap cv::createTonemap(float gamma = 1.0f)
  1151. [DllImport(LIBNAME)]
  1152. private static extern IntPtr photo_Photo_createTonemap_10(float gamma);
  1153. [DllImport(LIBNAME)]
  1154. private static extern IntPtr photo_Photo_createTonemap_11();
  1155. // C++: Ptr_TonemapDrago cv::createTonemapDrago(float gamma = 1.0f, float saturation = 1.0f, float bias = 0.85f)
  1156. [DllImport(LIBNAME)]
  1157. private static extern IntPtr photo_Photo_createTonemapDrago_10(float gamma, float saturation, float bias);
  1158. [DllImport(LIBNAME)]
  1159. private static extern IntPtr photo_Photo_createTonemapDrago_11(float gamma, float saturation);
  1160. [DllImport(LIBNAME)]
  1161. private static extern IntPtr photo_Photo_createTonemapDrago_12(float gamma);
  1162. [DllImport(LIBNAME)]
  1163. private static extern IntPtr photo_Photo_createTonemapDrago_13();
  1164. // C++: Ptr_TonemapDurand cv::createTonemapDurand(float gamma = 1.0f, float contrast = 4.0f, float saturation = 1.0f, float sigma_space = 2.0f, float sigma_color = 2.0f)
  1165. [DllImport(LIBNAME)]
  1166. private static extern IntPtr photo_Photo_createTonemapDurand_10(float gamma, float contrast, float saturation, float sigma_space, float sigma_color);
  1167. [DllImport(LIBNAME)]
  1168. private static extern IntPtr photo_Photo_createTonemapDurand_11(float gamma, float contrast, float saturation, float sigma_space);
  1169. [DllImport(LIBNAME)]
  1170. private static extern IntPtr photo_Photo_createTonemapDurand_12(float gamma, float contrast, float saturation);
  1171. [DllImport(LIBNAME)]
  1172. private static extern IntPtr photo_Photo_createTonemapDurand_13(float gamma, float contrast);
  1173. [DllImport(LIBNAME)]
  1174. private static extern IntPtr photo_Photo_createTonemapDurand_14(float gamma);
  1175. [DllImport(LIBNAME)]
  1176. private static extern IntPtr photo_Photo_createTonemapDurand_15();
  1177. // C++: Ptr_TonemapMantiuk cv::createTonemapMantiuk(float gamma = 1.0f, float scale = 0.7f, float saturation = 1.0f)
  1178. [DllImport(LIBNAME)]
  1179. private static extern IntPtr photo_Photo_createTonemapMantiuk_10(float gamma, float scale, float saturation);
  1180. [DllImport(LIBNAME)]
  1181. private static extern IntPtr photo_Photo_createTonemapMantiuk_11(float gamma, float scale);
  1182. [DllImport(LIBNAME)]
  1183. private static extern IntPtr photo_Photo_createTonemapMantiuk_12(float gamma);
  1184. [DllImport(LIBNAME)]
  1185. private static extern IntPtr photo_Photo_createTonemapMantiuk_13();
  1186. // C++: Ptr_TonemapReinhard cv::createTonemapReinhard(float gamma = 1.0f, float intensity = 0.0f, float light_adapt = 1.0f, float color_adapt = 0.0f)
  1187. [DllImport(LIBNAME)]
  1188. private static extern IntPtr photo_Photo_createTonemapReinhard_10(float gamma, float intensity, float light_adapt, float color_adapt);
  1189. [DllImport(LIBNAME)]
  1190. private static extern IntPtr photo_Photo_createTonemapReinhard_11(float gamma, float intensity, float light_adapt);
  1191. [DllImport(LIBNAME)]
  1192. private static extern IntPtr photo_Photo_createTonemapReinhard_12(float gamma, float intensity);
  1193. [DllImport(LIBNAME)]
  1194. private static extern IntPtr photo_Photo_createTonemapReinhard_13(float gamma);
  1195. [DllImport(LIBNAME)]
  1196. private static extern IntPtr photo_Photo_createTonemapReinhard_14();
  1197. // C++: void cv::colorChange(Mat src, Mat mask, Mat& dst, float red_mul = 1.0f, float green_mul = 1.0f, float blue_mul = 1.0f)
  1198. [DllImport(LIBNAME)]
  1199. private static extern void photo_Photo_colorChange_10(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float red_mul, float green_mul, float blue_mul);
  1200. [DllImport(LIBNAME)]
  1201. private static extern void photo_Photo_colorChange_11(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float red_mul, float green_mul);
  1202. [DllImport(LIBNAME)]
  1203. private static extern void photo_Photo_colorChange_12(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float red_mul);
  1204. [DllImport(LIBNAME)]
  1205. private static extern void photo_Photo_colorChange_13(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj);
  1206. // C++: void cv::decolor(Mat src, Mat& grayscale, Mat& color_boost)
  1207. [DllImport(LIBNAME)]
  1208. private static extern void photo_Photo_decolor_10(IntPtr src_nativeObj, IntPtr grayscale_nativeObj, IntPtr color_boost_nativeObj);
  1209. // C++: void cv::denoise_TVL1(vector_Mat observations, Mat result, double lambda = 1.0, int niters = 30)
  1210. [DllImport(LIBNAME)]
  1211. private static extern void photo_Photo_denoise_1TVL1_10(IntPtr observations_mat_nativeObj, IntPtr result_nativeObj, double lambda, int niters);
  1212. [DllImport(LIBNAME)]
  1213. private static extern void photo_Photo_denoise_1TVL1_11(IntPtr observations_mat_nativeObj, IntPtr result_nativeObj, double lambda);
  1214. [DllImport(LIBNAME)]
  1215. private static extern void photo_Photo_denoise_1TVL1_12(IntPtr observations_mat_nativeObj, IntPtr result_nativeObj);
  1216. // C++: void cv::detailEnhance(Mat src, Mat& dst, float sigma_s = 10, float sigma_r = 0.15f)
  1217. [DllImport(LIBNAME)]
  1218. private static extern void photo_Photo_detailEnhance_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, float sigma_s, float sigma_r);
  1219. [DllImport(LIBNAME)]
  1220. private static extern void photo_Photo_detailEnhance_11(IntPtr src_nativeObj, IntPtr dst_nativeObj, float sigma_s);
  1221. [DllImport(LIBNAME)]
  1222. private static extern void photo_Photo_detailEnhance_12(IntPtr src_nativeObj, IntPtr dst_nativeObj);
  1223. // C++: void cv::edgePreservingFilter(Mat src, Mat& dst, int flags = 1, float sigma_s = 60, float sigma_r = 0.4f)
  1224. [DllImport(LIBNAME)]
  1225. private static extern void photo_Photo_edgePreservingFilter_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, int flags, float sigma_s, float sigma_r);
  1226. [DllImport(LIBNAME)]
  1227. private static extern void photo_Photo_edgePreservingFilter_11(IntPtr src_nativeObj, IntPtr dst_nativeObj, int flags, float sigma_s);
  1228. [DllImport(LIBNAME)]
  1229. private static extern void photo_Photo_edgePreservingFilter_12(IntPtr src_nativeObj, IntPtr dst_nativeObj, int flags);
  1230. [DllImport(LIBNAME)]
  1231. private static extern void photo_Photo_edgePreservingFilter_13(IntPtr src_nativeObj, IntPtr dst_nativeObj);
  1232. // C++: void cv::fastNlMeansDenoising(Mat src, Mat& dst, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  1233. [DllImport(LIBNAME)]
  1234. private static extern void photo_Photo_fastNlMeansDenoising_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h, int templateWindowSize, int searchWindowSize);
  1235. [DllImport(LIBNAME)]
  1236. private static extern void photo_Photo_fastNlMeansDenoising_11(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h, int templateWindowSize);
  1237. [DllImport(LIBNAME)]
  1238. private static extern void photo_Photo_fastNlMeansDenoising_12(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h);
  1239. [DllImport(LIBNAME)]
  1240. private static extern void photo_Photo_fastNlMeansDenoising_13(IntPtr src_nativeObj, IntPtr dst_nativeObj);
  1241. // C++: void cv::fastNlMeansDenoising(Mat src, Mat& dst, vector_float h, int templateWindowSize = 7, int searchWindowSize = 21, int normType = NORM_L2)
  1242. [DllImport(LIBNAME)]
  1243. private static extern void photo_Photo_fastNlMeansDenoising_14(IntPtr src_nativeObj, IntPtr dst_nativeObj, IntPtr h_mat_nativeObj, int templateWindowSize, int searchWindowSize, int normType);
  1244. [DllImport(LIBNAME)]
  1245. private static extern void photo_Photo_fastNlMeansDenoising_15(IntPtr src_nativeObj, IntPtr dst_nativeObj, IntPtr h_mat_nativeObj, int templateWindowSize, int searchWindowSize);
  1246. [DllImport(LIBNAME)]
  1247. private static extern void photo_Photo_fastNlMeansDenoising_16(IntPtr src_nativeObj, IntPtr dst_nativeObj, IntPtr h_mat_nativeObj, int templateWindowSize);
  1248. [DllImport(LIBNAME)]
  1249. private static extern void photo_Photo_fastNlMeansDenoising_17(IntPtr src_nativeObj, IntPtr dst_nativeObj, IntPtr h_mat_nativeObj);
  1250. // C++: void cv::fastNlMeansDenoisingColored(Mat src, Mat& dst, float h = 3, float hColor = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  1251. [DllImport(LIBNAME)]
  1252. private static extern void photo_Photo_fastNlMeansDenoisingColored_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h, float hColor, int templateWindowSize, int searchWindowSize);
  1253. [DllImport(LIBNAME)]
  1254. private static extern void photo_Photo_fastNlMeansDenoisingColored_11(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h, float hColor, int templateWindowSize);
  1255. [DllImport(LIBNAME)]
  1256. private static extern void photo_Photo_fastNlMeansDenoisingColored_12(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h, float hColor);
  1257. [DllImport(LIBNAME)]
  1258. private static extern void photo_Photo_fastNlMeansDenoisingColored_13(IntPtr src_nativeObj, IntPtr dst_nativeObj, float h);
  1259. [DllImport(LIBNAME)]
  1260. private static extern void photo_Photo_fastNlMeansDenoisingColored_14(IntPtr src_nativeObj, IntPtr dst_nativeObj);
  1261. // C++: void cv::fastNlMeansDenoisingColoredMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, float hColor = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  1262. [DllImport(LIBNAME)]
  1263. private static extern void photo_Photo_fastNlMeansDenoisingColoredMulti_10(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize, int searchWindowSize);
  1264. [DllImport(LIBNAME)]
  1265. private static extern void photo_Photo_fastNlMeansDenoisingColoredMulti_11(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize);
  1266. [DllImport(LIBNAME)]
  1267. private static extern void photo_Photo_fastNlMeansDenoisingColoredMulti_12(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor);
  1268. [DllImport(LIBNAME)]
  1269. private static extern void photo_Photo_fastNlMeansDenoisingColoredMulti_13(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h);
  1270. [DllImport(LIBNAME)]
  1271. private static extern void photo_Photo_fastNlMeansDenoisingColoredMulti_14(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize);
  1272. // C++: void cv::fastNlMeansDenoisingMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21)
  1273. [DllImport(LIBNAME)]
  1274. private static extern void photo_Photo_fastNlMeansDenoisingMulti_10(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize, int searchWindowSize);
  1275. [DllImport(LIBNAME)]
  1276. private static extern void photo_Photo_fastNlMeansDenoisingMulti_11(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize);
  1277. [DllImport(LIBNAME)]
  1278. private static extern void photo_Photo_fastNlMeansDenoisingMulti_12(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, float h);
  1279. [DllImport(LIBNAME)]
  1280. private static extern void photo_Photo_fastNlMeansDenoisingMulti_13(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize);
  1281. // C++: void cv::fastNlMeansDenoisingMulti(vector_Mat srcImgs, Mat& dst, int imgToDenoiseIndex, int temporalWindowSize, vector_float h, int templateWindowSize = 7, int searchWindowSize = 21, int normType = NORM_L2)
  1282. [DllImport(LIBNAME)]
  1283. private static extern void photo_Photo_fastNlMeansDenoisingMulti_14(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, IntPtr h_mat_nativeObj, int templateWindowSize, int searchWindowSize, int normType);
  1284. [DllImport(LIBNAME)]
  1285. private static extern void photo_Photo_fastNlMeansDenoisingMulti_15(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, IntPtr h_mat_nativeObj, int templateWindowSize, int searchWindowSize);
  1286. [DllImport(LIBNAME)]
  1287. private static extern void photo_Photo_fastNlMeansDenoisingMulti_16(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, IntPtr h_mat_nativeObj, int templateWindowSize);
  1288. [DllImport(LIBNAME)]
  1289. private static extern void photo_Photo_fastNlMeansDenoisingMulti_17(IntPtr srcImgs_mat_nativeObj, IntPtr dst_nativeObj, int imgToDenoiseIndex, int temporalWindowSize, IntPtr h_mat_nativeObj);
  1290. // C++: void cv::illuminationChange(Mat src, Mat mask, Mat& dst, float alpha = 0.2f, float beta = 0.4f)
  1291. [DllImport(LIBNAME)]
  1292. private static extern void photo_Photo_illuminationChange_10(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float alpha, float beta);
  1293. [DllImport(LIBNAME)]
  1294. private static extern void photo_Photo_illuminationChange_11(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float alpha);
  1295. [DllImport(LIBNAME)]
  1296. private static extern void photo_Photo_illuminationChange_12(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj);
  1297. // C++: void cv::inpaint(Mat src, Mat inpaintMask, Mat& dst, double inpaintRadius, int flags)
  1298. [DllImport(LIBNAME)]
  1299. private static extern void photo_Photo_inpaint_10(IntPtr src_nativeObj, IntPtr inpaintMask_nativeObj, IntPtr dst_nativeObj, double inpaintRadius, int flags);
  1300. // C++: void cv::pencilSketch(Mat src, Mat& dst1, Mat& dst2, float sigma_s = 60, float sigma_r = 0.07f, float shade_factor = 0.02f)
  1301. [DllImport(LIBNAME)]
  1302. private static extern void photo_Photo_pencilSketch_10(IntPtr src_nativeObj, IntPtr dst1_nativeObj, IntPtr dst2_nativeObj, float sigma_s, float sigma_r, float shade_factor);
  1303. [DllImport(LIBNAME)]
  1304. private static extern void photo_Photo_pencilSketch_11(IntPtr src_nativeObj, IntPtr dst1_nativeObj, IntPtr dst2_nativeObj, float sigma_s, float sigma_r);
  1305. [DllImport(LIBNAME)]
  1306. private static extern void photo_Photo_pencilSketch_12(IntPtr src_nativeObj, IntPtr dst1_nativeObj, IntPtr dst2_nativeObj, float sigma_s);
  1307. [DllImport(LIBNAME)]
  1308. private static extern void photo_Photo_pencilSketch_13(IntPtr src_nativeObj, IntPtr dst1_nativeObj, IntPtr dst2_nativeObj);
  1309. // C++: void cv::seamlessClone(Mat src, Mat dst, Mat mask, Point p, Mat& blend, int flags)
  1310. [DllImport(LIBNAME)]
  1311. private static extern void photo_Photo_seamlessClone_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, IntPtr mask_nativeObj, double p_x, double p_y, IntPtr blend_nativeObj, int flags);
  1312. // C++: void cv::stylization(Mat src, Mat& dst, float sigma_s = 60, float sigma_r = 0.45f)
  1313. [DllImport(LIBNAME)]
  1314. private static extern void photo_Photo_stylization_10(IntPtr src_nativeObj, IntPtr dst_nativeObj, float sigma_s, float sigma_r);
  1315. [DllImport(LIBNAME)]
  1316. private static extern void photo_Photo_stylization_11(IntPtr src_nativeObj, IntPtr dst_nativeObj, float sigma_s);
  1317. [DllImport(LIBNAME)]
  1318. private static extern void photo_Photo_stylization_12(IntPtr src_nativeObj, IntPtr dst_nativeObj);
  1319. // C++: void cv::textureFlattening(Mat src, Mat mask, Mat& dst, float low_threshold = 30, float high_threshold = 45, int kernel_size = 3)
  1320. [DllImport(LIBNAME)]
  1321. private static extern void photo_Photo_textureFlattening_10(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float low_threshold, float high_threshold, int kernel_size);
  1322. [DllImport(LIBNAME)]
  1323. private static extern void photo_Photo_textureFlattening_11(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float low_threshold, float high_threshold);
  1324. [DllImport(LIBNAME)]
  1325. private static extern void photo_Photo_textureFlattening_12(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj, float low_threshold);
  1326. [DllImport(LIBNAME)]
  1327. private static extern void photo_Photo_textureFlattening_13(IntPtr src_nativeObj, IntPtr mask_nativeObj, IntPtr dst_nativeObj);
  1328. #endif
  1329. }
  1330. }