1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
use crate::{mod_prelude_types::*, core};

#[cfg(feature = "contrib")]
mod alphamat_sys {
	use super::*;

	extern "C" {
		pub fn cv_alphamat_infoFlow_const__InputArrayX_const__InputArrayX_const__OutputArrayX(image: *const c_void, tmap: *const c_void, result: *const c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use alphamat_sys::*;

#[cfg(feature = "contrib")]
mod aruco_sys {
	use super::*;

	extern "C" {
		pub fn cv_aruco_calibrateCameraAruco_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_Ptr_Board_X_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(corners: *const c_void, ids: *const c_void, counter: *const c_void, board: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, std_deviations_intrinsics: *const c_void, std_deviations_extrinsics: *const c_void, per_view_errors: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_aruco_calibrateCameraAruco_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_Ptr_Board_X_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(corners: *const c_void, ids: *const c_void, counter: *const c_void, board: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_aruco_calibrateCameraCharuco_const__InputArrayX_const__InputArrayX_const_Ptr_CharucoBoard_X_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(charuco_corners: *const c_void, charuco_ids: *const c_void, board: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, std_deviations_intrinsics: *const c_void, std_deviations_extrinsics: *const c_void, per_view_errors: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_aruco_calibrateCameraCharuco_const__InputArrayX_const__InputArrayX_const_Ptr_CharucoBoard_X_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(charuco_corners: *const c_void, charuco_ids: *const c_void, board: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_aruco_detectCharucoDiamond_const__InputArrayX_const__InputArrayX_const__InputArrayX_float_const__OutputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX(image: *const c_void, marker_corners: *const c_void, marker_ids: *const c_void, square_marker_length_rate: f32, diamond_corners: *const c_void, diamond_ids: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void) -> Result_void;
		pub fn cv_aruco_detectMarkers_const__InputArrayX_const_Ptr_Dictionary_X_const__OutputArrayX_const__OutputArrayX_const_Ptr_DetectorParameters_X_const__OutputArrayX_const__InputArrayX_const__InputArrayX(image: *const c_void, dictionary: *const c_void, corners: *const c_void, ids: *const c_void, parameters: *const c_void, rejected_img_points: *const c_void, camera_matrix: *const c_void, dist_coeff: *const c_void) -> Result_void;
		pub fn cv_aruco_drawAxis_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_float(image: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, length: f32) -> Result_void;
		pub fn cv_aruco_drawCharucoDiamond_const_Ptr_Dictionary_X_Vec4i_int_int_const__OutputArrayX_int_int(dictionary: *const c_void, ids: *const core::Vec4i, square_length: i32, marker_length: i32, img: *const c_void, margin_size: i32, border_bits: i32) -> Result_void;
		pub fn cv_aruco_drawDetectedCornersCharuco_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_Scalar(image: *const c_void, charuco_corners: *const c_void, charuco_ids: *const c_void, corner_color: *const core::Scalar) -> Result_void;
		pub fn cv_aruco_drawDetectedDiamonds_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_Scalar(image: *const c_void, diamond_corners: *const c_void, diamond_ids: *const c_void, border_color: *const core::Scalar) -> Result_void;
		pub fn cv_aruco_drawDetectedMarkers_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_Scalar(image: *const c_void, corners: *const c_void, ids: *const c_void, border_color: *const core::Scalar) -> Result_void;
		pub fn cv_aruco_drawMarker_const_Ptr_Dictionary_X_int_int_const__OutputArrayX_int(dictionary: *const c_void, id: i32, side_pixels: i32, img: *const c_void, border_bits: i32) -> Result_void;
		pub fn cv_aruco_drawPlanarBoard_const_Ptr_Board_X_Size_const__OutputArrayX_int_int(board: *const c_void, out_size: *const core::Size, img: *const c_void, margin_size: i32, border_bits: i32) -> Result_void;
		pub fn cv_aruco_estimatePoseBoard_const__InputArrayX_const__InputArrayX_const_Ptr_Board_X_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool(corners: *const c_void, ids: *const c_void, board: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool) -> Result<i32>;
		pub fn cv_aruco_estimatePoseCharucoBoard_const__InputArrayX_const__InputArrayX_const_Ptr_CharucoBoard_X_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool(charuco_corners: *const c_void, charuco_ids: *const c_void, board: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool) -> Result<bool>;
		pub fn cv_aruco_estimatePoseSingleMarkers_const__InputArrayX_float_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(corners: *const c_void, marker_length: f32, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, _obj_points: *const c_void) -> Result_void;
		pub fn cv_aruco_generateCustomDictionary_int_int_const_Ptr_Dictionary_X_int(n_markers: i32, marker_size: i32, base_dictionary: *const c_void, random_seed: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_generateCustomDictionary_int_int_int(n_markers: i32, marker_size: i32, random_seed: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_getBoardObjectAndImagePoints_const_Ptr_Board_X_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(board: *const c_void, detected_corners: *const c_void, detected_ids: *const c_void, obj_points: *const c_void, img_points: *const c_void) -> Result_void;
		pub fn cv_aruco_getPredefinedDictionary_PREDEFINED_DICTIONARY_NAME(name: crate::aruco::PREDEFINED_DICTIONARY_NAME) -> Result<*mut c_void>;
		pub fn cv_aruco_getPredefinedDictionary_int(dict: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_interpolateCornersCharuco_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_Ptr_CharucoBoard_X_const__OutputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_int(marker_corners: *const c_void, marker_ids: *const c_void, image: *const c_void, board: *const c_void, charuco_corners: *const c_void, charuco_ids: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, min_markers: i32) -> Result<i32>;
		pub fn cv_aruco_refineDetectedMarkers_const__InputArrayX_const_Ptr_Board_X_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_float_float_bool_const__OutputArrayX_const_Ptr_DetectorParameters_X(image: *const c_void, board: *const c_void, detected_corners: *const c_void, detected_ids: *const c_void, rejected_corners: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, min_rep_distance: f32, error_correction_rate: f32, check_all_orders: bool, recovered_idxs: *const c_void, parameters: *const c_void) -> Result_void;
		pub fn cv_aruco_Board_objPoints(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Board_setObjPoints_vector_vector_Point3f__(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_Board_dictionary(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Board_setDictionary_Ptr_Dictionary_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_Board_ids(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Board_setIds_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_Board_create_const__InputArrayX_const_Ptr_Dictionary_X_const__InputArrayX(obj_points: *const c_void, dictionary: *const c_void, ids: *const c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_CharucoBoard_chessboardCorners(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_CharucoBoard_setChessboardCorners_vector_Point3f_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_CharucoBoard_nearestMarkerIdx(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_CharucoBoard_setNearestMarkerIdx_vector_vector_int__(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_CharucoBoard_nearestMarkerCorners(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_CharucoBoard_setNearestMarkerCorners_vector_vector_int__(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_CharucoBoard_draw_Size_const__OutputArrayX_int_int(instance: *mut c_void, out_size: *const core::Size, img: *const c_void, margin_size: i32, border_bits: i32) -> Result_void;
		pub fn cv_aruco_CharucoBoard_create_int_int_float_float_const_Ptr_Dictionary_X(squares_x: i32, squares_y: i32, square_length: f32, marker_length: f32, dictionary: *const c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_CharucoBoard_getChessboardSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_aruco_CharucoBoard_getSquareLength_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_CharucoBoard_getMarkerLength_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_DetectorParameters_adaptiveThreshWinSizeMin_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAdaptiveThreshWinSizeMin_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_adaptiveThreshWinSizeMax_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAdaptiveThreshWinSizeMax_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_adaptiveThreshWinSizeStep_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAdaptiveThreshWinSizeStep_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_adaptiveThreshConstant_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setAdaptiveThreshConstant_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_minMarkerPerimeterRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMinMarkerPerimeterRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_maxMarkerPerimeterRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMaxMarkerPerimeterRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_polygonalApproxAccuracyRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setPolygonalApproxAccuracyRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_minCornerDistanceRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMinCornerDistanceRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_minDistanceToBorder_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setMinDistanceToBorder_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_minMarkerDistanceRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMinMarkerDistanceRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_cornerRefinementMethod_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setCornerRefinementMethod_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_cornerRefinementWinSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setCornerRefinementWinSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_cornerRefinementMaxIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setCornerRefinementMaxIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_cornerRefinementMinAccuracy_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setCornerRefinementMinAccuracy_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_markerBorderBits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setMarkerBorderBits_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_perspectiveRemovePixelPerCell_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setPerspectiveRemovePixelPerCell_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_perspectiveRemoveIgnoredMarginPerCell_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setPerspectiveRemoveIgnoredMarginPerCell_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_maxErroneousBitsInBorderRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMaxErroneousBitsInBorderRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_minOtsuStdDev_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setMinOtsuStdDev_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_errorCorrectionRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_aruco_DetectorParameters_setErrorCorrectionRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagQuadDecimate_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagQuadDecimate_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagQuadSigma_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagQuadSigma_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagMinClusterPixels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagMinClusterPixels_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagMaxNmaxima_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagMaxNmaxima_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagCriticalRad_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagCriticalRad_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagMaxLineFitMse_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagMaxLineFitMse_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagMinWhiteBlackDiff_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagMinWhiteBlackDiff_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_aprilTagDeglitch_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_DetectorParameters_setAprilTagDeglitch_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_DetectorParameters_detectInvertedMarker_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_aruco_DetectorParameters_setDetectInvertedMarker_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_aruco_DetectorParameters_DetectorParameters() -> Result<*mut c_void>;
		pub fn cv_aruco_DetectorParameters_create() -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_bytesList(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_setBytesList_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_aruco_Dictionary_markerSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_Dictionary_setMarkerSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_Dictionary_maxCorrectionBits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_aruco_Dictionary_setMaxCorrectionBits_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_aruco_Dictionary_Dictionary_const_MatX_int_int(_bytes_list: *const c_void, _marker_size: i32, _maxcorr: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_Dictionary_const_Ptr_Dictionary_X(_dictionary: *const c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_create_int_int_int(n_markers: i32, marker_size: i32, random_seed: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_create_int_int_const_Ptr_Dictionary_X_int(n_markers: i32, marker_size: i32, base_dictionary: *const c_void, random_seed: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_get_int(dict: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_identify_const_const_MatX_intX_intX_double(instance: *const c_void, only_bits: *const c_void, idx: *mut i32, rotation: *mut i32, max_correction_rate: f64) -> Result<bool>;
		pub fn cv_aruco_Dictionary_getDistanceToId_const_const__InputArrayX_int_bool(instance: *const c_void, bits: *const c_void, id: i32, all_rotations: bool) -> Result<i32>;
		pub fn cv_aruco_Dictionary_drawMarker_const_int_int_const__OutputArrayX_int(instance: *const c_void, id: i32, side_pixels: i32, _img: *const c_void, border_bits: i32) -> Result_void;
		pub fn cv_aruco_Dictionary_getByteListFromBits_const_MatX(bits: *const c_void) -> Result<*mut c_void>;
		pub fn cv_aruco_Dictionary_getBitsFromByteList_const_MatX_int(byte_list: *const c_void, marker_size: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_GridBoard_draw_Size_const__OutputArrayX_int_int(instance: *mut c_void, out_size: *const core::Size, img: *const c_void, margin_size: i32, border_bits: i32) -> Result_void;
		pub fn cv_aruco_GridBoard_create_int_int_float_float_const_Ptr_Dictionary_X_int(markers_x: i32, markers_y: i32, marker_length: f32, marker_separation: f32, dictionary: *const c_void, first_marker: i32) -> Result<*mut c_void>;
		pub fn cv_aruco_GridBoard_getGridSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_aruco_GridBoard_getMarkerLength_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_aruco_GridBoard_getMarkerSeparation_const(instance: *const c_void) -> Result<f32>;
	}
}
#[cfg(feature = "contrib")]
pub use aruco_sys::*;

#[cfg(feature = "contrib")]
mod bgsegm_sys {
	use super::*;

	extern "C" {
		pub fn cv_bgsegm_createBackgroundSubtractorCNT_int_bool_int_bool(min_pixel_stability: i32, use_history: bool, max_pixel_stability: i32, is_parallel: bool) -> Result<*mut c_void>;
		pub fn cv_bgsegm_createBackgroundSubtractorGMG_int_double(initialization_frames: i32, decision_threshold: f64) -> Result<*mut c_void>;
		pub fn cv_bgsegm_createBackgroundSubtractorGSOC_int_int_float_float_int_float_float_float_float_float_float(mc: i32, n_samples: i32, replace_rate: f32, propagation_rate: f32, hits_threshold: i32, alpha: f32, beta: f32, blinking_supression_decay: f32, blinking_supression_multiplier: f32, noise_removal_threshold_fac_bg: f32, noise_removal_threshold_fac_fg: f32) -> Result<*mut c_void>;
		pub fn cv_bgsegm_createBackgroundSubtractorLSBP_int_int_int_float_float_float_float_float_float_float_float_int_int(mc: i32, n_samples: i32, lsbp_radius: i32, tlower: f32, tupper: f32, tinc: f32, tdec: f32, rscale: f32, rincdec: f32, noise_removal_threshold_fac_bg: f32, noise_removal_threshold_fac_fg: f32, lsb_pthreshold: i32, min_count: i32) -> Result<*mut c_void>;
		pub fn cv_bgsegm_createBackgroundSubtractorMOG_int_int_double_double(history: i32, nmixtures: i32, background_ratio: f64, noise_sigma: f64) -> Result<*mut c_void>;
		pub fn cv_bgsegm_createSyntheticSequenceGenerator_const__InputArrayX_const__InputArrayX_double_double_double_double(background: *const c_void, object: *const c_void, amplitude: f64, wavelength: f64, wavespeed: f64, objspeed: f64) -> Result<*mut c_void>;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_apply_const__InputArrayX_const__OutputArrayX_double(instance: *mut c_void, image: *const c_void, fgmask: *const c_void, learning_rate: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_getBackgroundImage_const_const__OutputArrayX(instance: *const c_void, background_image: *const c_void) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_getMinPixelStability_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_setMinPixelStability_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_getMaxPixelStability_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_setMaxPixelStability_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_getUseHistory_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_setUseHistory_bool(instance: *mut c_void, value: bool) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_getIsParallel_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_bgsegm_BackgroundSubtractorCNT_setIsParallel_bool(instance: *mut c_void, value: bool) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getMaxFeatures_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setMaxFeatures_int(instance: *mut c_void, max_features: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getDefaultLearningRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setDefaultLearningRate_double(instance: *mut c_void, lr: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getNumFrames_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setNumFrames_int(instance: *mut c_void, nframes: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getQuantizationLevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setQuantizationLevels_int(instance: *mut c_void, nlevels: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getBackgroundPrior_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setBackgroundPrior_double(instance: *mut c_void, bgprior: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getSmoothingRadius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setSmoothingRadius_int(instance: *mut c_void, radius: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getDecisionThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setDecisionThreshold_double(instance: *mut c_void, thresh: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getUpdateBackgroundModel_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setUpdateBackgroundModel_bool(instance: *mut c_void, update: bool) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getMinVal_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setMinVal_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_getMaxVal_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorGMG_setMaxVal_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGSOC_apply_const__InputArrayX_const__OutputArrayX_double(instance: *mut c_void, image: *const c_void, fgmask: *const c_void, learning_rate: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorGSOC_getBackgroundImage_const_const__OutputArrayX(instance: *const c_void, background_image: *const c_void) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorLSBP_apply_const__InputArrayX_const__OutputArrayX_double(instance: *mut c_void, image: *const c_void, fgmask: *const c_void, learning_rate: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorLSBP_getBackgroundImage_const_const__OutputArrayX(instance: *const c_void, background_image: *const c_void) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorLSBPDesc_calcLocalSVDValues_const__OutputArrayX_const_MatX(local_svd_values: *const c_void, frame: *const c_void) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorLSBPDesc_computeFromLocalSVDValues_const__OutputArrayX_const_MatX_const_Point2iX(desc: *const c_void, local_svd_values: *const c_void, lsbp_sample_points: *const core::Point2i) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorLSBPDesc_compute_const__OutputArrayX_const_MatX_const_Point2iX(desc: *const c_void, frame: *const c_void, lsbp_sample_points: *const core::Point2i) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_getHistory_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_setHistory_int(instance: *mut c_void, nframes: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_getNMixtures_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_setNMixtures_int(instance: *mut c_void, nmix: i32) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_getBackgroundRatio_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_setBackgroundRatio_double(instance: *mut c_void, background_ratio: f64) -> Result_void;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_getNoiseSigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_bgsegm_BackgroundSubtractorMOG_setNoiseSigma_double(instance: *mut c_void, noise_sigma: f64) -> Result_void;
		pub fn cv_bgsegm_SyntheticSequenceGenerator_SyntheticSequenceGenerator_const__InputArrayX_const__InputArrayX_double_double_double_double(background: *const c_void, object: *const c_void, amplitude: f64, wavelength: f64, wavespeed: f64, objspeed: f64) -> Result<*mut c_void>;
		pub fn cv_bgsegm_SyntheticSequenceGenerator_getNextFrame_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, frame: *const c_void, gt_mask: *const c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use bgsegm_sys::*;

#[cfg(feature = "contrib")]
mod bioinspired_sys {
	use super::*;

	extern "C" {
		pub fn cv_bioinspired_Retina_getInputSize(instance: *mut c_void) -> Result<core::Size>;
		pub fn cv_bioinspired_Retina_getOutputSize(instance: *mut c_void) -> Result<core::Size>;
		pub fn cv_bioinspired_Retina_setup_String_bool(instance: *mut c_void, retina_parameter_file: *mut c_char, apply_default_setup_on_failure: bool) -> Result_void;
		pub fn cv_bioinspired_Retina_setup_FileStorageX_bool(instance: *mut c_void, fs: *mut c_void, apply_default_setup_on_failure: bool) -> Result_void;
		pub fn cv_bioinspired_Retina_setup_RetinaParameters(instance: *mut c_void, new_parameters: *mut c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getParameters(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_bioinspired_Retina_printSetup(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_bioinspired_Retina_write_const_String(instance: *const c_void, fs: *mut c_char) -> Result_void;
		pub fn cv_bioinspired_Retina_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_setupOPLandIPLParvoChannel_bool_bool_float_float_float_float_float_float_float(instance: *mut c_void, color_mode: bool, normalise_output: bool, photoreceptors_local_adaptation_sensitivity: f32, photoreceptors_temporal_constant: f32, photoreceptors_spatial_constant: f32, horizontal_cells_gain: f32, hcells_temporal_constant: f32, hcells_spatial_constant: f32, ganglion_cells_sensitivity: f32) -> Result_void;
		pub fn cv_bioinspired_Retina_setupIPLMagnoChannel_bool_float_float_float_float_float_float_float(instance: *mut c_void, normalise_output: bool, parasol_cells_beta: f32, parasol_cells_tau: f32, parasol_cells_k: f32, amacrin_cells_temporal_cut_frequency: f32, v0_compression_parameter: f32, local_adaptintegration_tau: f32, local_adaptintegration_k: f32) -> Result_void;
		pub fn cv_bioinspired_Retina_run_const__InputArrayX(instance: *mut c_void, input_image: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_applyFastToneMapping_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, input_image: *const c_void, output_tone_mapped_image: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getParvo_const__OutputArrayX(instance: *mut c_void, retina_output_parvo: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getParvoRAW_const__OutputArrayX(instance: *mut c_void, retina_output_parvo: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getMagno_const__OutputArrayX(instance: *mut c_void, retina_output_magno: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getMagnoRAW_const__OutputArrayX(instance: *mut c_void, retina_output_magno: *const c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_getMagnoRAW_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_bioinspired_Retina_getParvoRAW_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_bioinspired_Retina_setColorSaturation_bool_float(instance: *mut c_void, saturate_colors: bool, color_saturation_value: f32) -> Result_void;
		pub fn cv_bioinspired_Retina_clearBuffers(instance: *mut c_void) -> Result_void;
		pub fn cv_bioinspired_Retina_activateMovingContoursProcessing_bool(instance: *mut c_void, activate: bool) -> Result_void;
		pub fn cv_bioinspired_Retina_activateContoursProcessing_bool(instance: *mut c_void, activate: bool) -> Result_void;
		pub fn cv_bioinspired_Retina_create_Size(input_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_bioinspired_Retina_create_Size_bool_int_bool_float_float(input_size: *const core::Size, color_mode: bool, color_sampling_method: i32, use_retina_log_sampling: bool, reduction_factor: f32, sampling_strength: f32) -> Result<*mut c_void>;
		pub fn cv_bioinspired_RetinaFastToneMapping_applyFastToneMapping_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, input_image: *const c_void, output_tone_mapped_image: *const c_void) -> Result_void;
		pub fn cv_bioinspired_RetinaFastToneMapping_setup_float_float_float(instance: *mut c_void, photoreceptors_neighborhood_radius: f32, ganglioncells_neighborhood_radius: f32, mean_luminance_modulator_k: f32) -> Result_void;
		pub fn cv_bioinspired_RetinaFastToneMapping_create_Size(input_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_bioinspired_RetinaParameters_OPLandIplParvo_const(instance: *const c_void) -> Result<crate::bioinspired::RetinaParameters_OPLandIplParvoParameters>;
		pub fn cv_bioinspired_RetinaParameters_setOPLandIplParvo_OPLandIplParvoParameters(instance: *mut c_void, val: *const crate::bioinspired::RetinaParameters_OPLandIplParvoParameters) -> Result_void;
		pub fn cv_bioinspired_RetinaParameters_IplMagno_const(instance: *const c_void) -> Result<crate::bioinspired::RetinaParameters_IplMagnoParameters>;
		pub fn cv_bioinspired_RetinaParameters_setIplMagno_IplMagnoParameters(instance: *mut c_void, val: *const crate::bioinspired::RetinaParameters_IplMagnoParameters) -> Result_void;
		pub fn cv_bioinspired_RetinaParameters_IplMagnoParameters_IplMagnoParameters() -> Result<crate::bioinspired::RetinaParameters_IplMagnoParameters>;
		pub fn cv_bioinspired_RetinaParameters_OPLandIplParvoParameters_OPLandIplParvoParameters() -> Result<crate::bioinspired::RetinaParameters_OPLandIplParvoParameters>;
		pub fn cv_bioinspired_SegmentationParameters_SegmentationParameters() -> Result<crate::bioinspired::SegmentationParameters>;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_getSize(instance: *mut c_void) -> Result<core::Size>;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_setup_String_bool(instance: *mut c_void, segmentation_parameter_file: *mut c_char, apply_default_setup_on_failure: bool) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_setup_FileStorageX_bool(instance: *mut c_void, fs: *mut c_void, apply_default_setup_on_failure: bool) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_setup_SegmentationParameters(instance: *mut c_void, new_parameters: *const crate::bioinspired::SegmentationParameters) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_getParameters(instance: *mut c_void) -> Result<crate::bioinspired::SegmentationParameters>;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_printSetup(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_write_const_String(instance: *const c_void, fs: *mut c_char) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_run_const__InputArrayX_int(instance: *mut c_void, input_to_segment: *const c_void, channel_index: i32) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_getSegmentationPicture_const__OutputArrayX(instance: *mut c_void, transient_areas: *const c_void) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_clearAllBuffers(instance: *mut c_void) -> Result_void;
		pub fn cv_bioinspired_TransientAreasSegmentationModule_create_Size(input_size: *const core::Size) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use bioinspired_sys::*;

mod calib3d_sys {
	use super::*;

	extern "C" {
		pub fn cv_RQDecomp3x3_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(src: *const c_void, mtx_r: *const c_void, mtx_q: *const c_void, qx: *const c_void, qy: *const c_void, qz: *const c_void) -> Result<core::Vec3d>;
		pub fn cv_Rodrigues_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void, jacobian: *const c_void) -> Result_void;
		pub fn cv_calibrateCameraRO_const__InputArrayX_const__InputArrayX_Size_int_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, i_fixed_point: i32, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, new_obj_points: *const c_void, std_deviations_intrinsics: *const c_void, std_deviations_extrinsics: *const c_void, std_deviations_obj_points: *const c_void, per_view_errors: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_calibrateCameraRO_const__InputArrayX_const__InputArrayX_Size_int_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, i_fixed_point: i32, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, new_obj_points: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_calibrateCamera_const__InputArrayX_const__InputArrayX_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, std_deviations_intrinsics: *const c_void, std_deviations_extrinsics: *const c_void, per_view_errors: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_calibrateCamera_const__InputArrayX_const__InputArrayX_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_calibrateHandEye_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_HandEyeCalibrationMethod(r_gripper2base: *const c_void, t_gripper2base: *const c_void, r_target2cam: *const c_void, t_target2cam: *const c_void, r_cam2gripper: *const c_void, t_cam2gripper: *const c_void, method: crate::calib3d::HandEyeCalibrationMethod) -> Result_void;
		pub fn cv_calibrationMatrixValues_const__InputArrayX_Size_double_double_doubleX_doubleX_doubleX_Point2dX_doubleX(camera_matrix: *const c_void, image_size: *const core::Size, aperture_width: f64, aperture_height: f64, fovx: *mut f64, fovy: *mut f64, focal_length: *mut f64, principal_point: *mut core::Point2d, aspect_ratio: *mut f64) -> Result_void;
		pub fn cv_checkChessboard_const__InputArrayX_Size(img: *const c_void, size: *const core::Size) -> Result<bool>;
		pub fn cv_composeRT_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(rvec1: *const c_void, tvec1: *const c_void, rvec2: *const c_void, tvec2: *const c_void, rvec3: *const c_void, tvec3: *const c_void, dr3dr1: *const c_void, dr3dt1: *const c_void, dr3dr2: *const c_void, dr3dt2: *const c_void, dt3dr1: *const c_void, dt3dt1: *const c_void, dt3dr2: *const c_void, dt3dt2: *const c_void) -> Result_void;
		pub fn cv_computeCorrespondEpilines_const__InputArrayX_int_const__InputArrayX_const__OutputArrayX(points: *const c_void, which_image: i32, f: *const c_void, lines: *const c_void) -> Result_void;
		pub fn cv_convertPointsFromHomogeneous_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_convertPointsHomogeneous_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_convertPointsToHomogeneous_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_correctMatches_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(f: *const c_void, points1: *const c_void, points2: *const c_void, new_points1: *const c_void, new_points2: *const c_void) -> Result_void;
		pub fn cv_decomposeEssentialMat_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(e: *const c_void, r1: *const c_void, r2: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_decomposeHomographyMat_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(h: *const c_void, k: *const c_void, rotations: *const c_void, translations: *const c_void, normals: *const c_void) -> Result<i32>;
		pub fn cv_decomposeProjectionMatrix_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(proj_matrix: *const c_void, camera_matrix: *const c_void, rot_matrix: *const c_void, trans_vect: *const c_void, rot_matrix_x: *const c_void, rot_matrix_y: *const c_void, rot_matrix_z: *const c_void, euler_angles: *const c_void) -> Result_void;
		pub fn cv_drawChessboardCorners_const__InputOutputArrayX_Size_const__InputArrayX_bool(image: *const c_void, pattern_size: *const core::Size, corners: *const c_void, pattern_was_found: bool) -> Result_void;
		pub fn cv_drawFrameAxes_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_float_int(image: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, length: f32, thickness: i32) -> Result_void;
		pub fn cv_estimateAffine2D_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_double_size_t_double_size_t(from: *const c_void, to: *const c_void, inliers: *const c_void, method: i32, ransac_reproj_threshold: f64, max_iters: size_t, confidence: f64, refine_iters: size_t) -> Result<*mut c_void>;
		pub fn cv_estimateAffine3D_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double_double(src: *const c_void, dst: *const c_void, out: *const c_void, inliers: *const c_void, ransac_threshold: f64, confidence: f64) -> Result<i32>;
		pub fn cv_estimateAffinePartial2D_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_double_size_t_double_size_t(from: *const c_void, to: *const c_void, inliers: *const c_void, method: i32, ransac_reproj_threshold: f64, max_iters: size_t, confidence: f64, refine_iters: size_t) -> Result<*mut c_void>;
		pub fn cv_estimateChessboardSharpness_const__InputArrayX_Size_const__InputArrayX_float_bool_const__OutputArrayX(image: *const c_void, pattern_size: *const core::Size, corners: *const c_void, rise_distance: f32, vertical: bool, sharpness: *const c_void) -> Result<core::Scalar>;
		pub fn cv_filterHomographyDecompByVisibleRefpoints_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(rotations: *const c_void, normals: *const c_void, before_points: *const c_void, after_points: *const c_void, possible_solutions: *const c_void, points_mask: *const c_void) -> Result_void;
		pub fn cv_filterSpeckles_const__InputOutputArrayX_double_int_double_const__InputOutputArrayX(img: *const c_void, new_val: f64, max_speckle_size: i32, max_diff: f64, buf: *const c_void) -> Result_void;
		pub fn cv_find4QuadCornerSubpix_const__InputArrayX_const__InputOutputArrayX_Size(img: *const c_void, corners: *const c_void, region_size: *const core::Size) -> Result<bool>;
		pub fn cv_findChessboardCornersSB_const__InputArrayX_Size_const__OutputArrayX_int(image: *const c_void, pattern_size: *const core::Size, corners: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_findChessboardCornersSB_const__InputArrayX_Size_const__OutputArrayX_int_const__OutputArrayX(image: *const c_void, pattern_size: *const core::Size, corners: *const c_void, flags: i32, meta: *const c_void) -> Result<bool>;
		pub fn cv_findChessboardCorners_const__InputArrayX_Size_const__OutputArrayX_int(image: *const c_void, pattern_size: *const core::Size, corners: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_findCirclesGrid_const__InputArrayX_Size_const__OutputArrayX_int_const_Ptr_Feature2D_X(image: *const c_void, pattern_size: *const core::Size, centers: *const c_void, flags: i32, blob_detector: *const c_void) -> Result<bool>;
		pub fn cv_findCirclesGrid_const__InputArrayX_Size_const__OutputArrayX_int_const_Ptr_Feature2D_X_const_CirclesGridFinderParametersX(image: *const c_void, pattern_size: *const core::Size, centers: *const c_void, flags: i32, blob_detector: *const c_void, parameters: *const crate::calib3d::CirclesGridFinderParameters) -> Result<bool>;
		pub fn cv_findEssentialMat_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_double_double_const__OutputArrayX(points1: *const c_void, points2: *const c_void, camera_matrix: *const c_void, method: i32, prob: f64, threshold: f64, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_findEssentialMat_const__InputArrayX_const__InputArrayX_double_Point2d_int_double_double_const__OutputArrayX(points1: *const c_void, points2: *const c_void, focal: f64, pp: *const core::Point2d, method: i32, prob: f64, threshold: f64, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_findFundamentalMat_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_double_double(points1: *const c_void, points2: *const c_void, mask: *const c_void, method: i32, ransac_reproj_threshold: f64, confidence: f64) -> Result<*mut c_void>;
		pub fn cv_findFundamentalMat_const__InputArrayX_const__InputArrayX_int_double_double_const__OutputArrayX(points1: *const c_void, points2: *const c_void, method: i32, ransac_reproj_threshold: f64, confidence: f64, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_findFundamentalMat_const__InputArrayX_const__InputArrayX_int_double_double_int_const__OutputArrayX(points1: *const c_void, points2: *const c_void, method: i32, ransac_reproj_threshold: f64, confidence: f64, max_iters: i32, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_findHomography_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_double(src_points: *const c_void, dst_points: *const c_void, mask: *const c_void, method: i32, ransac_reproj_threshold: f64) -> Result<*mut c_void>;
		pub fn cv_findHomography_const__InputArrayX_const__InputArrayX_int_double_const__OutputArrayX_int_double(src_points: *const c_void, dst_points: *const c_void, method: i32, ransac_reproj_threshold: f64, mask: *const c_void, max_iters: i32, confidence: f64) -> Result<*mut c_void>;
		pub fn cv_fisheye_calibrate_const__InputArrayX_const__InputArrayX_const_SizeX_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, k: *const c_void, d: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_fisheye_distortPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_double(undistorted: *const c_void, distorted: *const c_void, k: *const c_void, d: *const c_void, alpha: f64) -> Result_void;
		pub fn cv_fisheye_estimateNewCameraMatrixForUndistortRectify_const__InputArrayX_const__InputArrayX_const_SizeX_const__InputArrayX_const__OutputArrayX_double_const_SizeX_double(k: *const c_void, d: *const c_void, image_size: *const core::Size, r: *const c_void, p: *const c_void, balance: f64, new_size: *const core::Size, fov_scale: f64) -> Result_void;
		pub fn cv_fisheye_initUndistortRectifyMap_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_int_const__OutputArrayX_const__OutputArrayX(k: *const c_void, d: *const c_void, r: *const c_void, p: *const c_void, size: *const core::Size, m1type: i32, map1: *const c_void, map2: *const c_void) -> Result_void;
		pub fn cv_fisheye_projectPoints_const__InputArrayX_const__OutputArrayX_const_Affine3dX_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, affine: *const core::Affine3d, k: *const c_void, d: *const c_void, alpha: f64, jacobian: *const c_void) -> Result_void;
		pub fn cv_fisheye_projectPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, rvec: *const c_void, tvec: *const c_void, k: *const c_void, d: *const c_void, alpha: f64, jacobian: *const c_void) -> Result_void;
		pub fn cv_fisheye_stereoCalibrate_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_Size_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points1: *const c_void, image_points2: *const c_void, k1: *const c_void, d1: *const c_void, k2: *const c_void, d2: *const c_void, image_size: *const core::Size, r: *const c_void, t: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_fisheye_stereoRectify_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_const_SizeX_double_double(k1: *const c_void, d1: *const c_void, k2: *const c_void, d2: *const c_void, image_size: *const core::Size, r: *const c_void, tvec: *const c_void, r1: *const c_void, r2: *const c_void, p1: *const c_void, p2: *const c_void, q: *const c_void, flags: i32, new_image_size: *const core::Size, balance: f64, fov_scale: f64) -> Result_void;
		pub fn cv_fisheye_undistortImage_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX(distorted: *const c_void, undistorted: *const c_void, k: *const c_void, d: *const c_void, knew: *const c_void, new_size: *const core::Size) -> Result_void;
		pub fn cv_fisheye_undistortPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(distorted: *const c_void, undistorted: *const c_void, k: *const c_void, d: *const c_void, r: *const c_void, p: *const c_void) -> Result_void;
		pub fn cv_getDefaultNewCameraMatrix_const__InputArrayX_Size_bool(camera_matrix: *const c_void, imgsize: *const core::Size, center_principal_point: bool) -> Result<*mut c_void>;
		pub fn cv_getOptimalNewCameraMatrix_const__InputArrayX_const__InputArrayX_Size_double_Size_RectX_bool(camera_matrix: *const c_void, dist_coeffs: *const c_void, image_size: *const core::Size, alpha: f64, new_img_size: *const core::Size, valid_pix_roi: *mut core::Rect, center_principal_point: bool) -> Result<*mut c_void>;
		pub fn cv_getValidDisparityROI_Rect_Rect_int_int_int(roi1: *const core::Rect, roi2: *const core::Rect, min_disparity: i32, number_of_disparities: i32, block_size: i32) -> Result<core::Rect>;
		pub fn cv_initCameraMatrix2D_const__InputArrayX_const__InputArrayX_Size_double(object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, aspect_ratio: f64) -> Result<*mut c_void>;
		pub fn cv_initUndistortRectifyMap_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_Size_int_const__OutputArrayX_const__OutputArrayX(camera_matrix: *const c_void, dist_coeffs: *const c_void, r: *const c_void, new_camera_matrix: *const c_void, size: *const core::Size, m1type: i32, map1: *const c_void, map2: *const c_void) -> Result_void;
		pub fn cv_initWideAngleProjMap_const__InputArrayX_const__InputArrayX_Size_int_int_const__OutputArrayX_const__OutputArrayX_UndistortTypes_double(camera_matrix: *const c_void, dist_coeffs: *const c_void, image_size: *const core::Size, dest_image_width: i32, m1type: i32, map1: *const c_void, map2: *const c_void, proj_type: crate::calib3d::UndistortTypes, alpha: f64) -> Result<f32>;
		pub fn cv_matMulDeriv_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(a: *const c_void, b: *const c_void, d_a_bd_a: *const c_void, d_a_bd_b: *const c_void) -> Result_void;
		pub fn cv_projectPoints_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double(object_points: *const c_void, rvec: *const c_void, tvec: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, image_points: *const c_void, jacobian: *const c_void, aspect_ratio: f64) -> Result_void;
		pub fn cv_recoverPose_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputOutputArrayX(e: *const c_void, points1: *const c_void, points2: *const c_void, camera_matrix: *const c_void, r: *const c_void, t: *const c_void, mask: *const c_void) -> Result<i32>;
		pub fn cv_recoverPose_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double_const__InputOutputArrayX_const__OutputArrayX(e: *const c_void, points1: *const c_void, points2: *const c_void, camera_matrix: *const c_void, r: *const c_void, t: *const c_void, distance_thresh: f64, mask: *const c_void, triangulated_points: *const c_void) -> Result<i32>;
		pub fn cv_recoverPose_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double_Point2d_const__InputOutputArrayX(e: *const c_void, points1: *const c_void, points2: *const c_void, r: *const c_void, t: *const c_void, focal: f64, pp: *const core::Point2d, mask: *const c_void) -> Result<i32>;
		pub fn cv_rectify3Collinear_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_Size_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_double_Size_RectX_RectX_int(camera_matrix1: *const c_void, dist_coeffs1: *const c_void, camera_matrix2: *const c_void, dist_coeffs2: *const c_void, camera_matrix3: *const c_void, dist_coeffs3: *const c_void, imgpt1: *const c_void, imgpt3: *const c_void, image_size: *const core::Size, r12: *const c_void, t12: *const c_void, r13: *const c_void, t13: *const c_void, r1: *const c_void, r2: *const c_void, r3: *const c_void, p1: *const c_void, p2: *const c_void, p3: *const c_void, q: *const c_void, alpha: f64, new_img_size: *const core::Size, roi1: *mut core::Rect, roi2: *mut core::Rect, flags: i32) -> Result<f32>;
		pub fn cv_reprojectImageTo3D_const__InputArrayX_const__OutputArrayX_const__InputArrayX_bool_int(disparity: *const c_void, _3d_image: *const c_void, q: *const c_void, handle_missing_values: bool, ddepth: i32) -> Result_void;
		pub fn cv_sampsonDistance_const__InputArrayX_const__InputArrayX_const__InputArrayX(pt1: *const c_void, pt2: *const c_void, f: *const c_void) -> Result<f64>;
		pub fn cv_solveP3P_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32) -> Result<i32>;
		pub fn cv_solvePnPGeneric_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_bool_SolvePnPMethod_const__InputArrayX_const__InputArrayX_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, use_extrinsic_guess: bool, flags: crate::calib3d::SolvePnPMethod, rvec: *const c_void, tvec: *const c_void, reprojection_error: *const c_void) -> Result<i32>;
		pub fn cv_solvePnPRansac_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_bool_int_float_double_const__OutputArrayX_int(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, iterations_count: i32, reprojection_error: f32, confidence: f64, inliers: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_solvePnPRefineLM_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_TermCriteria(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, criteria: *const core::TermCriteria) -> Result_void;
		pub fn cv_solvePnPRefineVVS_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_TermCriteria_double(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, criteria: *const core::TermCriteria, vv_slambda: f64) -> Result_void;
		pub fn cv_solvePnP_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_bool_int(object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, flags: i32) -> Result<bool>;
		pub fn cv_stereoCalibrate_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points1: *const c_void, image_points2: *const c_void, camera_matrix1: *const c_void, dist_coeffs1: *const c_void, camera_matrix2: *const c_void, dist_coeffs2: *const c_void, image_size: *const core::Size, r: *const c_void, t: *const c_void, e: *const c_void, f: *const c_void, per_view_errors: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_stereoCalibrate_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_Size_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(object_points: *const c_void, image_points1: *const c_void, image_points2: *const c_void, camera_matrix1: *const c_void, dist_coeffs1: *const c_void, camera_matrix2: *const c_void, dist_coeffs2: *const c_void, image_size: *const core::Size, r: *const c_void, t: *const c_void, e: *const c_void, f: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_stereoRectifyUncalibrated_const__InputArrayX_const__InputArrayX_const__InputArrayX_Size_const__OutputArrayX_const__OutputArrayX_double(points1: *const c_void, points2: *const c_void, f: *const c_void, img_size: *const core::Size, h1: *const c_void, h2: *const c_void, threshold: f64) -> Result<bool>;
		pub fn cv_stereoRectify_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_double_Size_RectX_RectX(camera_matrix1: *const c_void, dist_coeffs1: *const c_void, camera_matrix2: *const c_void, dist_coeffs2: *const c_void, image_size: *const core::Size, r: *const c_void, t: *const c_void, r1: *const c_void, r2: *const c_void, p1: *const c_void, p2: *const c_void, q: *const c_void, flags: i32, alpha: f64, new_image_size: *const core::Size, valid_pix_roi1: *mut core::Rect, valid_pix_roi2: *mut core::Rect) -> Result_void;
		pub fn cv_triangulatePoints_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(proj_matr1: *const c_void, proj_matr2: *const c_void, proj_points1: *const c_void, proj_points2: *const c_void, points4_d: *const c_void) -> Result_void;
		pub fn cv_undistortPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, r: *const c_void, p: *const c_void) -> Result_void;
		pub fn cv_undistortPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_TermCriteria(src: *const c_void, dst: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, r: *const c_void, p: *const c_void, criteria: *const core::TermCriteria) -> Result_void;
		pub fn cv_undistort_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, new_camera_matrix: *const c_void) -> Result_void;
		pub fn cv_validateDisparity_const__InputOutputArrayX_const__InputArrayX_int_int_int(disparity: *const c_void, cost: *const c_void, min_disparity: i32, number_of_disparities: i32, disp12_max_disp: i32) -> Result_void;
		pub fn cv_CirclesGridFinderParameters_CirclesGridFinderParameters() -> Result<crate::calib3d::CirclesGridFinderParameters>;
		pub fn cv_LMSolver_run_const_const__InputOutputArrayX(instance: *const c_void, param: *const c_void) -> Result<i32>;
		pub fn cv_LMSolver_setMaxIters_int(instance: *mut c_void, max_iters: i32) -> Result_void;
		pub fn cv_LMSolver_getMaxIters_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LMSolver_create_const_Ptr_Callback_X_int(cb: *const c_void, max_iters: i32) -> Result<*mut c_void>;
		pub fn cv_LMSolver_create_const_Ptr_Callback_X_int_double(cb: *const c_void, max_iters: i32, eps: f64) -> Result<*mut c_void>;
		pub fn cv_LMSolver_Callback_compute_const_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *const c_void, param: *const c_void, err: *const c_void, j: *const c_void) -> Result<bool>;
		pub fn cv_StereoBM_getPreFilterType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setPreFilterType_int(instance: *mut c_void, pre_filter_type: i32) -> Result_void;
		pub fn cv_StereoBM_getPreFilterSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setPreFilterSize_int(instance: *mut c_void, pre_filter_size: i32) -> Result_void;
		pub fn cv_StereoBM_getPreFilterCap_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setPreFilterCap_int(instance: *mut c_void, pre_filter_cap: i32) -> Result_void;
		pub fn cv_StereoBM_getTextureThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setTextureThreshold_int(instance: *mut c_void, texture_threshold: i32) -> Result_void;
		pub fn cv_StereoBM_getUniquenessRatio_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setUniquenessRatio_int(instance: *mut c_void, uniqueness_ratio: i32) -> Result_void;
		pub fn cv_StereoBM_getSmallerBlockSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoBM_setSmallerBlockSize_int(instance: *mut c_void, block_size: i32) -> Result_void;
		pub fn cv_StereoBM_getROI1_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_StereoBM_setROI1_Rect(instance: *mut c_void, roi1: *const core::Rect) -> Result_void;
		pub fn cv_StereoBM_getROI2_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_StereoBM_setROI2_Rect(instance: *mut c_void, roi2: *const core::Rect) -> Result_void;
		pub fn cv_StereoBM_create_int_int(num_disparities: i32, block_size: i32) -> Result<*mut c_void>;
		pub fn cv_StereoMatcher_compute_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, left: *const c_void, right: *const c_void, disparity: *const c_void) -> Result_void;
		pub fn cv_StereoMatcher_getMinDisparity_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setMinDisparity_int(instance: *mut c_void, min_disparity: i32) -> Result_void;
		pub fn cv_StereoMatcher_getNumDisparities_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setNumDisparities_int(instance: *mut c_void, num_disparities: i32) -> Result_void;
		pub fn cv_StereoMatcher_getBlockSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setBlockSize_int(instance: *mut c_void, block_size: i32) -> Result_void;
		pub fn cv_StereoMatcher_getSpeckleWindowSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setSpeckleWindowSize_int(instance: *mut c_void, speckle_window_size: i32) -> Result_void;
		pub fn cv_StereoMatcher_getSpeckleRange_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setSpeckleRange_int(instance: *mut c_void, speckle_range: i32) -> Result_void;
		pub fn cv_StereoMatcher_getDisp12MaxDiff_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoMatcher_setDisp12MaxDiff_int(instance: *mut c_void, disp12_max_diff: i32) -> Result_void;
		pub fn cv_StereoSGBM_getPreFilterCap_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoSGBM_setPreFilterCap_int(instance: *mut c_void, pre_filter_cap: i32) -> Result_void;
		pub fn cv_StereoSGBM_getUniquenessRatio_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoSGBM_setUniquenessRatio_int(instance: *mut c_void, uniqueness_ratio: i32) -> Result_void;
		pub fn cv_StereoSGBM_getP1_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoSGBM_setP1_int(instance: *mut c_void, p1: i32) -> Result_void;
		pub fn cv_StereoSGBM_getP2_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoSGBM_setP2_int(instance: *mut c_void, p2: i32) -> Result_void;
		pub fn cv_StereoSGBM_getMode_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_StereoSGBM_setMode_int(instance: *mut c_void, mode: i32) -> Result_void;
		pub fn cv_StereoSGBM_create_int_int_int_int_int_int_int_int_int_int_int(min_disparity: i32, num_disparities: i32, block_size: i32, p1: i32, p2: i32, disp12_max_diff: i32, pre_filter_cap: i32, uniqueness_ratio: i32, speckle_window_size: i32, speckle_range: i32, mode: i32) -> Result<*mut c_void>;
	}
}
pub use calib3d_sys::*;

#[cfg(feature = "contrib")]
mod ccalib_sys {
	use super::*;

	extern "C" {
		pub fn cv_omnidir_calibrate_const__InputArrayX_const__InputArrayX_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, size: *const core::Size, k: *const c_void, xi: *const c_void, d: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria, idx: *const c_void) -> Result<f64>;
		pub fn cv_omnidir_initUndistortRectifyMap_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_int_const__OutputArrayX_const__OutputArrayX_int(k: *const c_void, d: *const c_void, xi: *const c_void, r: *const c_void, p: *const c_void, size: *const core::Size, m1type: i32, map1: *const c_void, map2: *const c_void, flags: i32) -> Result_void;
		pub fn cv_omnidir_projectPoints_const__InputArrayX_const__OutputArrayX_const_Affine3dX_const__InputArrayX_double_const__InputArrayX_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, affine: *const core::Affine3d, k: *const c_void, xi: f64, d: *const c_void, jacobian: *const c_void) -> Result_void;
		pub fn cv_omnidir_projectPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_double_const__InputArrayX_const__OutputArrayX(object_points: *const c_void, image_points: *const c_void, rvec: *const c_void, tvec: *const c_void, k: *const c_void, xi: f64, d: *const c_void, jacobian: *const c_void) -> Result_void;
		pub fn cv_omnidir_stereoCalibrate_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const_SizeX_const_SizeX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria_const__OutputArrayX(object_points: *const c_void, image_points1: *const c_void, image_points2: *const c_void, image_size1: *const core::Size, image_size2: *const core::Size, k1: *const c_void, xi1: *const c_void, d1: *const c_void, k2: *const c_void, xi2: *const c_void, d2: *const c_void, rvec: *const c_void, tvec: *const c_void, rvecs_l: *const c_void, tvecs_l: *const c_void, flags: i32, criteria: *const core::TermCriteria, idx: *const c_void) -> Result<f64>;
		pub fn cv_omnidir_stereoReconstruct_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_int_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const_SizeX_const__InputArrayX_const__OutputArrayX_int(image1: *const c_void, image2: *const c_void, k1: *const c_void, d1: *const c_void, xi1: *const c_void, k2: *const c_void, d2: *const c_void, xi2: *const c_void, r: *const c_void, t: *const c_void, flag: i32, num_disparities: i32, sad_window_size: i32, disparity: *const c_void, image1_rec: *const c_void, image2_rec: *const c_void, new_size: *const core::Size, knew: *const c_void, point_cloud: *const c_void, point_type: i32) -> Result_void;
		pub fn cv_omnidir_stereoRectify_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(r: *const c_void, t: *const c_void, r1: *const c_void, r2: *const c_void) -> Result_void;
		pub fn cv_omnidir_undistortImage_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_const__InputArrayX_const_SizeX_const__InputArrayX(distorted: *const c_void, undistorted: *const c_void, k: *const c_void, d: *const c_void, xi: *const c_void, flags: i32, knew: *const c_void, new_size: *const core::Size, r: *const c_void) -> Result_void;
		pub fn cv_omnidir_undistortPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(distorted: *const c_void, undistorted: *const c_void, k: *const c_void, d: *const c_void, xi: *const c_void, r: *const c_void) -> Result_void;
		pub fn cv_ccalib_CustomPattern_CustomPattern() -> Result<*mut c_void>;
		pub fn cv_ccalib_CustomPattern_create_const__InputArrayX_Size2f_const__OutputArrayX(instance: *mut c_void, pattern: *const c_void, board_size: *const core::Size2f, output: *const c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_findPattern_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double_double_bool_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, matched_features: *const c_void, pattern_points: *const c_void, ratio: f64, proj_error: f64, refine_position: bool, out: *const c_void, h: *const c_void, pattern_corners: *const c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_isInitialized(instance: *mut c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_getPatternPoints_vector_KeyPoint_X(instance: *mut c_void, original_points: *mut c_void) -> Result_void;
		pub fn cv_ccalib_CustomPattern_getPixelSize(instance: *mut c_void) -> Result<f64>;
		pub fn cv_ccalib_CustomPattern_setFeatureDetector_Ptr_Feature2D_(instance: *mut c_void, feature_detector: *mut c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_setDescriptorExtractor_Ptr_Feature2D_(instance: *mut c_void, extractor: *mut c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_setDescriptorMatcher_Ptr_DescriptorMatcher_(instance: *mut c_void, matcher: *mut c_void) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_getFeatureDetector(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ccalib_CustomPattern_getDescriptorExtractor(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ccalib_CustomPattern_getDescriptorMatcher(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ccalib_CustomPattern_calibrate_const__InputArrayX_const__InputArrayX_Size_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int_TermCriteria(instance: *mut c_void, object_points: *const c_void, image_points: *const c_void, image_size: *const core::Size, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvecs: *const c_void, tvecs: *const c_void, flags: i32, criteria: *const core::TermCriteria) -> Result<f64>;
		pub fn cv_ccalib_CustomPattern_findRt_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool_int(instance: *mut c_void, object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, flags: i32) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_findRt_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool_int(instance: *mut c_void, image: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, flags: i32) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_findRtRANSAC_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool_int_float_int_const__OutputArrayX_int(instance: *mut c_void, object_points: *const c_void, image_points: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, iterations_count: i32, reprojection_error: f32, min_inliers_count: i32, inliers: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_findRtRANSAC_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_bool_int_float_int_const__OutputArrayX_int(instance: *mut c_void, image: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, rvec: *const c_void, tvec: *const c_void, use_extrinsic_guess: bool, iterations_count: i32, reprojection_error: f32, min_inliers_count: i32, inliers: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_ccalib_CustomPattern_drawOrientation_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_double_int(instance: *mut c_void, image: *const c_void, tvec: *const c_void, rvec: *const c_void, camera_matrix: *const c_void, dist_coeffs: *const c_void, axis_length: f64, axis_width: i32) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_MultiCameraCalibration_int_int_const_stringX_float_float_int_int_int_int_TermCriteria_Ptr_Feature2D__Ptr_Feature2D__Ptr_DescriptorMatcher_(camera_type: i32, n_cameras: i32, file_name: *const c_char, pattern_width: f32, pattern_height: f32, verbose: i32, show_extration: i32, n_mini_matches: i32, flags: i32, criteria: *const core::TermCriteria, detector: *mut c_void, descriptor: *mut c_void, matcher: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_multicalib_MultiCameraCalibration_loadImages(instance: *mut c_void) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_initialize(instance: *mut c_void) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_optimizeExtrinsics(instance: *mut c_void) -> Result<f64>;
		pub fn cv_multicalib_MultiCameraCalibration_run(instance: *mut c_void) -> Result<f64>;
		pub fn cv_multicalib_MultiCameraCalibration_writeParameters_const_stringX(instance: *mut c_void, filename: *const c_char) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_edge_cameraVertex_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_multicalib_MultiCameraCalibration_edge_setCameraVertex_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_edge_photoVertex_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_multicalib_MultiCameraCalibration_edge_setPhotoVertex_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_edge_photoIndex_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_multicalib_MultiCameraCalibration_edge_setPhotoIndex_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_edge_transform(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_multicalib_MultiCameraCalibration_edge_setTransform_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_edge_edge_int_int_int_Mat(cv: i32, pv: i32, pi: i32, trans: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_pose(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_setPose_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_timestamp_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_setTimestamp_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_vertex_Mat_int(po: *mut c_void, ts: i32) -> Result<*mut c_void>;
		pub fn cv_multicalib_MultiCameraCalibration_vertex_vertex() -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternCornerFinder_RandomPatternCornerFinder_float_float_int_int_int_int_Ptr_Feature2D__Ptr_Feature2D__Ptr_DescriptorMatcher_(pattern_width: f32, pattern_height: f32, nmini_match: i32, depth: i32, verbose: i32, show_extraction: i32, detector: *mut c_void, descriptor: *mut c_void, matcher: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternCornerFinder_loadPattern_const_MatX(instance: *mut c_void, pattern_image: *const c_void) -> Result_void;
		pub fn cv_randpattern_RandomPatternCornerFinder_loadPattern_const_MatX_const_vector_KeyPoint_X_const_MatX(instance: *mut c_void, pattern_image: *const c_void, pattern_key_points: *const c_void, pattern_descriptors: *const c_void) -> Result_void;
		pub fn cv_randpattern_RandomPatternCornerFinder_computeObjectImagePoints_vector_Mat_(instance: *mut c_void, input_images: *mut c_void) -> Result_void;
		pub fn cv_randpattern_RandomPatternCornerFinder_computeObjectImagePointsForSingle_Mat(instance: *mut c_void, input_image: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternCornerFinder_getObjectPoints(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternCornerFinder_getImagePoints(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternGenerator_RandomPatternGenerator_int_int(image_width: i32, image_height: i32) -> Result<*mut c_void>;
		pub fn cv_randpattern_RandomPatternGenerator_generatePattern(instance: *mut c_void) -> Result_void;
		pub fn cv_randpattern_RandomPatternGenerator_getPattern(instance: *mut c_void) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use ccalib_sys::*;

mod core_sys {
	use super::*;

	extern "C" {
		pub fn cv_Cholesky_doubleX_size_t_int_doubleX_size_t_int(a: *mut f64, astep: size_t, m: i32, b: *mut f64, bstep: size_t, n: i32) -> Result<bool>;
		pub fn cv_Cholesky_floatX_size_t_int_floatX_size_t_int(a: *mut f32, astep: size_t, m: i32, b: *mut f32, bstep: size_t, n: i32) -> Result<bool>;
		pub fn cv_LUT_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src: *const c_void, lut: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_LU_doubleX_size_t_int_doubleX_size_t_int(a: *mut f64, astep: size_t, m: i32, b: *mut f64, bstep: size_t, n: i32) -> Result<i32>;
		pub fn cv_LU_floatX_size_t_int_floatX_size_t_int(a: *mut f32, astep: size_t, m: i32, b: *mut f32, bstep: size_t, n: i32) -> Result<i32>;
		pub fn cv_Mahalanobis_const__InputArrayX_const__InputArrayX_const__InputArrayX(v1: *const c_void, v2: *const c_void, icovar: *const c_void) -> Result<f64>;
		pub fn cv_PCABackProject_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, result: *const c_void) -> Result_void;
		pub fn cv_PCACompute_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_double(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, eigenvalues: *const c_void, retained_variance: f64) -> Result_void;
		pub fn cv_PCACompute_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_int(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, eigenvalues: *const c_void, max_components: i32) -> Result_void;
		pub fn cv_PCACompute_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_double(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, retained_variance: f64) -> Result_void;
		pub fn cv_PCACompute_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_int(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, max_components: i32) -> Result_void;
		pub fn cv_PCAProject_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(data: *const c_void, mean: *const c_void, eigenvectors: *const c_void, result: *const c_void) -> Result_void;
		pub fn cv_PSNR_const__InputArrayX_const__InputArrayX_double(src1: *const c_void, src2: *const c_void, r: f64) -> Result<f64>;
		pub fn cv_SVBackSubst_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(w: *const c_void, u: *const c_void, vt: *const c_void, rhs: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_SVDecomp_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int(src: *const c_void, w: *const c_void, u: *const c_void, vt: *const c_void, flags: i32) -> Result_void;
		pub fn cv_abs_const_MatExprX(e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_abs_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_absdiff_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_addWeighted_const__InputArrayX_double_const__InputArrayX_double_double_const__OutputArrayX_int(src1: *const c_void, alpha: f64, src2: *const c_void, beta: f64, gamma: f64, dst: *const c_void, dtype: i32) -> Result_void;
		pub fn cv_add_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void, dtype: i32) -> Result_void;
		pub fn cv_batchDistance_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_const__OutputArrayX_int_int_const__InputArrayX_int_bool(src1: *const c_void, src2: *const c_void, dist: *const c_void, dtype: i32, nidx: *const c_void, norm_type: i32, k: i32, mask: *const c_void, update: i32, crosscheck: bool) -> Result_void;
		pub fn cv_bitwise_and_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_bitwise_not_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_bitwise_or_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_bitwise_xor_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_borderInterpolate_int_int_int(p: i32, len: i32, border_type: i32) -> Result<i32>;
		pub fn cv_calcCovarMatrix_const__InputArrayX_const__OutputArrayX_const__InputOutputArrayX_int_int(samples: *const c_void, covar: *const c_void, mean: *const c_void, flags: i32, ctype: i32) -> Result_void;
		pub fn cv_cartToPolar_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_bool(x: *const c_void, y: *const c_void, magnitude: *const c_void, angle: *const c_void, angle_in_degrees: bool) -> Result_void;
		pub fn cv_checkHardwareSupport_int(feature: i32) -> Result<bool>;
		pub fn cv_checkRange_const__InputArrayX_bool_PointX_double_double(a: *const c_void, quiet: bool, pos: *mut core::Point, min_val: f64, max_val: f64) -> Result<bool>;
		pub fn cv_compare_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, cmpop: i32) -> Result_void;
		pub fn cv_completeSymm_const__InputOutputArrayX_bool(m: *const c_void, lower_to_upper: bool) -> Result_void;
		pub fn cv_convertFp16_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_convertScaleAbs_const__InputArrayX_const__OutputArrayX_double_double(src: *const c_void, dst: *const c_void, alpha: f64, beta: f64) -> Result_void;
		pub fn cv_copyMakeBorder_const__InputArrayX_const__OutputArrayX_int_int_int_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, top: i32, bottom: i32, left: i32, right: i32, border_type: i32, value: *const core::Scalar) -> Result_void;
		pub fn cv_copyTo_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_countNonZero_const__InputArrayX(src: *const c_void) -> Result<i32>;
		pub fn cv_cubeRoot_float(val: f32) -> Result<f32>;
		pub fn cv_dct_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flags: i32) -> Result_void;
		pub fn cv_depthToString_int(depth: i32) -> Result<*mut c_void>;
		pub fn cv_detail_check_failed_MatChannels_int_const_CheckContextX(v: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_MatChannels_int_int_const_CheckContextX(v1: i32, v2: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_MatDepth_int_const_CheckContextX(v: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_MatDepth_int_int_const_CheckContextX(v1: i32, v2: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_MatType_int_const_CheckContextX(v: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_MatType_int_int_const_CheckContextX(v1: i32, v2: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_Size__int__Size__int__const_CheckContextX(v1: *const core::Size_<i32>, v2: *const core::Size_<i32>, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_Size__int__const_CheckContextX(v: *const core::Size_<i32>, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_const_stringX_const_CheckContextX(v1: *const c_char, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_double_const_CheckContextX(v: f64, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_double_double_const_CheckContextX(v1: f64, v2: f64, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_float_const_CheckContextX(v: f32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_float_float_const_CheckContextX(v1: f32, v2: f32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_int_const_CheckContextX(v: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_int_int_const_CheckContextX(v1: i32, v2: i32, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_size_t_const_CheckContextX(v: size_t, ctx: *const c_void) -> Result_void;
		pub fn cv_detail_check_failed_auto_size_t_size_t_const_CheckContextX(v1: size_t, v2: size_t, ctx: *const c_void) -> Result_void;
		pub fn cv_determinant_const__InputArrayX(mtx: *const c_void) -> Result<f64>;
		pub fn cv_dft_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, flags: i32, nonzero_rows: i32) -> Result_void;
		pub fn cv_directx_getTypeFromD3DFORMAT_int(i_d3_dformat: i32) -> Result<i32>;
		pub fn cv_directx_getTypeFromDXGI_FORMAT_int(i_dxgi_format: i32) -> Result<i32>;
		pub fn cv_divide_const__InputArrayX_const__InputArrayX_const__OutputArrayX_double_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, scale: f64, dtype: i32) -> Result_void;
		pub fn cv_divide_double_const__InputArrayX_const__OutputArrayX_int(scale: f64, src2: *const c_void, dst: *const c_void, dtype: i32) -> Result_void;
		pub fn cv_eigenNonSymmetric_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(src: *const c_void, eigenvalues: *const c_void, eigenvectors: *const c_void) -> Result_void;
		pub fn cv_eigen_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(src: *const c_void, eigenvalues: *const c_void, eigenvectors: *const c_void) -> Result<bool>;
		pub fn cv_error_const_ExceptionX(exc: *const c_void) -> Result_void;
		pub fn cv_error_int_const_StringX_const_charX_const_charX_int(_code: i32, _err: *const c_char, _func: *const c_char, _file: *const c_char, _line: i32) -> Result_void;
		pub fn cv_exp_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_extractChannel_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, coi: i32) -> Result_void;
		pub fn cv_fastAtan2_float_float(y: f32, x: f32) -> Result<f32>;
		pub fn cv_findNonZero_const__InputArrayX_const__OutputArrayX(src: *const c_void, idx: *const c_void) -> Result_void;
		pub fn cv_flip_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flip_code: i32) -> Result_void;
		pub fn cv_gemm_const__InputArrayX_const__InputArrayX_double_const__InputArrayX_double_const__OutputArrayX_int(src1: *const c_void, src2: *const c_void, alpha: f64, src3: *const c_void, beta: f64, dst: *const c_void, flags: i32) -> Result_void;
		pub fn cv_getBuildInformation() -> Result<*mut c_void>;
		pub fn cv_getCPUFeaturesLine() -> Result<*mut c_void>;
		pub fn cv_getCPUTickCount() -> Result<i64>;
		pub fn cv_getElemSize_int(typ: i32) -> Result<size_t>;
		pub fn cv_getHardwareFeatureName_int(feature: i32) -> Result<*mut c_void>;
		pub fn cv_getImpl_vector_int_X_vector_String_X(impl_: *mut c_void, fun_name: *mut c_void) -> Result<i32>;
		pub fn cv_getNumThreads() -> Result<i32>;
		pub fn cv_getNumberOfCPUs() -> Result<i32>;
		pub fn cv_getOptimalDFTSize_int(vecsize: i32) -> Result<i32>;
		pub fn cv_getThreadNum() -> Result<i32>;
		pub fn cv_getTickCount() -> Result<i64>;
		pub fn cv_getTickFrequency() -> Result<f64>;
		pub fn cv_getVersionMajor() -> Result<i32>;
		pub fn cv_getVersionMinor() -> Result<i32>;
		pub fn cv_getVersionRevision() -> Result<i32>;
		pub fn cv_getVersionString() -> Result<*mut c_void>;
		pub fn cv_glob_String_vector_String_X_bool(pattern: *mut c_char, result: *mut c_void, recursive: bool) -> Result_void;
		pub fn cv_haveOpenVX() -> Result<bool>;
		pub fn cv_hconcat_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_hconcat_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_idct_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flags: i32) -> Result_void;
		pub fn cv_idft_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, flags: i32, nonzero_rows: i32) -> Result_void;
		pub fn cv_inRange_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src: *const c_void, lowerb: *const c_void, upperb: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_insertChannel_const__InputArrayX_const__InputOutputArrayX_int(src: *const c_void, dst: *const c_void, coi: i32) -> Result_void;
		pub fn cv_instr_getFlags() -> Result<core::FLAGS>;
		pub fn cv_instr_resetTrace() -> Result_void;
		pub fn cv_instr_setFlags_FLAGS(mode_flags: core::FLAGS) -> Result_void;
		pub fn cv_instr_setUseInstrumentation_bool(flag: bool) -> Result_void;
		pub fn cv_instr_useInstrumentation() -> Result<bool>;
		pub fn cv_invert_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flags: i32) -> Result<f64>;
		pub fn cv_ipp_getIppErrorLocation() -> Result<*mut c_void>;
		pub fn cv_ipp_getIppFeatures() -> Result<u64>;
		pub fn cv_ipp_getIppStatus() -> Result<i32>;
		pub fn cv_ipp_getIppVersion() -> Result<*mut c_void>;
		pub fn cv_ipp_setIppStatus_int_const_charX_const_charX_int(status: i32, funcname: *const c_char, filename: *const c_char, line: i32) -> Result_void;
		pub fn cv_ipp_setUseIPP_NotExact_bool(flag: bool) -> Result_void;
		pub fn cv_ipp_setUseIPP_bool(flag: bool) -> Result_void;
		pub fn cv_ipp_useIPP() -> Result<bool>;
		pub fn cv_ipp_useIPP_NotExact() -> Result<bool>;
		pub fn cv_kmeans_const__InputArrayX_int_const__InputOutputArrayX_TermCriteria_int_int_const__OutputArrayX(data: *const c_void, k: i32, best_labels: *const c_void, criteria: *const core::TermCriteria, attempts: i32, flags: i32, centers: *const c_void) -> Result<f64>;
		pub fn cv_log_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_magnitude_const__InputArrayX_const__InputArrayX_const__OutputArrayX(x: *const c_void, y: *const c_void, magnitude: *const c_void) -> Result_void;
		pub fn cv_max_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_max_const_MatX_const_MatX_MatX(src1: *const c_void, src2: *const c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_max_const_MatX_double(a: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_max_const_UMatX_const_UMatX_UMatX(src1: *const c_void, src2: *const c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_max_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_max_double_const_MatX(s: f64, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_meanStdDev_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, mean: *const c_void, stddev: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_mean_const__InputArrayX_const__InputArrayX(src: *const c_void, mask: *const c_void) -> Result<core::Scalar>;
		pub fn cv_merge_const_MatX_size_t_const__OutputArrayX(mv: *const c_void, count: size_t, dst: *const c_void) -> Result_void;
		pub fn cv_merge_const__InputArrayX_const__OutputArrayX(mv: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_minMaxIdx_const__InputArrayX_doubleX_doubleX_intX_intX_const__InputArrayX(src: *const c_void, min_val: *mut f64, max_val: *mut f64, min_idx: *mut i32, max_idx: *mut i32, mask: *const c_void) -> Result_void;
		pub fn cv_minMaxLoc_const_SparseMatX_doubleX_doubleX_intX_intX(a: *const c_void, min_val: *mut f64, max_val: *mut f64, min_idx: *mut i32, max_idx: *mut i32) -> Result_void;
		pub fn cv_minMaxLoc_const__InputArrayX_doubleX_doubleX_PointX_PointX_const__InputArrayX(src: *const c_void, min_val: *mut f64, max_val: *mut f64, min_loc: *mut core::Point, max_loc: *mut core::Point, mask: *const c_void) -> Result_void;
		pub fn cv_min_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_min_const_MatX_const_MatX_MatX(src1: *const c_void, src2: *const c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_min_const_MatX_double(a: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_min_const_UMatX_const_UMatX_UMatX(src1: *const c_void, src2: *const c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_min_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_min_double_const_MatX(s: f64, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_mixChannels_const__InputArrayX_const__InputOutputArrayX_const_intX_size_t(src: *const c_void, dst: *const c_void, from_to: *const i32, npairs: size_t) -> Result_void;
		pub fn cv_mixChannels_const__InputArrayX_const__InputOutputArrayX_const_vector_int_X(src: *const c_void, dst: *const c_void, from_to: *const c_void) -> Result_void;
		pub fn cv_mulSpectrums_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_bool(a: *const c_void, b: *const c_void, c: *const c_void, flags: i32, conj_b: bool) -> Result_void;
		pub fn cv_mulTransposed_const__InputArrayX_const__OutputArrayX_bool_const__InputArrayX_double_int(src: *const c_void, dst: *const c_void, a_ta: bool, delta: *const c_void, scale: f64, dtype: i32) -> Result_void;
		pub fn cv_multiply_const__InputArrayX_const__InputArrayX_const__OutputArrayX_double_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, scale: f64, dtype: i32) -> Result_void;
		pub fn cv_noArray() -> Result<*mut c_void>;
		pub fn cv_norm_const_SparseMatX_int(src: *const c_void, norm_type: i32) -> Result<f64>;
		pub fn cv_norm_const__InputArrayX_const__InputArrayX_int_const__InputArrayX(src1: *const c_void, src2: *const c_void, norm_type: i32, mask: *const c_void) -> Result<f64>;
		pub fn cv_norm_const__InputArrayX_int_const__InputArrayX(src1: *const c_void, norm_type: i32, mask: *const c_void) -> Result<f64>;
		pub fn cv_normalize_const_SparseMatX_SparseMatX_double_int(src: *const c_void, dst: *mut c_void, alpha: f64, norm_type: i32) -> Result_void;
		pub fn cv_normalize_const__InputArrayX_const__InputOutputArrayX_double_double_int_int_const__InputArrayX(src: *const c_void, dst: *const c_void, alpha: f64, beta: f64, norm_type: i32, dtype: i32, mask: *const c_void) -> Result_void;
		pub fn cv_ocl_attachContext_const_StringX_voidX_voidX_voidX(platform_name: *const c_char, platform_id: *mut c_void, context: *mut c_void, device_id: *mut c_void) -> Result_void;
		pub fn cv_ocl_buildOptionsAddMatrixDescription_StringX_const_StringX_const__InputArrayX(build_options: *mut *mut c_void, name: *const c_char, _m: *const c_void) -> Result_void;
		pub fn cv_ocl_checkOptimalVectorWidth_const_intX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_OclVectorStrategy(vector_widths: *const i32, src1: *const c_void, src2: *const c_void, src3: *const c_void, src4: *const c_void, src5: *const c_void, src6: *const c_void, src7: *const c_void, src8: *const c_void, src9: *const c_void, strat: core::OclVectorStrategy) -> Result<i32>;
		pub fn cv_ocl_convertFromBuffer_voidX_size_t_int_int_int_UMatX(cl_mem_buffer: *mut c_void, step: size_t, rows: i32, cols: i32, typ: i32, dst: *mut c_void) -> Result_void;
		pub fn cv_ocl_convertFromImage_voidX_UMatX(cl_mem_image: *mut c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_ocl_convertTypeStr_int_int_int_charX(sdepth: i32, ddepth: i32, cn: i32, buf: *mut c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_finish() -> Result_void;
		pub fn cv_ocl_getOpenCLErrorString_int(error_code: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_getPlatfomsInfo_vector_PlatformInfo_X(platform_info: *mut c_void) -> Result_void;
		pub fn cv_ocl_haveAmdBlas() -> Result<bool>;
		pub fn cv_ocl_haveAmdFft() -> Result<bool>;
		pub fn cv_ocl_haveOpenCL() -> Result<bool>;
		pub fn cv_ocl_haveSVM() -> Result<bool>;
		pub fn cv_ocl_kernelToStr_const__InputArrayX_int_const_charX(_kernel: *const c_void, ddepth: i32, name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_memopTypeToStr_int(t: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_predictOptimalVectorWidthMax_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(src1: *const c_void, src2: *const c_void, src3: *const c_void, src4: *const c_void, src5: *const c_void, src6: *const c_void, src7: *const c_void, src8: *const c_void, src9: *const c_void) -> Result<i32>;
		pub fn cv_ocl_predictOptimalVectorWidth_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_OclVectorStrategy(src1: *const c_void, src2: *const c_void, src3: *const c_void, src4: *const c_void, src5: *const c_void, src6: *const c_void, src7: *const c_void, src8: *const c_void, src9: *const c_void, strat: core::OclVectorStrategy) -> Result<i32>;
		pub fn cv_ocl_setUseOpenCL_bool(flag: bool) -> Result_void;
		pub fn cv_ocl_typeToStr_int(t: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_useOpenCL() -> Result<bool>;
		pub fn cv_ocl_vecopTypeToStr_int(t: i32) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatExprX_const_MatExprX(e1: *const c_void, e2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatExprX_const_MatX(e: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatExprX_const_ScalarX(e: *const c_void, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatX_const_MatExprX(m: *const c_void, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_MatX_const_ScalarX(a: *const c_void, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_ScalarX_const_MatExprX(s: *const core::Scalar, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorA_const_ScalarX_const_MatX(s: *const core::Scalar, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatExprX_const_MatExprX(e1: *const c_void, e2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatExprX_const_MatX(e: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatExprX_double(e: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatX_const_MatExprX(m: *const c_void, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_const_MatX_double(a: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_operatorD_double_const_MatExprX(s: f64, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorD_double_const_MatX(s: f64, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatExprX(e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatExprX_const_MatExprX(e1: *const c_void, e2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatExprX_const_MatX(e: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatExprX_const_ScalarX(e: *const c_void, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatX_const_MatExprX(m: *const c_void, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_MatX_const_ScalarX(a: *const c_void, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_ScalarX_const_MatExprX(s: *const core::Scalar, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorS_const_ScalarX_const_MatX(s: *const core::Scalar, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatExprX_const_MatExprX(e1: *const c_void, e2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatExprX_const_MatX(e: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatExprX_double(e: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatX_const_MatExprX(m: *const c_void, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatX_const_MatX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_const_MatX_double(a: *const c_void, s: f64) -> Result<*mut c_void>;
		pub fn cv_operatorX_double_const_MatExprX(s: f64, e: *const c_void) -> Result<*mut c_void>;
		pub fn cv_operatorX_double_const_MatX(s: f64, a: *const c_void) -> Result<*mut c_void>;
		pub fn cv_parallel_for__const_RangeX_const_ParallelLoopBodyX_double(range: *const c_void, body: *const c_void, nstripes: f64) -> Result_void;
		pub fn cv_patchNaNs_const__InputOutputArrayX_double(a: *const c_void, val: f64) -> Result_void;
		pub fn cv_perspectiveTransform_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, m: *const c_void) -> Result_void;
		pub fn cv_phase_const__InputArrayX_const__InputArrayX_const__OutputArrayX_bool(x: *const c_void, y: *const c_void, angle: *const c_void, angle_in_degrees: bool) -> Result_void;
		pub fn cv_polarToCart_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_bool(magnitude: *const c_void, angle: *const c_void, x: *const c_void, y: *const c_void, angle_in_degrees: bool) -> Result_void;
		pub fn cv_pow_const__InputArrayX_double_const__OutputArrayX(src: *const c_void, power: f64, dst: *const c_void) -> Result_void;
		pub fn cv_randShuffle_const__InputOutputArrayX_double_RNGX(dst: *const c_void, iter_factor: f64, rng: *mut c_void) -> Result_void;
		pub fn cv_randn_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX(dst: *const c_void, mean: *const c_void, stddev: *const c_void) -> Result_void;
		pub fn cv_randu_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX(dst: *const c_void, low: *const c_void, high: *const c_void) -> Result_void;
		pub fn cv_read_const_FileNodeX_DMatchX_const_DMatchX(node: *const c_void, value: *mut core::DMatch, default_value: *const core::DMatch) -> Result_void;
		pub fn cv_read_const_FileNodeX_KeyPointX_const_KeyPointX(node: *const c_void, value: *mut core::KeyPoint, default_value: *const core::KeyPoint) -> Result_void;
		pub fn cv_read_const_FileNodeX_MatX_const_MatX(node: *const c_void, mat: *mut c_void, default_mat: *const c_void) -> Result_void;
		pub fn cv_read_const_FileNodeX_SparseMatX_const_SparseMatX(node: *const c_void, mat: *mut c_void, default_mat: *const c_void) -> Result_void;
		pub fn cv_read_const_FileNodeX_doubleX_double(node: *const c_void, value: *mut f64, default_value: f64) -> Result_void;
		pub fn cv_read_const_FileNodeX_floatX_float(node: *const c_void, value: *mut f32, default_value: f32) -> Result_void;
		pub fn cv_read_const_FileNodeX_intX_int(node: *const c_void, value: *mut i32, default_value: i32) -> Result_void;
		pub fn cv_read_const_FileNodeX_stringX_const_stringX(node: *const c_void, value: *mut *mut c_void, default_value: *const c_char) -> Result_void;
		pub fn cv_read_const_FileNodeX_vector_DMatch_X(node: *const c_void, matches: *mut c_void) -> Result_void;
		pub fn cv_read_const_FileNodeX_vector_KeyPoint_X(node: *const c_void, keypoints: *mut c_void) -> Result_void;
		pub fn cv_reduce_const__InputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, dim: i32, rtype: i32, dtype: i32) -> Result_void;
		pub fn cv_repeat_const_MatX_int_int(src: *const c_void, ny: i32, nx: i32) -> Result<*mut c_void>;
		pub fn cv_repeat_const__InputArrayX_int_int_const__OutputArrayX(src: *const c_void, ny: i32, nx: i32, dst: *const c_void) -> Result_void;
		pub fn cv_rotate_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, rotate_code: i32) -> Result_void;
		pub fn cv_samples_addSamplesDataSearchPath_const_StringX(path: *const c_char) -> Result_void;
		pub fn cv_samples_addSamplesDataSearchSubDirectory_const_StringX(subdir: *const c_char) -> Result_void;
		pub fn cv_samples_findFileOrKeep_const_StringX_bool(relative_path: *const c_char, silent_mode: bool) -> Result<*mut c_void>;
		pub fn cv_samples_findFile_const_StringX_bool_bool(relative_path: *const c_char, required: bool, silent_mode: bool) -> Result<*mut c_void>;
		pub fn cv_scaleAdd_const__InputArrayX_double_const__InputArrayX_const__OutputArrayX(src1: *const c_void, alpha: f64, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_setBreakOnError_bool(flag: bool) -> Result<bool>;
		pub fn cv_setIdentity_const__InputOutputArrayX_const_ScalarX(mtx: *const c_void, s: *const core::Scalar) -> Result_void;
		pub fn cv_setNumThreads_int(nthreads: i32) -> Result_void;
		pub fn cv_setRNGSeed_int(seed: i32) -> Result_void;
		pub fn cv_setUseOpenVX_bool(flag: bool) -> Result_void;
		pub fn cv_setUseOptimized_bool(onoff: bool) -> Result_void;
		pub fn cv_solveCubic_const__InputArrayX_const__OutputArrayX(coeffs: *const c_void, roots: *const c_void) -> Result<i32>;
		pub fn cv_solveLP_const__InputArrayX_const__InputArrayX_const__OutputArrayX(func: *const c_void, constr: *const c_void, z: *const c_void) -> Result<i32>;
		pub fn cv_solvePoly_const__InputArrayX_const__OutputArrayX_int(coeffs: *const c_void, roots: *const c_void, max_iters: i32) -> Result<f64>;
		pub fn cv_solve_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_sortIdx_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flags: i32) -> Result_void;
		pub fn cv_sort_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, flags: i32) -> Result_void;
		pub fn cv_split_const_MatX_MatX(src: *const c_void, mvbegin: *mut c_void) -> Result_void;
		pub fn cv_split_const__InputArrayX_const__OutputArrayX(m: *const c_void, mv: *const c_void) -> Result_void;
		pub fn cv_sqrt_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_subtract_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void, dtype: i32) -> Result_void;
		pub fn cv_sum_const__InputArrayX(src: *const c_void) -> Result<core::Scalar>;
		pub fn cv_swap_MatX_MatX(a: *mut c_void, b: *mut c_void) -> Result_void;
		pub fn cv_swap_UMatX_UMatX(a: *mut c_void, b: *mut c_void) -> Result_void;
		pub fn cv_tempfile_const_charX(suffix: *const c_char) -> Result<*mut c_void>;
		pub fn cv_theRNG() -> Result<*mut c_void>;
		pub fn cv_trace_const__InputArrayX(mtx: *const c_void) -> Result<core::Scalar>;
		pub fn cv_transform_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, m: *const c_void) -> Result_void;
		pub fn cv_transpose_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_typeToString_int(typ: i32) -> Result<*mut c_void>;
		pub fn cv_useOpenVX() -> Result<bool>;
		pub fn cv_useOptimized() -> Result<bool>;
		pub fn cv_utils_dumpBool_bool(argument: bool) -> Result<*mut c_void>;
		pub fn cv_utils_dumpCString_const_charX(argument: *const c_char) -> Result<*mut c_void>;
		pub fn cv_utils_dumpDouble_double(argument: f64) -> Result<*mut c_void>;
		pub fn cv_utils_dumpFloat_float(argument: f32) -> Result<*mut c_void>;
		pub fn cv_utils_dumpInputArrayOfArrays_const__InputArrayX(argument: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_dumpInputArray_const__InputArrayX(argument: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_dumpInputOutputArrayOfArrays_const__InputOutputArrayX(argument: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_dumpInputOutputArray_const__InputOutputArrayX(argument: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_dumpInt_int(argument: i32) -> Result<*mut c_void>;
		pub fn cv_utils_dumpSizeT_size_t(argument: size_t) -> Result<*mut c_void>;
		pub fn cv_utils_getThreadID() -> Result<i32>;
		pub fn cv_utils_logging_getLogLevel() -> Result<core::LogLevel>;
		pub fn cv_utils_logging_getLogTagLevel_const_charX(tag: *const c_char) -> Result<core::LogLevel>;
		pub fn cv_utils_logging_internal_getGlobalLogTag() -> Result<*mut c_void>;
		pub fn cv_utils_logging_internal_writeLogMessageEx_LogLevel_const_charX_const_charX_int_const_charX_const_charX(log_level: core::LogLevel, tag: *const c_char, file: *const c_char, line: i32, func: *const c_char, message: *const c_char) -> Result_void;
		pub fn cv_utils_logging_internal_writeLogMessage_LogLevel_const_charX(log_level: core::LogLevel, message: *const c_char) -> Result_void;
		pub fn cv_utils_logging_registerLogTag_LogTagX(plogtag: *mut c_void) -> Result_void;
		pub fn cv_utils_logging_setLogLevel_LogLevel(log_level: core::LogLevel) -> Result<core::LogLevel>;
		pub fn cv_utils_logging_setLogTagLevel_const_charX_LogLevel(tag: *const c_char, level: core::LogLevel) -> Result_void;
		pub fn cv_utils_testAsyncArray_const__InputArrayX(argument: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_testAsyncException() -> Result<*mut c_void>;
		pub fn cv_va_intel_convertFromVASurface_VADisplay_VASurfaceID_Size_const__OutputArrayX(display: *mut c_void, surface: core::va_surface_id, size: *const core::Size, dst: *const c_void) -> Result_void;
		pub fn cv_va_intel_convertToVASurface_VADisplay_const__InputArrayX_VASurfaceID_Size(display: *mut c_void, src: *const c_void, surface: core::va_surface_id, size: *const core::Size) -> Result_void;
		pub fn cv_va_intel_ocl_initializeContextFromVA_VADisplay_bool(display: *mut c_void, try_interop: bool) -> Result<*mut c_void>;
		pub fn cv_vconcat_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_vconcat_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_writeScalar_FileStorageX_const_StringX(fs: *mut c_void, value: *const c_char) -> Result_void;
		pub fn cv_writeScalar_FileStorageX_double(fs: *mut c_void, value: f64) -> Result_void;
		pub fn cv_writeScalar_FileStorageX_float(fs: *mut c_void, value: f32) -> Result_void;
		pub fn cv_writeScalar_FileStorageX_int(fs: *mut c_void, value: i32) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_const_MatX(fs: *mut c_void, name: *const c_char, value: *const c_void) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_const_SparseMatX(fs: *mut c_void, name: *const c_char, value: *const c_void) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_const_StringX(fs: *mut c_void, name: *const c_char, value: *const c_char) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_const_vector_DMatch_X(fs: *mut c_void, name: *const c_char, value: *const c_void) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_const_vector_KeyPoint_X(fs: *mut c_void, name: *const c_char, value: *const c_void) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_double(fs: *mut c_void, name: *const c_char, value: f64) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_float(fs: *mut c_void, name: *const c_char, value: f32) -> Result_void;
		pub fn cv_write_FileStorageX_const_StringX_int(fs: *mut c_void, name: *const c_char, value: i32) -> Result_void;
		pub fn cv_Algorithm_Algorithm() -> Result<*mut c_void>;
		pub fn cv_Algorithm_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_Algorithm_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_Algorithm_write_const_const_Ptr_FileStorage_X_const_StringX(instance: *const c_void, fs: *const c_void, name: *const c_char) -> Result_void;
		pub fn cv_Algorithm_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_Algorithm_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Algorithm_save_const_const_StringX(instance: *const c_void, filename: *const c_char) -> Result_void;
		pub fn cv_Algorithm_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncArray_AsyncArray() -> Result<*mut c_void>;
		pub fn cv_AsyncArray_AsyncArray_const_AsyncArrayX(o: *const c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncArray_release(instance: *mut c_void) -> Result_void;
		pub fn cv_AsyncArray_get_const_const__OutputArrayX(instance: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_AsyncArray_get_const_const__OutputArrayX_int64_t(instance: *const c_void, dst: *const c_void, timeout_ns: i64) -> Result<bool>;
		pub fn cv_AsyncArray_get_const_const__OutputArrayX_double(instance: *const c_void, dst: *const c_void, timeout_ns: f64) -> Result<bool>;
		pub fn cv_AsyncArray_wait_for_const_int64_t(instance: *const c_void, timeout_ns: i64) -> Result<bool>;
		pub fn cv_AsyncArray_wait_for_const_double(instance: *const c_void, timeout_ns: f64) -> Result<bool>;
		pub fn cv_AsyncArray_valid_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_AsyncArray_AsyncArray_AsyncArrayX(o: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncPromise_AsyncPromise() -> Result<*mut c_void>;
		pub fn cv_AsyncPromise_AsyncPromise_const_AsyncPromiseX(o: *const c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncPromise_release(instance: *mut c_void) -> Result_void;
		pub fn cv_AsyncPromise_getArrayResult(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncPromise_setValue_const__InputArrayX(instance: *mut c_void, value: *const c_void) -> Result_void;
		pub fn cv_AsyncPromise_setException_const_ExceptionX(instance: *mut c_void, exception: *const c_void) -> Result_void;
		pub fn cv_AsyncPromise_AsyncPromise_AsyncPromiseX(o: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_AsyncPromise__getImpl_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_CommandLineParser_CommandLineParser_int_const_charXX_const_StringX(argc: i32, argv: *const *const c_char, keys: *const c_char) -> Result<*mut c_void>;
		pub fn cv_CommandLineParser_CommandLineParser_const_CommandLineParserX(parser: *const c_void) -> Result<*mut c_void>;
		pub fn cv_CommandLineParser_getPathToApplication_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_CommandLineParser_has_const_const_StringX(instance: *const c_void, name: *const c_char) -> Result<bool>;
		pub fn cv_CommandLineParser_check_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_CommandLineParser_about_const_StringX(instance: *mut c_void, message: *const c_char) -> Result_void;
		pub fn cv_CommandLineParser_printMessage_const(instance: *const c_void) -> Result_void;
		pub fn cv_CommandLineParser_printErrors_const(instance: *const c_void) -> Result_void;
		pub fn cv_ConjGradSolver_create_const_Ptr_Function_X_TermCriteria(f: *const c_void, termcrit: *const core::TermCriteria) -> Result<*mut c_void>;
		pub fn cv_DMatch_DMatch() -> Result<core::DMatch>;
		pub fn cv_DMatch_DMatch_int_int_float(_query_idx: i32, _train_idx: i32, _distance: f32) -> Result<core::DMatch>;
		pub fn cv_DMatch_DMatch_int_int_int_float(_query_idx: i32, _train_idx: i32, _img_idx: i32, _distance: f32) -> Result<core::DMatch>;
		pub fn cv_DownhillSolver_getInitStep_const_const__OutputArrayX(instance: *const c_void, step: *const c_void) -> Result_void;
		pub fn cv_DownhillSolver_setInitStep_const__InputArrayX(instance: *mut c_void, step: *const c_void) -> Result_void;
		pub fn cv_DownhillSolver_create_const_Ptr_Function_X_const__InputArrayX_TermCriteria(f: *const c_void, init_step: *const c_void, termcrit: *const core::TermCriteria) -> Result<*mut c_void>;
		pub fn cv_Exception_msg_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Exception_setMsg_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_Exception_code_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Exception_setCode_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Exception_err_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Exception_setErr_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_Exception_func_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Exception_setFunc_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_Exception_file_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Exception_setFile_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_Exception_line_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Exception_setLine_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Exception_Exception() -> Result<*mut c_void>;
		pub fn cv_Exception_Exception_int_const_StringX_const_StringX_const_StringX_int(_code: i32, _err: *const c_char, _func: *const c_char, _file: *const c_char, _line: i32) -> Result<*mut c_void>;
		pub fn cv_Exception_what_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Exception_formatMessage(instance: *mut c_void) -> Result_void;
		pub fn cv_FileNode_fs_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_blockIdx_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_FileNode_setBlockIdx_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_FileNode_ofs_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_FileNode_setOfs_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_FileNode_FileNode() -> Result<*mut c_void>;
		pub fn cv_FileNode_FileNode_const_FileStorageX_size_t_size_t(fs: *const c_void, block_idx: size_t, ofs: size_t) -> Result<*mut c_void>;
		pub fn cv_FileNode_FileNode_const_FileNodeX(node: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_operator___const_const_StringX(instance: *const c_void, nodename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileNode_operator___const_const_charX(instance: *const c_void, nodename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileNode_operator___const_int(instance: *const c_void, i: i32) -> Result<*mut c_void>;
		pub fn cv_FileNode_keys_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FileNode_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isNone_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isSeq_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isMap_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isInt_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isReal_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isString_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_isNamed_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileNode_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_size_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_FileNode_rawSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_FileNode_operator_int_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FileNode_operator_float_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_FileNode_operator_double_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_FileNode_operator_std_string_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_isMap_int(flags: i32) -> Result<bool>;
		pub fn cv_FileNode_isSeq_int(flags: i32) -> Result<bool>;
		pub fn cv_FileNode_isCollection_int(flags: i32) -> Result<bool>;
		pub fn cv_FileNode_isEmptyCollection_int(flags: i32) -> Result<bool>;
		pub fn cv_FileNode_isFlow_int(flags: i32) -> Result<bool>;
		pub fn cv_FileNode_ptr(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_FileNode_ptr_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_FileNode_begin_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_end_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_readRaw_const_const_StringX_voidX_size_t(instance: *const c_void, fmt: *const c_char, vec: *mut c_void, len: size_t) -> Result_void;
		pub fn cv_FileNode_setValue_int_const_voidX_int(instance: *mut c_void, typ: i32, value: *const c_void, len: i32) -> Result_void;
		pub fn cv_FileNode_real_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_FileNode_string_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNode_mat_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_FileNodeIterator() -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_FileNodeIterator_const_FileNodeX_bool(node: *const c_void, seek_end: bool) -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_FileNodeIterator_const_FileNodeIteratorX(it: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_operatorX_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_readRaw_const_StringX_voidX_size_t(instance: *mut c_void, fmt: *const c_char, vec: *mut c_void, len: size_t) -> Result<*mut c_void>;
		pub fn cv_FileNodeIterator_remaining_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_FileNodeIterator_equalTo_const_const_FileNodeIteratorX(instance: *const c_void, it: *const c_void) -> Result<bool>;
		pub fn cv_FileStorage_state_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FileStorage_setState_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_FileStorage_elname_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileStorage_setElname_string(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_FileStorage_FileStorage() -> Result<*mut c_void>;
		pub fn cv_FileStorage_FileStorage_const_StringX_int_const_StringX(filename: *const c_char, flags: i32, encoding: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileStorage_open_const_StringX_int_const_StringX(instance: *mut c_void, filename: *const c_char, flags: i32, encoding: *const c_char) -> Result<bool>;
		pub fn cv_FileStorage_isOpened_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FileStorage_release(instance: *mut c_void) -> Result_void;
		pub fn cv_FileStorage_releaseAndGetString(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_FileStorage_getFirstTopLevelNode_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FileStorage_root_const_int(instance: *const c_void, streamidx: i32) -> Result<*mut c_void>;
		pub fn cv_FileStorage_operator___const_const_StringX(instance: *const c_void, nodename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileStorage_operator___const_const_charX(instance: *const c_void, nodename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileStorage_write_const_StringX_int(instance: *mut c_void, name: *const c_char, val: i32) -> Result_void;
		pub fn cv_FileStorage_write_const_StringX_double(instance: *mut c_void, name: *const c_char, val: f64) -> Result_void;
		pub fn cv_FileStorage_write_const_StringX_const_StringX(instance: *mut c_void, name: *const c_char, val: *const c_char) -> Result_void;
		pub fn cv_FileStorage_write_const_StringX_const_MatX(instance: *mut c_void, name: *const c_char, val: *const c_void) -> Result_void;
		pub fn cv_FileStorage_write_const_StringX_const_vector_String_X(instance: *mut c_void, name: *const c_char, val: *const c_void) -> Result_void;
		pub fn cv_FileStorage_writeRaw_const_StringX_const_voidX_size_t(instance: *mut c_void, fmt: *const c_char, vec: *const c_void, len: size_t) -> Result_void;
		pub fn cv_FileStorage_writeComment_const_StringX_bool(instance: *mut c_void, comment: *const c_char, append: bool) -> Result_void;
		pub fn cv_FileStorage_startWriteStruct_const_StringX_int_const_StringX(instance: *mut c_void, name: *const c_char, flags: i32, type_name: *const c_char) -> Result_void;
		pub fn cv_FileStorage_endWriteStruct(instance: *mut c_void) -> Result_void;
		pub fn cv_FileStorage_getDefaultObjectName_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_FileStorage_getFormat_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Formatted_next(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Formatted_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_Formatter_format_const_const_MatX(instance: *const c_void, mtx: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Formatter_set16fPrecision_int(instance: *mut c_void, p: i32) -> Result_void;
		pub fn cv_Formatter_set32fPrecision_int(instance: *mut c_void, p: i32) -> Result_void;
		pub fn cv_Formatter_set64fPrecision_int(instance: *mut c_void, p: i32) -> Result_void;
		pub fn cv_Formatter_setMultiline_bool(instance: *mut c_void, ml: bool) -> Result_void;
		pub fn cv_Formatter_get_FormatType(fmt: core::Formatter_FormatType) -> Result<*mut c_void>;
		pub fn cv_Hamming_normType_const(instance: *const c_void) -> Result<core::NormTypes>;
		pub fn cv_KeyPoint_KeyPoint() -> Result<core::KeyPoint>;
		pub fn cv_KeyPoint_KeyPoint_Point2f_float_float_float_int_int(_pt: *const core::Point2f, _size: f32, _angle: f32, _response: f32, _octave: i32, _class_id: i32) -> Result<core::KeyPoint>;
		pub fn cv_KeyPoint_KeyPoint_float_float_float_float_float_int_int(x: f32, y: f32, _size: f32, _angle: f32, _response: f32, _octave: i32, _class_id: i32) -> Result<core::KeyPoint>;
		pub fn cv_KeyPoint_hash_const(instance: *const core::KeyPoint) -> Result<size_t>;
		pub fn cv_KeyPoint_convert_const_vector_KeyPoint_X_vector_Point2f_X_const_vector_int_X(keypoints: *const c_void, points2f: *mut c_void, keypoint_indexes: *const c_void) -> Result_void;
		pub fn cv_KeyPoint_convert_const_vector_Point2f_X_vector_KeyPoint_X_float_float_int_int(points2f: *const c_void, keypoints: *mut c_void, size: f32, response: f32, octave: i32, class_id: i32) -> Result_void;
		pub fn cv_KeyPoint_overlap_const_KeyPointX_const_KeyPointX(kp1: *const core::KeyPoint, kp2: *const core::KeyPoint) -> Result<f32>;
		pub fn cv_LDA_LDA_int(num_components: i32) -> Result<*mut c_void>;
		pub fn cv_LDA_LDA_const__InputArrayX_const__InputArrayX_int(src: *const c_void, labels: *const c_void, num_components: i32) -> Result<*mut c_void>;
		pub fn cv_LDA_save_const_const_StringX(instance: *const c_void, filename: *const c_char) -> Result_void;
		pub fn cv_LDA_load_const_StringX(instance: *mut c_void, filename: *const c_char) -> Result_void;
		pub fn cv_LDA_save_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_LDA_load_const_FileStorageX(instance: *mut c_void, node: *const c_void) -> Result_void;
		pub fn cv_LDA_compute_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, labels: *const c_void) -> Result_void;
		pub fn cv_LDA_project_const__InputArrayX(instance: *mut c_void, src: *const c_void) -> Result<*mut c_void>;
		pub fn cv_LDA_reconstruct_const__InputArrayX(instance: *mut c_void, src: *const c_void) -> Result<*mut c_void>;
		pub fn cv_LDA_eigenvectors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_LDA_eigenvalues_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_LDA_subspaceProject_const__InputArrayX_const__InputArrayX_const__InputArrayX(w: *const c_void, mean: *const c_void, src: *const c_void) -> Result<*mut c_void>;
		pub fn cv_LDA_subspaceReconstruct_const__InputArrayX_const__InputArrayX_const__InputArrayX(w: *const c_void, mean: *const c_void, src: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_flags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Mat_dims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_setDims_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Mat_rows_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_setRows_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Mat_cols_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_setCols_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Mat_data(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_Mat_setData_unsigned_charX(instance: *mut c_void, val: *mut u8) -> Result_void;
		pub fn cv_Mat_datastart_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_Mat_dataend_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_Mat_datalimit_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_Mat_u(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_setU_UMatDataX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_Mat_size_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_step_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat() -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_int_int_const_ScalarX(rows: i32, cols: i32, typ: i32, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_Size_int_const_ScalarX(size: *const core::Size, typ: i32, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_const_intX_int(ndims: i32, sizes: *const i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_vector_int_X_int(sizes: *const c_void, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_const_intX_int_const_ScalarX(ndims: i32, sizes: *const i32, typ: i32, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_vector_int_X_int_const_ScalarX(sizes: *const c_void, typ: i32, s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_int_int_voidX_size_t(rows: i32, cols: i32, typ: i32, data: *mut c_void, step: size_t) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_Size_int_voidX_size_t(size: *const core::Size, typ: i32, data: *mut c_void, step: size_t) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_int_const_intX_int_voidX_const_size_tX(ndims: i32, sizes: *const i32, typ: i32, data: *mut c_void, steps: *const size_t) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_vector_int_X_int_voidX_const_size_tX(sizes: *const c_void, typ: i32, data: *mut c_void, steps: *const size_t) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_MatX_const_RangeX_const_RangeX(m: *const c_void, row_range: *const c_void, col_range: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_MatX_const_RectX(m: *const c_void, roi: *const core::Rect) -> Result<*mut c_void>;
		pub fn cv_Mat_Mat_const_MatX_const_vector_Range_X(m: *const c_void, ranges: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_getUMat_const_AccessFlag_UMatUsageFlags(instance: *const c_void, access_flags: core::AccessFlag, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_Mat_row_const_int(instance: *const c_void, y: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_col_const_int(instance: *const c_void, x: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_rowRange_const_int_int(instance: *const c_void, startrow: i32, endrow: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_rowRange_const_const_RangeX(instance: *const c_void, r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_colRange_const_int_int(instance: *const c_void, startcol: i32, endcol: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_colRange_const_const_RangeX(instance: *const c_void, r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_diag_const_int(instance: *const c_void, d: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_diag_const_MatX(d: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_clone_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_copyTo_const_const__OutputArrayX(instance: *const c_void, m: *const c_void) -> Result_void;
		pub fn cv_Mat_copyTo_const_const__OutputArrayX_const__InputArrayX(instance: *const c_void, m: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_Mat_convertTo_const_const__OutputArrayX_int_double_double(instance: *const c_void, m: *const c_void, rtype: i32, alpha: f64, beta: f64) -> Result_void;
		pub fn cv_Mat_assignTo_const_MatX_int(instance: *const c_void, m: *mut c_void, typ: i32) -> Result_void;
		pub fn cv_Mat_setTo_const__InputArrayX_const__InputArrayX(instance: *mut c_void, value: *const c_void, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_reshape_const_int_int(instance: *const c_void, cn: i32, rows: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_reshape_const_int_int_const_intX(instance: *const c_void, cn: i32, newndims: i32, newsz: *const i32) -> Result<*mut c_void>;
		pub fn cv_Mat_reshape_const_int_const_vector_int_X(instance: *const c_void, cn: i32, newshape: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_t_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_inv_const_int(instance: *const c_void, method: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_mul_const_const__InputArrayX_double(instance: *const c_void, m: *const c_void, scale: f64) -> Result<*mut c_void>;
		pub fn cv_Mat_cross_const_const__InputArrayX(instance: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_dot_const_const__InputArrayX(instance: *const c_void, m: *const c_void) -> Result<f64>;
		pub fn cv_Mat_zeros_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_zeros_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_zeros_int_const_intX_int(ndims: i32, sz: *const i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_ones_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_ones_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_ones_int_const_intX_int(ndims: i32, sz: *const i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_eye_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_eye_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_create_int_int_int(instance: *mut c_void, rows: i32, cols: i32, typ: i32) -> Result_void;
		pub fn cv_Mat_create_Size_int(instance: *mut c_void, size: *const core::Size, typ: i32) -> Result_void;
		pub fn cv_Mat_create_int_const_intX_int(instance: *mut c_void, ndims: i32, sizes: *const i32, typ: i32) -> Result_void;
		pub fn cv_Mat_create_const_vector_int_X_int(instance: *mut c_void, sizes: *const c_void, typ: i32) -> Result_void;
		pub fn cv_Mat_addref(instance: *mut c_void) -> Result_void;
		pub fn cv_Mat_release(instance: *mut c_void) -> Result_void;
		pub fn cv_Mat_deallocate(instance: *mut c_void) -> Result_void;
		pub fn cv_Mat_reserve_size_t(instance: *mut c_void, sz: size_t) -> Result_void;
		pub fn cv_Mat_reserveBuffer_size_t(instance: *mut c_void, sz: size_t) -> Result_void;
		pub fn cv_Mat_resize_size_t(instance: *mut c_void, sz: size_t) -> Result_void;
		pub fn cv_Mat_resize_size_t_const_ScalarX(instance: *mut c_void, sz: size_t, s: *const core::Scalar) -> Result_void;
		pub fn cv_Mat_push_back_const_MatX(instance: *mut c_void, m: *const c_void) -> Result_void;
		pub fn cv_Mat_pop_back_size_t(instance: *mut c_void, nelems: size_t) -> Result_void;
		pub fn cv_Mat_locateROI_const_SizeX_PointX(instance: *const c_void, whole_size: *mut core::Size, ofs: *mut core::Point) -> Result_void;
		pub fn cv_Mat_adjustROI_int_int_int_int(instance: *mut c_void, dtop: i32, dbottom: i32, dleft: i32, dright: i32) -> Result<*mut c_void>;
		pub fn cv_Mat_isContinuous_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Mat_isSubmatrix_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Mat_elemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_Mat_elemSize1_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_Mat_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_depth_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_channels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Mat_step1_const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv_Mat_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Mat_total_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_Mat_total_const_int_int(instance: *const c_void, start_dim: i32, end_dim: i32) -> Result<size_t>;
		pub fn cv_Mat_checkVector_const_int_int_bool(instance: *const c_void, elem_channels: i32, depth: i32, require_continuous: bool) -> Result<i32>;
		pub fn cv_Mat_ptr_int(instance: *mut c_void, i0: i32) -> Result<*mut u8>;
		pub fn cv_Mat_ptr_const_int(instance: *const c_void, i0: i32) -> Result<*const u8>;
		pub fn cv_Mat_ptr_int_int(instance: *mut c_void, row: i32, col: i32) -> Result<*mut u8>;
		pub fn cv_Mat_ptr_const_int_int(instance: *const c_void, row: i32, col: i32) -> Result<*const u8>;
		pub fn cv_Mat_ptr_int_int_int(instance: *mut c_void, i0: i32, i1: i32, i2: i32) -> Result<*mut u8>;
		pub fn cv_Mat_ptr_const_int_int_int(instance: *const c_void, i0: i32, i1: i32, i2: i32) -> Result<*const u8>;
		pub fn cv_Mat_ptr_const_intX(instance: *mut c_void, idx: *const i32) -> Result<*mut u8>;
		pub fn cv_Mat_ptr_const_const_intX(instance: *const c_void, idx: *const i32) -> Result<*const u8>;
		pub fn cv_Mat_Mat_MatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Mat_updateContinuityFlag(instance: *mut c_void) -> Result_void;
		pub fn cv_MatConstIterator_m_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_elemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_MatConstIterator_setElemSize_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_MatConstIterator_ptr_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_MatConstIterator_sliceStart_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_MatConstIterator_sliceEnd_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_MatConstIterator_MatConstIterator() -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_MatConstIterator_const_MatX(_m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_MatConstIterator_const_MatX_int_int(_m: *const c_void, _row: i32, _col: i32) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_MatConstIterator_const_MatX_Point(_m: *const c_void, _pt: *const core::Point) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_MatConstIterator_const_MatX_const_intX(_m: *const c_void, _idx: *const i32) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_MatConstIterator_const_MatConstIteratorX(it: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatConstIterator_operatorX_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_MatConstIterator_operator___const_ptrdiff_t(instance: *const c_void, i: ptrdiff_t) -> Result<*const u8>;
		pub fn cv_MatConstIterator_pos_const(instance: *const c_void) -> Result<core::Point>;
		pub fn cv_MatConstIterator_pos_const_intX(instance: *const c_void, _idx: *mut i32) -> Result_void;
		pub fn cv_MatConstIterator_lpos_const(instance: *const c_void) -> Result<ptrdiff_t>;
		pub fn cv_MatConstIterator_seek_ptrdiff_t_bool(instance: *mut c_void, ofs: ptrdiff_t, relative: bool) -> Result_void;
		pub fn cv_MatConstIterator_seek_const_intX_bool(instance: *mut c_void, _idx: *const i32, relative: bool) -> Result_void;
		pub fn cv_MatExpr_flags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MatExpr_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_MatExpr_a(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_setA_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_MatExpr_b(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_setB_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_MatExpr_c(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_setC_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_MatExpr_alpha_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_MatExpr_setAlpha_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_MatExpr_beta_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_MatExpr_setBeta_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_MatExpr_s_const(instance: *const c_void) -> Result<core::Scalar>;
		pub fn cv_MatExpr_setS_Scalar(instance: *mut c_void, val: *const core::Scalar) -> Result_void;
		pub fn cv_MatExpr_MatExpr() -> Result<*mut c_void>;
		pub fn cv_MatExpr_MatExpr_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_MatExpr_const_MatOpX_int_const_MatX_const_MatX_const_MatX_double_double_const_ScalarX(_op: *const c_void, _flags: i32, _a: *const c_void, _b: *const c_void, _c: *const c_void, _alpha: f64, _beta: f64, _s: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_MatExpr_operator_cv_Mat_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_size_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_MatExpr_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MatExpr_row_const_int(instance: *const c_void, y: i32) -> Result<*mut c_void>;
		pub fn cv_MatExpr_col_const_int(instance: *const c_void, x: i32) -> Result<*mut c_void>;
		pub fn cv_MatExpr_diag_const_int(instance: *const c_void, d: i32) -> Result<*mut c_void>;
		pub fn cv_MatExpr_t_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_inv_const_int(instance: *const c_void, method: i32) -> Result<*mut c_void>;
		pub fn cv_MatExpr_mul_const_const_MatExprX_double(instance: *const c_void, e: *const c_void, scale: f64) -> Result<*mut c_void>;
		pub fn cv_MatExpr_mul_const_const_MatX_double(instance: *const c_void, m: *const c_void, scale: f64) -> Result<*mut c_void>;
		pub fn cv_MatExpr_cross_const_const_MatX(instance: *const c_void, m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MatExpr_dot_const_const_MatX(instance: *const c_void, m: *const c_void) -> Result<f64>;
		pub fn cv_MatOp_elementWise_const_const_MatExprX(instance: *const c_void, expr: *const c_void) -> Result<bool>;
		pub fn cv_MatOp_assign_const_const_MatExprX_MatX_int(instance: *const c_void, expr: *const c_void, m: *mut c_void, typ: i32) -> Result_void;
		pub fn cv_MatOp_roi_const_const_MatExprX_const_RangeX_const_RangeX_MatExprX(instance: *const c_void, expr: *const c_void, row_range: *const c_void, col_range: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_diag_const_const_MatExprX_int_MatExprX(instance: *const c_void, expr: *const c_void, d: i32, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignAdd_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignSubtract_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignMultiply_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignDivide_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignAnd_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignOr_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_augAssignXor_const_const_MatExprX_MatX(instance: *const c_void, expr: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_MatOp_add_const_const_MatExprX_const_MatExprX_MatExprX(instance: *const c_void, expr1: *const c_void, expr2: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_add_const_const_MatExprX_const_ScalarX_MatExprX(instance: *const c_void, expr1: *const c_void, s: *const core::Scalar, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_subtract_const_const_MatExprX_const_MatExprX_MatExprX(instance: *const c_void, expr1: *const c_void, expr2: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_subtract_const_const_ScalarX_const_MatExprX_MatExprX(instance: *const c_void, s: *const core::Scalar, expr: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_multiply_const_const_MatExprX_const_MatExprX_MatExprX_double(instance: *const c_void, expr1: *const c_void, expr2: *const c_void, res: *mut c_void, scale: f64) -> Result_void;
		pub fn cv_MatOp_multiply_const_const_MatExprX_double_MatExprX(instance: *const c_void, expr1: *const c_void, s: f64, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_divide_const_const_MatExprX_const_MatExprX_MatExprX_double(instance: *const c_void, expr1: *const c_void, expr2: *const c_void, res: *mut c_void, scale: f64) -> Result_void;
		pub fn cv_MatOp_divide_const_double_const_MatExprX_MatExprX(instance: *const c_void, s: f64, expr: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_abs_const_const_MatExprX_MatExprX(instance: *const c_void, expr: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_transpose_const_const_MatExprX_MatExprX(instance: *const c_void, expr: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_matmul_const_const_MatExprX_const_MatExprX_MatExprX(instance: *const c_void, expr1: *const c_void, expr2: *const c_void, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_invert_const_const_MatExprX_int_MatExprX(instance: *const c_void, expr: *const c_void, method: i32, res: *mut c_void) -> Result_void;
		pub fn cv_MatOp_size_const_const_MatExprX(instance: *const c_void, expr: *const c_void) -> Result<core::Size>;
		pub fn cv_MatOp_type_const_const_MatExprX(instance: *const c_void, expr: *const c_void) -> Result<i32>;
		pub fn cv_MatSize_p(instance: *mut c_void) -> Result<*mut i32>;
		pub fn cv_MatSize_setP_intX(instance: *mut c_void, val: *mut i32) -> Result_void;
		pub fn cv_MatSize_MatSize_intX(_p: *mut i32) -> Result<*mut c_void>;
		pub fn cv_MatSize_dims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MatSize_operator___const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv_MatSize_operator___int(instance: *mut c_void, i: i32) -> Result<i32>;
		pub fn cv_MatSize_operator_const_intX_const(instance: *const c_void) -> Result<*const i32>;
		pub fn cv_MatStep_p(instance: *mut c_void) -> Result<*mut size_t>;
		pub fn cv_MatStep_setP_size_tX(instance: *mut c_void, val: *mut size_t) -> Result_void;
		pub fn cv_MatStep_buf(instance: *mut c_void) -> Result<*mut [size_t; 2]>;
		pub fn cv_MatStep_MatStep() -> Result<*mut c_void>;
		pub fn cv_MatStep_MatStep_size_t(s: size_t) -> Result<*mut c_void>;
		pub fn cv_MatStep_operator___const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv_MatStep_operator___int(instance: *mut c_void, i: i32) -> Result<size_t>;
		pub fn cv_MatStep_operator_size_t_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_Matx_AddOp_Matx_AddOp() -> Result<*mut c_void>;
		pub fn cv_Matx_AddOp_Matx_AddOp_const_Matx_AddOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_DivOp_Matx_DivOp() -> Result<*mut c_void>;
		pub fn cv_Matx_DivOp_Matx_DivOp_const_Matx_DivOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_MatMulOp_Matx_MatMulOp() -> Result<*mut c_void>;
		pub fn cv_Matx_MatMulOp_Matx_MatMulOp_const_Matx_MatMulOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_MulOp_Matx_MulOp() -> Result<*mut c_void>;
		pub fn cv_Matx_MulOp_Matx_MulOp_const_Matx_MulOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_ScaleOp_Matx_ScaleOp() -> Result<*mut c_void>;
		pub fn cv_Matx_ScaleOp_Matx_ScaleOp_const_Matx_ScaleOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_SubOp_Matx_SubOp() -> Result<*mut c_void>;
		pub fn cv_Matx_SubOp_Matx_SubOp_const_Matx_SubOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Matx_TOp_Matx_TOp() -> Result<*mut c_void>;
		pub fn cv_Matx_TOp_Matx_TOp_const_Matx_TOpX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MinProblemSolver_getFunction_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MinProblemSolver_setFunction_const_Ptr_Function_X(instance: *mut c_void, f: *const c_void) -> Result_void;
		pub fn cv_MinProblemSolver_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_MinProblemSolver_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, termcrit: *const core::TermCriteria) -> Result_void;
		pub fn cv_MinProblemSolver_minimize_const__InputOutputArrayX(instance: *mut c_void, x: *const c_void) -> Result<f64>;
		pub fn cv_MinProblemSolver_Function_getDims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MinProblemSolver_Function_getGradientEps_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_MinProblemSolver_Function_calc_const_const_doubleX(instance: *const c_void, x: *const f64) -> Result<f64>;
		pub fn cv_MinProblemSolver_Function_getGradient_const_doubleX_doubleX(instance: *mut c_void, x: *const f64, grad: *mut f64) -> Result_void;
		pub fn cv_Moments_Moments() -> Result<core::Moments>;
		pub fn cv_Moments_Moments_double_double_double_double_double_double_double_double_double_double(m00: f64, m10: f64, m01: f64, m20: f64, m11: f64, m02: f64, m30: f64, m21: f64, m12: f64, m03: f64) -> Result<core::Moments>;
		pub fn cv_PCA_eigenvectors(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_PCA_setEigenvectors_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_PCA_eigenvalues(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_PCA_setEigenvalues_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_PCA_mean(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_PCA_setMean_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_PCA_PCA() -> Result<*mut c_void>;
		pub fn cv_PCA_PCA_const__InputArrayX_const__InputArrayX_int_int(data: *const c_void, mean: *const c_void, flags: i32, max_components: i32) -> Result<*mut c_void>;
		pub fn cv_PCA_PCA_const__InputArrayX_const__InputArrayX_int_double(data: *const c_void, mean: *const c_void, flags: i32, retained_variance: f64) -> Result<*mut c_void>;
		pub fn cv_PCA_project_const_const__InputArrayX(instance: *const c_void, vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv_PCA_project_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, vec: *const c_void, result: *const c_void) -> Result_void;
		pub fn cv_PCA_backProject_const_const__InputArrayX(instance: *const c_void, vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv_PCA_backProject_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, vec: *const c_void, result: *const c_void) -> Result_void;
		pub fn cv_PCA_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_PCA_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_RNG_state_const(instance: *const c_void) -> Result<u64>;
		pub fn cv_RNG_setState_uint64_t(instance: *mut c_void, val: u64) -> Result_void;
		pub fn cv_RNG_RNG() -> Result<*mut c_void>;
		pub fn cv_RNG_RNG_uint64_t(state: u64) -> Result<*mut c_void>;
		pub fn cv_RNG_next(instance: *mut c_void) -> Result<u32>;
		pub fn cv_RNG_operator_unsigned_char(instance: *mut c_void) -> Result<u8>;
		pub fn cv_RNG_operator_signed_char(instance: *mut c_void) -> Result<i8>;
		pub fn cv_RNG_operator_unsigned_short(instance: *mut c_void) -> Result<u16>;
		pub fn cv_RNG_operator_short(instance: *mut c_void) -> Result<i16>;
		pub fn cv_RNG_operator_unsigned_int(instance: *mut c_void) -> Result<u32>;
		pub fn cv_RNG_operator_int(instance: *mut c_void) -> Result<i32>;
		pub fn cv_RNG_operator_float(instance: *mut c_void) -> Result<f32>;
		pub fn cv_RNG_operator_double(instance: *mut c_void) -> Result<f64>;
		pub fn cv_RNG_uniform_int_int(instance: *mut c_void, a: i32, b: i32) -> Result<i32>;
		pub fn cv_RNG_uniform_float_float(instance: *mut c_void, a: f32, b: f32) -> Result<f32>;
		pub fn cv_RNG_uniform_double_double(instance: *mut c_void, a: f64, b: f64) -> Result<f64>;
		pub fn cv_RNG_fill_const__InputOutputArrayX_int_const__InputArrayX_const__InputArrayX_bool(instance: *mut c_void, mat: *const c_void, dist_type: i32, a: *const c_void, b: *const c_void, saturate_range: bool) -> Result_void;
		pub fn cv_RNG_gaussian_double(instance: *mut c_void, sigma: f64) -> Result<f64>;
		pub fn cv_RNG_MT19937_RNG_MT19937() -> Result<*mut c_void>;
		pub fn cv_RNG_MT19937_RNG_MT19937_unsigned_int(s: u32) -> Result<*mut c_void>;
		pub fn cv_RNG_MT19937_seed_unsigned_int(instance: *mut c_void, s: u32) -> Result_void;
		pub fn cv_RNG_MT19937_next(instance: *mut c_void) -> Result<u32>;
		pub fn cv_RNG_MT19937_operator_int(instance: *mut c_void) -> Result<i32>;
		pub fn cv_RNG_MT19937_operator_unsigned_int(instance: *mut c_void) -> Result<u32>;
		pub fn cv_RNG_MT19937_operator_float(instance: *mut c_void) -> Result<f32>;
		pub fn cv_RNG_MT19937_operator_double(instance: *mut c_void) -> Result<f64>;
		pub fn cv_RNG_MT19937_uniform_int_int(instance: *mut c_void, a: i32, b: i32) -> Result<i32>;
		pub fn cv_RNG_MT19937_uniform_float_float(instance: *mut c_void, a: f32, b: f32) -> Result<f32>;
		pub fn cv_RNG_MT19937_uniform_double_double(instance: *mut c_void, a: f64, b: f64) -> Result<f64>;
		pub fn cv_Range_start_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Range_setStart_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Range_end_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Range_setEnd_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_Range_Range() -> Result<*mut c_void>;
		pub fn cv_Range_Range_int_int(_start: i32, _end: i32) -> Result<*mut c_void>;
		pub fn cv_Range_size_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Range_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Range_all() -> Result<*mut c_void>;
		pub fn cv_RotatedRect_center_const(instance: *const c_void) -> Result<core::Point2f>;
		pub fn cv_RotatedRect_setCenter_Point2f(instance: *mut c_void, val: *const core::Point2f) -> Result_void;
		pub fn cv_RotatedRect_size_const(instance: *const c_void) -> Result<core::Size2f>;
		pub fn cv_RotatedRect_setSize_Size2f(instance: *mut c_void, val: *const core::Size2f) -> Result_void;
		pub fn cv_RotatedRect_angle_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_RotatedRect_setAngle_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_RotatedRect_RotatedRect() -> Result<*mut c_void>;
		pub fn cv_RotatedRect_RotatedRect_const_Point2fX_const_Size2fX_float(center: *const core::Point2f, size: *const core::Size2f, angle: f32) -> Result<*mut c_void>;
		pub fn cv_RotatedRect_RotatedRect_const_Point2fX_const_Point2fX_const_Point2fX(point1: *const core::Point2f, point2: *const core::Point2f, point3: *const core::Point2f) -> Result<*mut c_void>;
		pub fn cv_RotatedRect_points_const_Point2fX(instance: *const c_void, pts: *mut core::Point2f) -> Result_void;
		pub fn cv_RotatedRect_boundingRect_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_RotatedRect_boundingRect2f_const(instance: *const c_void) -> Result<core::Rect_<f32>>;
		pub fn cv_SVD_u(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SVD_setU_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SVD_w(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SVD_setW_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SVD_vt(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SVD_setVt_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SVD_SVD() -> Result<*mut c_void>;
		pub fn cv_SVD_SVD_const__InputArrayX_int(src: *const c_void, flags: i32) -> Result<*mut c_void>;
		pub fn cv_SVD_compute_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int(src: *const c_void, w: *const c_void, u: *const c_void, vt: *const c_void, flags: i32) -> Result_void;
		pub fn cv_SVD_compute_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, w: *const c_void, flags: i32) -> Result_void;
		pub fn cv_SVD_backSubst_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(w: *const c_void, u: *const c_void, vt: *const c_void, rhs: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_SVD_solveZ_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_SVD_backSubst_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, rhs: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_SparseMat_flags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_SparseMat_hdr(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_setHdr_HdrX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_SparseMat() -> Result<*mut c_void>;
		pub fn cv_SparseMat_SparseMat_int_const_intX_int(dims: i32, _sizes: *const i32, _type: i32) -> Result<*mut c_void>;
		pub fn cv_SparseMat_SparseMat_const_SparseMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_SparseMat_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_clone_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_copyTo_const_SparseMatX(instance: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_copyTo_const_MatX(instance: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_convertTo_const_SparseMatX_int_double(instance: *const c_void, m: *mut c_void, rtype: i32, alpha: f64) -> Result_void;
		pub fn cv_SparseMat_convertTo_const_MatX_int_double_double(instance: *const c_void, m: *mut c_void, rtype: i32, alpha: f64, beta: f64) -> Result_void;
		pub fn cv_SparseMat_assignTo_const_SparseMatX_int(instance: *const c_void, m: *mut c_void, typ: i32) -> Result_void;
		pub fn cv_SparseMat_create_int_const_intX_int(instance: *mut c_void, dims: i32, _sizes: *const i32, _type: i32) -> Result_void;
		pub fn cv_SparseMat_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_addref(instance: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_release(instance: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_elemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_elemSize1_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_depth_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_channels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_size_const(instance: *const c_void) -> Result<*const i32>;
		pub fn cv_SparseMat_size_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv_SparseMat_dims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_nzcount_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_hash_const_int(instance: *const c_void, i0: i32) -> Result<size_t>;
		pub fn cv_SparseMat_hash_const_int_int(instance: *const c_void, i0: i32, i1: i32) -> Result<size_t>;
		pub fn cv_SparseMat_hash_const_int_int_int(instance: *const c_void, i0: i32, i1: i32, i2: i32) -> Result<size_t>;
		pub fn cv_SparseMat_hash_const_const_intX(instance: *const c_void, idx: *const i32) -> Result<size_t>;
		pub fn cv_SparseMat_ptr_int_bool_size_tX(instance: *mut c_void, i0: i32, create_missing: bool, hashval: *mut size_t) -> Result<*mut u8>;
		pub fn cv_SparseMat_ptr_int_int_bool_size_tX(instance: *mut c_void, i0: i32, i1: i32, create_missing: bool, hashval: *mut size_t) -> Result<*mut u8>;
		pub fn cv_SparseMat_ptr_int_int_int_bool_size_tX(instance: *mut c_void, i0: i32, i1: i32, i2: i32, create_missing: bool, hashval: *mut size_t) -> Result<*mut u8>;
		pub fn cv_SparseMat_ptr_const_intX_bool_size_tX(instance: *mut c_void, idx: *const i32, create_missing: bool, hashval: *mut size_t) -> Result<*mut u8>;
		pub fn cv_SparseMat_erase_int_int_size_tX(instance: *mut c_void, i0: i32, i1: i32, hashval: *mut size_t) -> Result_void;
		pub fn cv_SparseMat_erase_int_int_int_size_tX(instance: *mut c_void, i0: i32, i1: i32, i2: i32, hashval: *mut size_t) -> Result_void;
		pub fn cv_SparseMat_erase_const_intX_size_tX(instance: *mut c_void, idx: *const i32, hashval: *mut size_t) -> Result_void;
		pub fn cv_SparseMat_begin(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_begin_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_end(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_end_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_node_size_t(instance: *mut c_void, nidx: size_t) -> Result<*mut c_void>;
		pub fn cv_SparseMat_node_const_size_t(instance: *const c_void, nidx: size_t) -> Result<*mut c_void>;
		pub fn cv_SparseMat_newNode_const_intX_size_t(instance: *mut c_void, idx: *const i32, hashval: size_t) -> Result<*mut u8>;
		pub fn cv_SparseMat_removeNode_size_t_size_t_size_t(instance: *mut c_void, hidx: size_t, nidx: size_t, previdx: size_t) -> Result_void;
		pub fn cv_SparseMat_resizeHashTab_size_t(instance: *mut c_void, newsize: size_t) -> Result_void;
		pub fn cv_SparseMat_Hdr_refcount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_Hdr_setRefcount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_SparseMat_Hdr_dims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_Hdr_setDims_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_SparseMat_Hdr_valueOffset_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparseMat_Hdr_setValueOffset_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_SparseMat_Hdr_nodeSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_Hdr_setNodeSize_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMat_Hdr_nodeCount_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_Hdr_setNodeCount_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMat_Hdr_freeList_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_Hdr_setFreeList_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMat_Hdr_pool(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_Hdr_setPool_vector_unsigned_char_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_Hdr_hashtab(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMat_Hdr_setHashtab_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_Hdr_size(instance: *mut c_void) -> Result<*mut [i32; 32]>;
		pub fn cv_SparseMat_Hdr_Hdr_int_const_intX_int(_dims: i32, _sizes: *const i32, _type: i32) -> Result<*mut c_void>;
		pub fn cv_SparseMat_Hdr_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_SparseMat_Node_hashval_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_Node_setHashval_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMat_Node_next_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMat_Node_setNext_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMat_Node_idx(instance: *mut c_void) -> Result<*mut [i32; 32]>;
		pub fn cv_SparseMatConstIterator_m_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatConstIterator_hashidx_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_SparseMatConstIterator_setHashidx_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_SparseMatConstIterator_ptr(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_SparseMatConstIterator_setPtr_unsigned_charX(instance: *mut c_void, val: *mut u8) -> Result_void;
		pub fn cv_SparseMatConstIterator_SparseMatConstIterator() -> Result<*mut c_void>;
		pub fn cv_SparseMatConstIterator_SparseMatConstIterator_const_SparseMatX(_m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatConstIterator_SparseMatConstIterator_const_SparseMatConstIteratorX(it: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatConstIterator_node_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatConstIterator_seekEnd(instance: *mut c_void) -> Result_void;
		pub fn cv_SparseMatIterator_SparseMatIterator() -> Result<*mut c_void>;
		pub fn cv_SparseMatIterator_SparseMatIterator_SparseMatX(_m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatIterator_SparseMatIterator_SparseMatX_const_intX(_m: *mut c_void, idx: *const i32) -> Result<*mut c_void>;
		pub fn cv_SparseMatIterator_SparseMatIterator_const_SparseMatIteratorX(it: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseMatIterator_node_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_TLSDataContainer_cleanup(instance: *mut c_void) -> Result_void;
		pub fn cv_TermCriteria_TermCriteria() -> Result<core::TermCriteria>;
		pub fn cv_TermCriteria_TermCriteria_int_int_double(typ: i32, max_count: i32, epsilon: f64) -> Result<core::TermCriteria>;
		pub fn cv_TermCriteria_isValid_const(instance: *const core::TermCriteria) -> Result<bool>;
		pub fn cv_TickMeter_TickMeter() -> Result<*mut c_void>;
		pub fn cv_TickMeter_start(instance: *mut c_void) -> Result_void;
		pub fn cv_TickMeter_stop(instance: *mut c_void) -> Result_void;
		pub fn cv_TickMeter_getTimeTicks_const(instance: *const c_void) -> Result<i64>;
		pub fn cv_TickMeter_getTimeMicro_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_TickMeter_getTimeMilli_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_TickMeter_getTimeSec_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_TickMeter_getCounter_const(instance: *const c_void) -> Result<i64>;
		pub fn cv_TickMeter_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_UMat_flags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMat_dims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_setDims_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMat_rows_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_setRows_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMat_cols_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_setCols_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMat_usageFlags_const(instance: *const c_void) -> Result<core::UMatUsageFlags>;
		pub fn cv_UMat_setUsageFlags_UMatUsageFlags(instance: *mut c_void, val: core::UMatUsageFlags) -> Result_void;
		pub fn cv_UMat_u(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_setU_UMatDataX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_UMat_offset_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_UMat_setOffset_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_UMat_size_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_step_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_UMatUsageFlags(usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_int_int_int_UMatUsageFlags(rows: i32, cols: i32, typ: i32, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_Size_int_UMatUsageFlags(size: *const core::Size, typ: i32, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_int_int_int_const_ScalarX_UMatUsageFlags(rows: i32, cols: i32, typ: i32, s: *const core::Scalar, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_Size_int_const_ScalarX_UMatUsageFlags(size: *const core::Size, typ: i32, s: *const core::Scalar, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_int_const_intX_int_UMatUsageFlags(ndims: i32, sizes: *const i32, typ: i32, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_int_const_intX_int_const_ScalarX_UMatUsageFlags(ndims: i32, sizes: *const i32, typ: i32, s: *const core::Scalar, usage_flags: core::UMatUsageFlags) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_const_UMatX_const_RangeX_const_RangeX(m: *const c_void, row_range: *const c_void, col_range: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_const_UMatX_const_RectX(m: *const c_void, roi: *const core::Rect) -> Result<*mut c_void>;
		pub fn cv_UMat_UMat_const_UMatX_const_vector_Range_X(m: *const c_void, ranges: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_getMat_const_AccessFlag(instance: *const c_void, flags: core::AccessFlag) -> Result<*mut c_void>;
		pub fn cv_UMat_row_const_int(instance: *const c_void, y: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_col_const_int(instance: *const c_void, x: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_rowRange_const_int_int(instance: *const c_void, startrow: i32, endrow: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_rowRange_const_const_RangeX(instance: *const c_void, r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_colRange_const_int_int(instance: *const c_void, startcol: i32, endcol: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_colRange_const_const_RangeX(instance: *const c_void, r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_diag_const_int(instance: *const c_void, d: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_diag_const_UMatX(d: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_clone_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_copyTo_const_const__OutputArrayX(instance: *const c_void, m: *const c_void) -> Result_void;
		pub fn cv_UMat_copyTo_const_const__OutputArrayX_const__InputArrayX(instance: *const c_void, m: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_UMat_convertTo_const_const__OutputArrayX_int_double_double(instance: *const c_void, m: *const c_void, rtype: i32, alpha: f64, beta: f64) -> Result_void;
		pub fn cv_UMat_assignTo_const_UMatX_int(instance: *const c_void, m: *mut c_void, typ: i32) -> Result_void;
		pub fn cv_UMat_setTo_const__InputArrayX_const__InputArrayX(instance: *mut c_void, value: *const c_void, mask: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_reshape_const_int_int(instance: *const c_void, cn: i32, rows: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_reshape_const_int_int_const_intX(instance: *const c_void, cn: i32, newndims: i32, newsz: *const i32) -> Result<*mut c_void>;
		pub fn cv_UMat_t_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_inv_const_int(instance: *const c_void, method: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_mul_const_const__InputArrayX_double(instance: *const c_void, m: *const c_void, scale: f64) -> Result<*mut c_void>;
		pub fn cv_UMat_dot_const_const__InputArrayX(instance: *const c_void, m: *const c_void) -> Result<f64>;
		pub fn cv_UMat_zeros_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_zeros_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_zeros_int_const_intX_int(ndims: i32, sz: *const i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_ones_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_ones_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_ones_int_const_intX_int(ndims: i32, sz: *const i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_eye_int_int_int(rows: i32, cols: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_eye_Size_int(size: *const core::Size, typ: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_create_int_int_int_UMatUsageFlags(instance: *mut c_void, rows: i32, cols: i32, typ: i32, usage_flags: core::UMatUsageFlags) -> Result_void;
		pub fn cv_UMat_create_Size_int_UMatUsageFlags(instance: *mut c_void, size: *const core::Size, typ: i32, usage_flags: core::UMatUsageFlags) -> Result_void;
		pub fn cv_UMat_create_int_const_intX_int_UMatUsageFlags(instance: *mut c_void, ndims: i32, sizes: *const i32, typ: i32, usage_flags: core::UMatUsageFlags) -> Result_void;
		pub fn cv_UMat_create_const_vector_int_X_int_UMatUsageFlags(instance: *mut c_void, sizes: *const c_void, typ: i32, usage_flags: core::UMatUsageFlags) -> Result_void;
		pub fn cv_UMat_addref(instance: *mut c_void) -> Result_void;
		pub fn cv_UMat_release(instance: *mut c_void) -> Result_void;
		pub fn cv_UMat_deallocate(instance: *mut c_void) -> Result_void;
		pub fn cv_UMat_locateROI_const_SizeX_PointX(instance: *const c_void, whole_size: *mut core::Size, ofs: *mut core::Point) -> Result_void;
		pub fn cv_UMat_adjustROI_int_int_int_int(instance: *mut c_void, dtop: i32, dbottom: i32, dleft: i32, dright: i32) -> Result<*mut c_void>;
		pub fn cv_UMat_isContinuous_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMat_isSubmatrix_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMat_elemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_UMat_elemSize1_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_UMat_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_depth_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_channels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMat_step1_const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv_UMat_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMat_total_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_UMat_checkVector_const_int_int_bool(instance: *const c_void, elem_channels: i32, depth: i32, require_continuous: bool) -> Result<i32>;
		pub fn cv_UMat_UMat_UMatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_UMat_handle_const_AccessFlag(instance: *const c_void, access_flags: core::AccessFlag) -> Result<*mut c_void>;
		pub fn cv_UMat_ndoffset_const_size_tX(instance: *const c_void, ofs: *mut size_t) -> Result_void;
		pub fn cv_UMat_updateContinuityFlag(instance: *mut c_void) -> Result_void;
		pub fn cv_UMatData_urefcount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMatData_setUrefcount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMatData_refcount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMatData_setRefcount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMatData_data(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_UMatData_setData_unsigned_charX(instance: *mut c_void, val: *mut u8) -> Result_void;
		pub fn cv_UMatData_origdata(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_UMatData_setOrigdata_unsigned_charX(instance: *mut c_void, val: *mut u8) -> Result_void;
		pub fn cv_UMatData_size_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_UMatData_setSize_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_UMatData_flags_const(instance: *const c_void) -> Result<core::UMatData_MemoryFlag>;
		pub fn cv_UMatData_setFlags_MemoryFlag(instance: *mut c_void, val: core::UMatData_MemoryFlag) -> Result_void;
		pub fn cv_UMatData_handle(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_UMatData_setHandle_voidX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_UMatData_userdata(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_UMatData_setUserdata_voidX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_UMatData_allocatorFlags__const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMatData_setAllocatorFlags__int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMatData_mapcount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_UMatData_setMapcount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_UMatData_originalUMatData(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_UMatData_setOriginalUMatData_UMatDataX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_UMatData_lock(instance: *mut c_void) -> Result_void;
		pub fn cv_UMatData_unlock(instance: *mut c_void) -> Result_void;
		pub fn cv_UMatData_hostCopyObsolete_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_deviceCopyObsolete_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_deviceMemMapped_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_copyOnMap_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_tempUMat_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_tempCopiedUMat_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_UMatData_markHostCopyObsolete_bool(instance: *mut c_void, flag: bool) -> Result_void;
		pub fn cv_UMatData_markDeviceCopyObsolete_bool(instance: *mut c_void, flag: bool) -> Result_void;
		pub fn cv_UMatData_markDeviceMemMapped_bool(instance: *mut c_void, flag: bool) -> Result_void;
		pub fn cv__InputArray__InputArray() -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_int_voidX(_flags: i32, _obj: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_MatExprX(expr: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_vector_Mat_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_vector_bool_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_doubleX(val: *const f64) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_UMatX(um: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray__InputArray_const_vector_UMat_X(umv: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray_getMat_const_int(instance: *const c_void, idx: i32) -> Result<*mut c_void>;
		pub fn cv__InputArray_getMat__const_int(instance: *const c_void, idx: i32) -> Result<*mut c_void>;
		pub fn cv__InputArray_getUMat_const_int(instance: *const c_void, idx: i32) -> Result<*mut c_void>;
		pub fn cv__InputArray_getMatVector_const_vector_Mat_X(instance: *const c_void, mv: *mut c_void) -> Result_void;
		pub fn cv__InputArray_getUMatVector_const_vector_UMat_X(instance: *const c_void, umv: *mut c_void) -> Result_void;
		pub fn cv__InputArray_getFlags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv__InputArray_getObj_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputArray_getSz_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv__InputArray_kind_const(instance: *const c_void) -> Result<core::_InputArray_KindFlag>;
		pub fn cv__InputArray_dims_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_cols_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_rows_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_size_const_int(instance: *const c_void, i: i32) -> Result<core::Size>;
		pub fn cv__InputArray_sizend_const_intX_int(instance: *const c_void, sz: *mut i32, i: i32) -> Result<i32>;
		pub fn cv__InputArray_sameSize_const_const__InputArrayX(instance: *const c_void, arr: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_total_const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv__InputArray_type_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_depth_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_channels_const_int(instance: *const c_void, i: i32) -> Result<i32>;
		pub fn cv__InputArray_isContinuous_const_int(instance: *const c_void, i: i32) -> Result<bool>;
		pub fn cv__InputArray_isSubmatrix_const_int(instance: *const c_void, i: i32) -> Result<bool>;
		pub fn cv__InputArray_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_copyTo_const_const__OutputArrayX(instance: *const c_void, arr: *const c_void) -> Result_void;
		pub fn cv__InputArray_copyTo_const_const__OutputArrayX_const__InputArrayX(instance: *const c_void, arr: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv__InputArray_offset_const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv__InputArray_step_const_int(instance: *const c_void, i: i32) -> Result<size_t>;
		pub fn cv__InputArray_isMat_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isUMat_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isMatVector_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isUMatVector_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isMatx_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isVector_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isGpuMat_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputArray_isGpuMatVector_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__InputOutputArray__InputOutputArray() -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_int_voidX(_flags: i32, _obj: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_MatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_vector_Mat_X(vec: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_UMatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_vector_UMat_X(vec: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_const_vector_Mat_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv__InputOutputArray__InputOutputArray_const_vector_UMat_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray() -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_int_voidX(_flags: i32, _obj: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_MatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_vector_Mat_X(vec: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_UMatX(m: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_vector_UMat_X(vec: *mut c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_const_vector_Mat_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray__OutputArray_const_vector_UMat_X(vec: *const c_void) -> Result<*mut c_void>;
		pub fn cv__OutputArray_fixedSize_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__OutputArray_fixedType_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__OutputArray_needed_const(instance: *const c_void) -> Result<bool>;
		pub fn cv__OutputArray_getMatRef_const_int(instance: *const c_void, i: i32) -> Result<*mut c_void>;
		pub fn cv__OutputArray_getUMatRef_const_int(instance: *const c_void, i: i32) -> Result<*mut c_void>;
		pub fn cv__OutputArray_create_const_Size_int_int_bool_DepthMask(instance: *const c_void, sz: *const core::Size, typ: i32, i: i32, allow_transposed: bool, fixed_depth_mask: core::_OutputArray_DepthMask) -> Result_void;
		pub fn cv__OutputArray_create_const_int_int_int_int_bool_DepthMask(instance: *const c_void, rows: i32, cols: i32, typ: i32, i: i32, allow_transposed: bool, fixed_depth_mask: core::_OutputArray_DepthMask) -> Result_void;
		pub fn cv__OutputArray_create_const_int_const_intX_int_int_bool_DepthMask(instance: *const c_void, dims: i32, size: *const i32, typ: i32, i: i32, allow_transposed: bool, fixed_depth_mask: core::_OutputArray_DepthMask) -> Result_void;
		pub fn cv__OutputArray_createSameSize_const_const__InputArrayX_int(instance: *const c_void, arr: *const c_void, mtype: i32) -> Result_void;
		pub fn cv__OutputArray_release_const(instance: *const c_void) -> Result_void;
		pub fn cv__OutputArray_clear_const(instance: *const c_void) -> Result_void;
		pub fn cv__OutputArray_setTo_const_const__InputArrayX_const__InputArrayX(instance: *const c_void, value: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv__OutputArray_assign_const_const_UMatX(instance: *const c_void, u: *const c_void) -> Result_void;
		pub fn cv__OutputArray_assign_const_const_MatX(instance: *const c_void, m: *const c_void) -> Result_void;
		pub fn cv__OutputArray_assign_const_const_vector_UMat_X(instance: *const c_void, v: *const c_void) -> Result_void;
		pub fn cv__OutputArray_assign_const_const_vector_Mat_X(instance: *const c_void, v: *const c_void) -> Result_void;
		pub fn cv__OutputArray_move_const_UMatX(instance: *const c_void, u: *mut c_void) -> Result_void;
		pub fn cv__OutputArray_move_const_MatX(instance: *const c_void, m: *mut c_void) -> Result_void;
		pub fn cv_detail_CheckContext_func_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CheckContext_file_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CheckContext_line_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_CheckContext_setLine_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_CheckContext_testOp_const(instance: *const c_void) -> Result<core::Detail_TestOp>;
		pub fn cv_detail_CheckContext_setTestOp_TestOp(instance: *mut c_void, val: core::Detail_TestOp) -> Result_void;
		pub fn cv_detail_CheckContext_message_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CheckContext_p1_str_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CheckContext_p2_str_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_m_funName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_setM_funName_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_instr_NodeData_m_instrType_const(instance: *const c_void) -> Result<core::TYPE>;
		pub fn cv_instr_NodeData_setM_instrType_TYPE(instance: *mut c_void, val: core::TYPE) -> Result_void;
		pub fn cv_instr_NodeData_m_implType_const(instance: *const c_void) -> Result<core::IMPL>;
		pub fn cv_instr_NodeData_setM_implType_IMPL(instance: *mut c_void, val: core::IMPL) -> Result_void;
		pub fn cv_instr_NodeData_m_fileName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_m_lineNum_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_instr_NodeData_setM_lineNum_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_instr_NodeData_m_retAddress(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_setM_retAddress_voidX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_instr_NodeData_m_alwaysExpand_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_instr_NodeData_setM_alwaysExpand_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_instr_NodeData_m_funError_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_instr_NodeData_setM_funError_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_instr_NodeData_m_counter_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_instr_NodeData_setM_counter_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_instr_NodeData_m_ticksTotal_const(instance: *const c_void) -> Result<u64>;
		pub fn cv_instr_NodeData_setM_ticksTotal_uint64_t(instance: *mut c_void, val: u64) -> Result_void;
		pub fn cv_instr_NodeData_m_threads_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_instr_NodeData_setM_threads_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_instr_NodeData_NodeData_const_charX_const_charX_int_voidX_bool_TYPE_IMPL(fun_name: *const c_char, file_name: *const c_char, line_num: i32, ret_address: *mut c_void, always_expand: bool, instr_type: core::TYPE, impl_type: core::IMPL) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_NodeData_NodeDataX(ref_: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_instr_NodeData_getTotalMs_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_instr_NodeData_getMeanMs_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_internal_WriteStructContext_WriteStructContext_FileStorageX_const_StringX_int_const_StringX(_fs: *mut c_void, name: *const c_char, flags: i32, type_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_Context() -> Result<*mut c_void>;
		pub fn cv_ocl_Context_Context_int(dtype: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_Context_const_ContextX(c: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_create(instance: *mut c_void) -> Result<bool>;
		pub fn cv_ocl_Context_create_int(instance: *mut c_void, dtype: i32) -> Result<bool>;
		pub fn cv_ocl_Context_ndevices_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Context_device_const_size_t(instance: *const c_void, idx: size_t) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_getProg_const_ProgramSourceX_const_StringX_StringX(instance: *mut c_void, prog: *const c_void, buildopt: *const c_char, errmsg: *mut *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_unloadProg_ProgramX(instance: *mut c_void, prog: *mut c_void) -> Result_void;
		pub fn cv_ocl_Context_getDefault_bool(initialize: bool) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Context_useSVM_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Context_setUseSVM_bool(instance: *mut c_void, enabled: bool) -> Result_void;
		pub fn cv_ocl_Device_Device() -> Result<*mut c_void>;
		pub fn cv_ocl_Device_Device_voidX(d: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_Device_const_DeviceX(d: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_set_voidX(instance: *mut c_void, d: *mut c_void) -> Result_void;
		pub fn cv_ocl_Device_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_extensions_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_isExtensionSupported_const_const_StringX(instance: *const c_void, extension_name: *const c_char) -> Result<bool>;
		pub fn cv_ocl_Device_version_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_vendorName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_OpenCL_C_Version_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_OpenCLVersion_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_deviceVersionMajor_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_deviceVersionMinor_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_driverVersion_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Device_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_addressBits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_available_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_compilerAvailable_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_linkerAvailable_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_doubleFPConfig_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_singleFPConfig_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_halfFPConfig_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_endianLittle_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_errorCorrectionSupport_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_executionCapabilities_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_globalMemCacheSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_globalMemCacheType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_globalMemCacheLineSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_globalMemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_localMemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_localMemType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_hostUnifiedMemory_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_imageSupport_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_imageFromBufferSupport_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_imagePitchAlignment_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_ocl_Device_imageBaseAddressAlignment_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_ocl_Device_intelSubgroupsSupport_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_image2DMaxWidth_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_image2DMaxHeight_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_image3DMaxWidth_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_image3DMaxHeight_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_image3DMaxDepth_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_imageMaxBufferSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_imageMaxArraySize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_vendorID_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_isAMD_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_isIntel_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_isNVidia_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Device_maxClockFrequency_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxComputeUnits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxConstantArgs_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxConstantBufferSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_maxMemAllocSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_maxParameterSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_maxReadImageArgs_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxWriteImageArgs_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxSamplers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxWorkGroupSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_maxWorkItemDims_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_maxWorkItemSizes_const_size_tX(instance: *const c_void, unnamed: *mut size_t) -> Result_void;
		pub fn cv_ocl_Device_memBaseAddrAlign_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthChar_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthShort_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthInt_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthLong_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthFloat_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthDouble_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_nativeVectorWidthHalf_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthChar_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthShort_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthInt_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthLong_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthFloat_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthDouble_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_preferredVectorWidthHalf_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Device_printfBufferSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_profilingTimerResolution_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Device_getDefault() -> Result<*mut c_void>;
		pub fn cv_ocl_Image2D_Image2D() -> Result<*mut c_void>;
		pub fn cv_ocl_Image2D_Image2D_const_UMatX_bool_bool(src: *const c_void, norm: bool, alias: bool) -> Result<*mut c_void>;
		pub fn cv_ocl_Image2D_Image2D_const_Image2DX(i: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Image2D_canCreateAlias_const_UMatX(u: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Image2D_isFormatSupported_int_int_bool(depth: i32, cn: i32, norm: bool) -> Result<bool>;
		pub fn cv_ocl_Image2D_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Kernel_Kernel() -> Result<*mut c_void>;
		pub fn cv_ocl_Kernel_Kernel_const_charX_const_ProgramX(kname: *const c_char, prog: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Kernel_Kernel_const_charX_const_ProgramSourceX_const_StringX_StringX(kname: *const c_char, prog: *const c_void, buildopts: *const c_char, errmsg: *mut *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Kernel_Kernel_const_KernelX(k: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Kernel_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Kernel_create_const_charX_const_ProgramX(instance: *mut c_void, kname: *const c_char, prog: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Kernel_create_const_charX_const_ProgramSourceX_const_StringX_StringX(instance: *mut c_void, kname: *const c_char, prog: *const c_void, buildopts: *const c_char, errmsg: *mut *mut c_void) -> Result<bool>;
		pub fn cv_ocl_Kernel_set_int_const_voidX_size_t(instance: *mut c_void, i: i32, value: *const c_void, sz: size_t) -> Result<i32>;
		pub fn cv_ocl_Kernel_set_int_const_Image2DX(instance: *mut c_void, i: i32, image_2d: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Kernel_set_int_const_UMatX(instance: *mut c_void, i: i32, m: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Kernel_set_int_const_KernelArgX(instance: *mut c_void, i: i32, arg: *const c_void) -> Result<i32>;
		pub fn cv_ocl_Kernel_run_int_size_tX_size_tX_bool_const_QueueX(instance: *mut c_void, dims: i32, globalsize: *mut size_t, localsize: *mut size_t, sync: bool, q: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Kernel_runTask_bool_const_QueueX(instance: *mut c_void, sync: bool, q: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Kernel_runProfiling_int_size_tX_size_tX_const_QueueX(instance: *mut c_void, dims: i32, globalsize: *mut size_t, localsize: *mut size_t, q: *const c_void) -> Result<i64>;
		pub fn cv_ocl_Kernel_workGroupSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Kernel_preferedWorkGroupSizeMultiple_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Kernel_compileWorkGroupSize_const_size_tX(instance: *const c_void, wsz: *mut size_t) -> Result<bool>;
		pub fn cv_ocl_Kernel_localMemSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_Kernel_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_flags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_KernelArg_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ocl_KernelArg_m(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_setM_UMatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_ocl_KernelArg_obj_const(instance: *const c_void) -> Result<*const c_void>;
		pub fn cv_ocl_KernelArg_sz_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ocl_KernelArg_setSz_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_ocl_KernelArg_wscale_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_KernelArg_setWscale_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ocl_KernelArg_iwscale_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_KernelArg_setIwscale_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ocl_KernelArg_KernelArg_int_UMatX_int_int_const_voidX_size_t(_flags: i32, _m: *mut c_void, wscale: i32, iwscale: i32, _obj: *const c_void, _sz: size_t) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_KernelArg() -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_Local_size_t(local_mem_size: size_t) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_PtrWriteOnly_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_PtrReadOnly_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_PtrReadWrite_const_UMatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_ReadWrite_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_ReadWriteNoSize_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_ReadOnly_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_WriteOnly_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_ReadOnlyNoSize_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_WriteOnlyNoSize_const_UMatX_int_int(m: *const c_void, wscale: i32, iwscale: i32) -> Result<*mut c_void>;
		pub fn cv_ocl_KernelArg_Constant_const_MatX(m: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Platform_Platform() -> Result<*mut c_void>;
		pub fn cv_ocl_Platform_Platform_const_PlatformX(p: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Platform_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Platform_getDefault() -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_PlatformInfo() -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_PlatformInfo_voidX(id: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_PlatformInfo_const_PlatformInfoX(i: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_vendor_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_version_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_PlatformInfo_deviceNumber_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ocl_PlatformInfo_getDevice_const_DeviceX_int(instance: *const c_void, device: *mut c_void, d: i32) -> Result_void;
		pub fn cv_ocl_Program_Program() -> Result<*mut c_void>;
		pub fn cv_ocl_Program_Program_const_ProgramSourceX_const_StringX_StringX(src: *const c_void, buildflags: *const c_char, errmsg: *mut *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Program_Program_const_ProgramX(prog: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Program_create_const_ProgramSourceX_const_StringX_StringX(instance: *mut c_void, src: *const c_void, buildflags: *const c_char, errmsg: *mut *mut c_void) -> Result<bool>;
		pub fn cv_ocl_Program_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Program_getBinary_const_vector_char_X(instance: *const c_void, binary: *mut c_void) -> Result_void;
		pub fn cv_ocl_Program_read_const_StringX_const_StringX(instance: *mut c_void, buf: *const c_char, buildflags: *const c_char) -> Result<bool>;
		pub fn cv_ocl_Program_write_const_StringX(instance: *const c_void, buf: *mut *mut c_void) -> Result<bool>;
		pub fn cv_ocl_Program_source_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Program_getPrefix_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Program_getPrefix_const_StringX(buildflags: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_ProgramSource() -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_ProgramSource_const_StringX_const_StringX_const_StringX_const_StringX(module: *const c_char, name: *const c_char, code_str: *const c_char, code_hash: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_ProgramSource_const_StringX(prog: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_ProgramSource_const_ProgramSourceX(prog: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_source_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_hash_const(instance: *const c_void) -> Result<core::ProgramSource_hash_t>;
		pub fn cv_ocl_ProgramSource_fromBinary_const_StringX_const_StringX_const_unsigned_charX_size_t_const_StringX(module: *const c_char, name: *const c_char, binary: *const u8, size: size_t, build_options: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_ProgramSource_fromSPIR_const_StringX_const_StringX_const_unsigned_charX_size_t_const_StringX(module: *const c_char, name: *const c_char, binary: *const u8, size: size_t, build_options: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_Queue() -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_Queue_const_ContextX_const_DeviceX(c: *const c_void, d: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_Queue_const_QueueX(q: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_create_const_ContextX_const_DeviceX(instance: *mut c_void, c: *const c_void, d: *const c_void) -> Result<bool>;
		pub fn cv_ocl_Queue_finish(instance: *mut c_void) -> Result_void;
		pub fn cv_ocl_Queue_ptr_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_getDefault() -> Result<*mut c_void>;
		pub fn cv_ocl_Queue_getProfilingQueue_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Timer_Timer_const_QueueX(q: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ocl_Timer_start(instance: *mut c_void) -> Result_void;
		pub fn cv_ocl_Timer_stop(instance: *mut c_void) -> Result_void;
		pub fn cv_ocl_Timer_durationNS_const(instance: *const c_void) -> Result<u64>;
		pub fn cv_utils_logging_LogTag_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_utils_logging_LogTag_level_const(instance: *const c_void) -> Result<core::LogLevel>;
		pub fn cv_utils_logging_LogTag_setLevel_LogLevel(instance: *mut c_void, val: core::LogLevel) -> Result_void;
		pub fn cv_utils_logging_LogTag_LogTag_const_charX_LogLevel(_name: *const c_char, _level: core::LogLevel) -> Result<*mut c_void>;
	}
}
pub use core_sys::*;

#[cfg(feature = "contrib")]
mod cvv_sys {
	use super::*;

	extern "C" {
		pub fn cvv_impl_debugDMatch_const__InputArrayX_vector_KeyPoint__const__InputArrayX_vector_KeyPoint__vector_DMatch__const_CallMetaDataX_const_charX_const_charX_bool(img1: *const c_void, keypoints1: *mut c_void, img2: *const c_void, keypoints2: *mut c_void, matches: *mut c_void, data: *const c_void, description: *const c_char, view: *const c_char, use_train_descriptor: bool) -> Result_void;
		pub fn cvv_impl_debugFilter_const__InputArrayX_const__InputArrayX_const_CallMetaDataX_const_charX_const_charX(original: *const c_void, result: *const c_void, data: *const c_void, description: *const c_char, view: *const c_char) -> Result_void;
		pub fn cvv_impl_finalShow() -> Result_void;
		pub fn cvv_impl_showImage_const__InputArrayX_const_CallMetaDataX_const_charX_const_charX(img: *const c_void, data: *const c_void, description: *const c_char, view: *const c_char) -> Result_void;
		pub fn cvv_impl_CallMetaData_file_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cvv_impl_CallMetaData_line_const(instance: *const c_void) -> Result<size_t>;
		pub fn cvv_impl_CallMetaData_function_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cvv_impl_CallMetaData_isKnown_const(instance: *const c_void) -> Result<bool>;
		pub fn cvv_impl_CallMetaData_CallMetaData() -> Result<*mut c_void>;
		pub fn cvv_impl_CallMetaData_CallMetaData_const_charX_size_t_const_charX(file: *const c_char, line: size_t, function: *const c_char) -> Result<*mut c_void>;
		pub fn cvv_impl_CallMetaData_operator_bool(instance: *mut c_void) -> Result<bool>;
	}
}
#[cfg(feature = "contrib")]
pub use cvv_sys::*;

mod dnn_sys {
	use super::*;

	extern "C" {
		pub fn cv_dnn_NMSBoxes_const_vector_Rect2d_X_const_vector_float_X_float_float_vector_int_X_float_int(bboxes: *const c_void, scores: *const c_void, score_threshold: f32, nms_threshold: f32, indices: *mut c_void, eta: f32, top_k: i32) -> Result_void;
		pub fn cv_dnn_NMSBoxes_const_vector_Rect_X_const_vector_float_X_float_float_vector_int_X_float_int(bboxes: *const c_void, scores: *const c_void, score_threshold: f32, nms_threshold: f32, indices: *mut c_void, eta: f32, top_k: i32) -> Result_void;
		pub fn cv_dnn_NMSBoxes_const_vector_RotatedRect_X_const_vector_float_X_float_float_vector_int_X_float_int(bboxes: *const c_void, scores: *const c_void, score_threshold: f32, nms_threshold: f32, indices: *mut c_void, eta: f32, top_k: i32) -> Result_void;
		pub fn cv_dnn_blobFromImage_const__InputArrayX_const__OutputArrayX_double_const_SizeX_const_ScalarX_bool_bool_int(image: *const c_void, blob: *const c_void, scalefactor: f64, size: *const core::Size, mean: *const core::Scalar, swap_rb: bool, crop: bool, ddepth: i32) -> Result_void;
		pub fn cv_dnn_blobFromImage_const__InputArrayX_double_const_SizeX_const_ScalarX_bool_bool_int(image: *const c_void, scalefactor: f64, size: *const core::Size, mean: *const core::Scalar, swap_rb: bool, crop: bool, ddepth: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_blobFromImages_const__InputArrayX_const__OutputArrayX_double_Size_const_ScalarX_bool_bool_int(images: *const c_void, blob: *const c_void, scalefactor: f64, size: *const core::Size, mean: *const core::Scalar, swap_rb: bool, crop: bool, ddepth: i32) -> Result_void;
		pub fn cv_dnn_blobFromImages_const__InputArrayX_double_Size_const_ScalarX_bool_bool_int(images: *const c_void, scalefactor: f64, size: *const core::Size, mean: *const core::Scalar, swap_rb: bool, crop: bool, ddepth: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_clamp_const_RangeX_int(r: *const c_void, axis_size: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_clamp_int_const_MatShapeX(ax: i32, shape: *const c_void) -> Result<i32>;
		pub fn cv_dnn_clamp_int_int(ax: i32, dims: i32) -> Result<i32>;
		pub fn cv_dnn_concat_const_MatShapeX_const_MatShapeX(a: *const c_void, b: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_getAvailableTargets_Backend(be: crate::dnn::Backend) -> Result<*mut c_void>;
		pub fn cv_dnn_getInferenceEngineBackendType() -> Result<*mut c_void>;
		pub fn cv_dnn_getInferenceEngineVPUType() -> Result<*mut c_void>;
		pub fn cv_dnn_getPlane_const_MatX_int_int(m: *const c_void, n: i32, cn: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_imagesFromBlob_const_MatX_const__OutputArrayX(blob_: *const c_void, images_: *const c_void) -> Result_void;
		pub fn cv_dnn_print_const_MatShapeX_const_StringX(shape: *const c_void, name: *const c_char) -> Result_void;
		pub fn cv_dnn_readNetFromCaffe_const_StringX_const_StringX(prototxt: *const c_char, caffe_model: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromCaffe_const_charX_size_t_const_charX_size_t(buffer_proto: *const c_char, len_proto: size_t, buffer_model: *const c_char, len_model: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromCaffe_const_vector_unsigned_char_X_const_vector_unsigned_char_X(buffer_proto: *const c_void, buffer_model: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromDarknet_const_StringX_const_StringX(cfg_file: *const c_char, darknet_model: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromDarknet_const_charX_size_t_const_charX_size_t(buffer_cfg: *const c_char, len_cfg: size_t, buffer_model: *const c_char, len_model: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromDarknet_const_vector_unsigned_char_X_const_vector_unsigned_char_X(buffer_cfg: *const c_void, buffer_model: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromModelOptimizer_const_StringX_const_StringX(xml: *const c_char, bin: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromModelOptimizer_const_unsigned_charX_size_t_const_unsigned_charX_size_t(buffer_model_config_ptr: *const u8, buffer_model_config_size: size_t, buffer_weights_ptr: *const u8, buffer_weights_size: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromModelOptimizer_const_vector_unsigned_char_X_const_vector_unsigned_char_X(buffer_model_config: *const c_void, buffer_weights: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromONNX_const_StringX(onnx_file: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromONNX_const_charX_size_t(buffer: *const c_char, size_buffer: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromONNX_const_vector_unsigned_char_X(buffer: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromTensorflow_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromTensorflow_const_charX_size_t_const_charX_size_t(buffer_model: *const c_char, len_model: size_t, buffer_config: *const c_char, len_config: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromTensorflow_const_vector_unsigned_char_X_const_vector_unsigned_char_X(buffer_model: *const c_void, buffer_config: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readNetFromTorch_const_StringX_bool_bool(model: *const c_char, is_binary: bool, evaluate: bool) -> Result<*mut c_void>;
		pub fn cv_dnn_readNet_const_StringX_const_StringX_const_StringX(model: *const c_char, config: *const c_char, framework: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readNet_const_StringX_const_vector_unsigned_char_X_const_vector_unsigned_char_X(framework: *const c_char, buffer_model: *const c_void, buffer_config: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_readTensorFromONNX_const_StringX(path: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_readTorchBlob_const_StringX_bool(filename: *const c_char, is_binary: bool) -> Result<*mut c_void>;
		pub fn cv_dnn_resetMyriadDevice() -> Result_void;
		pub fn cv_dnn_setInferenceEngineBackendType_const_StringX(new_backend_type: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_shape_const_MatSizeX(sz: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_shape_const_MatX(mat: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_shape_const_UMatX(mat: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_shape_const_intX_int(dims: *const i32, n: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_shape_int_int_int_int(a0: i32, a1: i32, a2: i32, a3: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_shrinkCaffeModel_const_StringX_const_StringX_const_vector_String_X(src: *const c_char, dst: *const c_char, layers_types: *const c_void) -> Result_void;
		pub fn cv_dnn_slice_const_MatX_const__RangeX(m: *const c_void, r0: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_slice_const_MatX_const__RangeX_const__RangeX(m: *const c_void, r0: *const c_void, r1: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_slice_const_MatX_const__RangeX_const__RangeX_const__RangeX(m: *const c_void, r0: *const c_void, r1: *const c_void, r2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_slice_const_MatX_const__RangeX_const__RangeX_const__RangeX_const__RangeX(m: *const c_void, r0: *const c_void, r1: *const c_void, r2: *const c_void, r3: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_toString_const_MatShapeX_const_StringX(shape: *const c_void, name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_total_const_MatShapeX_int_int(shape: *const c_void, start: i32, end: i32) -> Result<i32>;
		pub fn cv_dnn_writeTextGraph_const_StringX_const_StringX(model: *const c_char, output: *const c_char) -> Result_void;
		pub fn cv_dnn_AbsLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ActivationLayer_forwardSlice_const_const_floatX_floatX_int_size_t_int_int(instance: *const c_void, src: *const f32, dst: *mut f32, len: i32, out_plane_size: size_t, cn0: i32, cn1: i32) -> Result_void;
		pub fn cv_dnn_BNLLLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BackendNode_backendId_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_BackendNode_setBackendId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_BackendNode_BackendNode_int(backend_id: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_BackendWrapper_backendId_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_BackendWrapper_setBackendId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_BackendWrapper_targetId_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_BackendWrapper_setTargetId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_BackendWrapper_copyToHost(instance: *mut c_void) -> Result_void;
		pub fn cv_dnn_BackendWrapper_setHostDirty(instance: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_kernel_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_BaseConvolutionLayer_setKernel_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_stride_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_BaseConvolutionLayer_setStride_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_pad_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_BaseConvolutionLayer_setPad_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_dilation_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_BaseConvolutionLayer_setDilation_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_adjustPad_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_BaseConvolutionLayer_setAdjustPad_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_adjust_pads(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setAdjust_pads_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_kernel_size(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setKernel_size_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_strides(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setStrides_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_dilations(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setDilations_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_pads_begin(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setPads_begin_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_pads_end(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setPads_end_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_padMode_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BaseConvolutionLayer_setPadMode_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_BaseConvolutionLayer_numOutput_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_BaseConvolutionLayer_setNumOutput_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_BatchNormLayer_hasWeights_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_BatchNormLayer_setHasWeights_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_BatchNormLayer_hasBias_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_BatchNormLayer_setHasBias_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_BatchNormLayer_epsilon_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_BatchNormLayer_setEpsilon_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_BatchNormLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_BlankLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ChannelsPReLULayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ClassificationModel_ClassificationModel_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_ClassificationModel_ClassificationModel_const_NetX(network: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ClassificationModel_classify_const__InputArrayX_intX_floatX(instance: *mut c_void, frame: *const c_void, class_id: *mut i32, conf: *mut f32) -> Result_void;
		pub fn cv_dnn_ConcatLayer_axis_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_ConcatLayer_setAxis_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_ConcatLayer_padding_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_ConcatLayer_setPadding_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_ConcatLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ConstLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ConvolutionLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_CropAndResizeLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_CropLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_DeconvolutionLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_DetectionModel_DetectionModel_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_DetectionModel_DetectionModel_const_NetX(network: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_DetectionModel_detect_const__InputArrayX_vector_int_X_vector_float_X_vector_Rect_X_float_float(instance: *mut c_void, frame: *const c_void, class_ids: *mut c_void, confidences: *mut c_void, boxes: *mut c_void, conf_threshold: f32, nms_threshold: f32) -> Result_void;
		pub fn cv_dnn_DetectionOutputLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_has_const_const_StringX(instance: *const c_void, key: *const c_char) -> Result<bool>;
		pub fn cv_dnn_Dict_ptr_const_StringX(instance: *mut c_void, key: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_ptr_const_const_StringX(instance: *const c_void, key: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_get_const_const_StringX(instance: *const c_void, key: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_set_cv_String_const_StringX_const_StringX(instance: *mut c_void, key: *const c_char, value: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_set_cv_dnn_DictValue_const_StringX_const_DictValueX(instance: *mut c_void, key: *const c_char, value: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Dict_set_double_const_StringX_const_doubleX(instance: *mut c_void, key: *const c_char, value: *const f64) -> Result<f64>;
		pub fn cv_dnn_Dict_set_int64_t_const_StringX_const_int64_tX(instance: *mut c_void, key: *const c_char, value: *const i64) -> Result<i64>;
		pub fn cv_dnn_Dict_erase_const_StringX(instance: *mut c_void, key: *const c_char) -> Result_void;
		pub fn cv_dnn_DictValue_DictValue_const_DictValueX(r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_bool(i: bool) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_int64_t(i: i64) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_int(i: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_unsigned_int(p: u32) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_double(p: f64) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_DictValue_const_charX(s: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_get_cv_String_const_int(instance: *const c_void, idx: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_DictValue_get_double_const_int(instance: *const c_void, idx: i32) -> Result<f64>;
		pub fn cv_dnn_DictValue_get_int_const_int(instance: *const c_void, idx: i32) -> Result<i32>;
		pub fn cv_dnn_DictValue_get_int64_t_const_int(instance: *const c_void, idx: i32) -> Result<i64>;
		pub fn cv_dnn_DictValue_size_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_DictValue_isInt_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_DictValue_isString_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_DictValue_isReal_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_DictValue_getIntValue_const_int(instance: *const c_void, idx: i32) -> Result<i32>;
		pub fn cv_dnn_DictValue_getRealValue_const_int(instance: *const c_void, idx: i32) -> Result<f64>;
		pub fn cv_dnn_DictValue_getStringValue_const_int(instance: *const c_void, idx: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_ELULayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_EltwiseLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_FlattenLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_InnerProductLayer_axis_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_InnerProductLayer_setAxis_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_InnerProductLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_InterpLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_KeypointsModel_KeypointsModel_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_KeypointsModel_KeypointsModel_const_NetX(network: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_KeypointsModel_estimate_const__InputArrayX_float(instance: *mut c_void, frame: *const c_void, thresh: f32) -> Result<*mut c_void>;
		pub fn cv_dnn_LRNLayer_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_LRNLayer_setType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_LRNLayer_size_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_LRNLayer_setSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_LRNLayer_alpha_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_LRNLayer_setAlpha_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_LRNLayer_beta_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_LRNLayer_setBeta_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_LRNLayer_bias_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_LRNLayer_setBias_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_LRNLayer_normBySize_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_LRNLayer_setNormBySize_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_LRNLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LSTMLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LSTMLayer_setWeights_const_MatX_const_MatX_const_MatX(instance: *mut c_void, wh: *const c_void, wx: *const c_void, b: *const c_void) -> Result_void;
		pub fn cv_dnn_LSTMLayer_setOutShape_const_MatShapeX(instance: *mut c_void, out_tail_shape: *const c_void) -> Result_void;
		pub fn cv_dnn_LSTMLayer_setUseTimstampsDim_bool(instance: *mut c_void, use_: bool) -> Result_void;
		pub fn cv_dnn_LSTMLayer_setProduceCellOutput_bool(instance: *mut c_void, produce: bool) -> Result_void;
		pub fn cv_dnn_LSTMLayer_inputNameToIndex_String(instance: *mut c_void, input_name: *mut c_char) -> Result<i32>;
		pub fn cv_dnn_LSTMLayer_outputNameToIndex_const_StringX(instance: *mut c_void, output_name: *const c_char) -> Result<i32>;
		pub fn cv_dnn_Layer_blobs(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_setBlobs_vector_Mat_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_setName_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_Layer_type_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_setType_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_Layer_preferableTarget_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_Layer_setPreferableTarget_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_Layer_finalize_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, inputs: *const c_void, outputs: *const c_void) -> Result_void;
		pub fn cv_dnn_Layer_forward_vector_MatX_X_vector_Mat_X_vector_Mat_X(instance: *mut c_void, input: *mut c_void, output: *mut c_void, internals: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_forward_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, inputs: *const c_void, outputs: *const c_void, internals: *const c_void) -> Result_void;
		pub fn cv_dnn_Layer_forward_fallback_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, inputs: *const c_void, outputs: *const c_void, internals: *const c_void) -> Result_void;
		pub fn cv_dnn_Layer_finalize_const_vector_Mat_X_vector_Mat_X(instance: *mut c_void, inputs: *const c_void, outputs: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_finalize_const_vector_Mat_X(instance: *mut c_void, inputs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_run_const_vector_Mat_X_vector_Mat_X_vector_Mat_X(instance: *mut c_void, inputs: *const c_void, outputs: *mut c_void, internals: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_inputNameToIndex_String(instance: *mut c_void, input_name: *mut c_char) -> Result<i32>;
		pub fn cv_dnn_Layer_outputNameToIndex_const_StringX(instance: *mut c_void, output_name: *const c_char) -> Result<i32>;
		pub fn cv_dnn_Layer_supportBackend_int(instance: *mut c_void, backend_id: i32) -> Result<bool>;
		pub fn cv_dnn_Layer_initHalide_const_vector_Ptr_BackendWrapper__X(instance: *mut c_void, inputs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_initInfEngine_const_vector_Ptr_BackendWrapper__X(instance: *mut c_void, inputs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_initNgraph_const_vector_Ptr_BackendWrapper__X_const_vector_Ptr_BackendNode__X(instance: *mut c_void, inputs: *const c_void, nodes: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_initVkCom_const_vector_Ptr_BackendWrapper__X(instance: *mut c_void, inputs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_initCUDA_voidX_const_vector_Ptr_BackendWrapper__X_const_vector_Ptr_BackendWrapper__X(instance: *mut c_void, context: *mut c_void, inputs: *const c_void, outputs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_applyHalideScheduler_const_Ptr_BackendNode_X_const_vector_MatX_X_const_vector_Mat_X_int(instance: *const c_void, node: *mut c_void, inputs: *const c_void, outputs: *const c_void, target_id: i32) -> Result_void;
		pub fn cv_dnn_Layer_tryAttach_const_Ptr_BackendNode_X(instance: *mut c_void, node: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_setActivation_const_Ptr_ActivationLayer_X(instance: *mut c_void, layer: *const c_void) -> Result<bool>;
		pub fn cv_dnn_Layer_tryFuse_Ptr_Layer_X(instance: *mut c_void, top: *mut c_void) -> Result<bool>;
		pub fn cv_dnn_Layer_getScaleShift_const_MatX_MatX(instance: *const c_void, scale: *mut c_void, shift: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_unsetAttached(instance: *mut c_void) -> Result_void;
		pub fn cv_dnn_Layer_getMemoryShapes_const_const_vector_MatShape_X_int_vector_MatShape_X_vector_MatShape_X(instance: *const c_void, inputs: *const c_void, required_outputs: i32, outputs: *mut c_void, internals: *mut c_void) -> Result<bool>;
		pub fn cv_dnn_Layer_getFLOPS_const_const_vector_MatShape_X_const_vector_MatShape_X(instance: *const c_void, inputs: *const c_void, outputs: *const c_void) -> Result<i64>;
		pub fn cv_dnn_Layer_Layer() -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_Layer_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Layer_setParamsFrom_const_LayerParamsX(instance: *mut c_void, params: *const c_void) -> Result_void;
		pub fn cv_dnn_LayerFactory_registerLayer_const_StringX_Constructor(typ: *const c_char, constructor: Option<unsafe extern "C" fn(*mut c_void) -> *mut c_void>) -> Result_void;
		pub fn cv_dnn_LayerFactory_unregisterLayer_const_StringX(typ: *const c_char) -> Result_void;
		pub fn cv_dnn_LayerFactory_createLayerInstance_const_StringX_LayerParamsX(typ: *const c_char, params: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LayerParams_blobs(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LayerParams_setBlobs_vector_Mat_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_LayerParams_name_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LayerParams_setName_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_LayerParams_type_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_LayerParams_setType_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_MVNLayer_eps_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_MVNLayer_setEps_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_MVNLayer_normVariance_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_MVNLayer_setNormVariance_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_MVNLayer_acrossChannels_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_MVNLayer_setAcrossChannels_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_MVNLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_MaxUnpoolLayer_poolKernel_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_MaxUnpoolLayer_setPoolKernel_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_MaxUnpoolLayer_poolPad_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_MaxUnpoolLayer_setPoolPad_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_MaxUnpoolLayer_poolStride_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_MaxUnpoolLayer_setPoolStride_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_MaxUnpoolLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_MishLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_Model() -> Result<*mut c_void>;
		pub fn cv_dnn_Model_Model_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_Model_const_NetX(network: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputSize_const_SizeX(instance: *mut c_void, size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputSize_int_int(instance: *mut c_void, width: i32, height: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputMean_const_ScalarX(instance: *mut c_void, mean: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputScale_double(instance: *mut c_void, scale: f64) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputCrop_bool(instance: *mut c_void, crop: bool) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputSwapRB_bool(instance: *mut c_void, swap_rb: bool) -> Result<*mut c_void>;
		pub fn cv_dnn_Model_setInputParams_double_const_SizeX_const_ScalarX_bool_bool(instance: *mut c_void, scale: f64, size: *const core::Size, mean: *const core::Scalar, swap_rb: bool, crop: bool) -> Result_void;
		pub fn cv_dnn_Model_predict_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, frame: *const c_void, outs: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_Net() -> Result<*mut c_void>;
		pub fn cv_dnn_Net_readFromModelOptimizer_const_StringX_const_StringX(xml: *const c_char, bin: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_readFromModelOptimizer_const_vector_unsigned_char_X_const_vector_unsigned_char_X(buffer_model_config: *const c_void, buffer_weights: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_readFromModelOptimizer_const_unsigned_charX_size_t_const_unsigned_charX_size_t(buffer_model_config_ptr: *const u8, buffer_model_config_size: size_t, buffer_weights_ptr: *const u8, buffer_weights_size: size_t) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_Net_dump(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_dumpToFile_const_StringX(instance: *mut c_void, path: *const c_char) -> Result_void;
		pub fn cv_dnn_Net_addLayer_const_StringX_const_StringX_LayerParamsX(instance: *mut c_void, name: *const c_char, typ: *const c_char, params: *mut c_void) -> Result<i32>;
		pub fn cv_dnn_Net_addLayerToPrev_const_StringX_const_StringX_LayerParamsX(instance: *mut c_void, name: *const c_char, typ: *const c_char, params: *mut c_void) -> Result<i32>;
		pub fn cv_dnn_Net_getLayerId_const_StringX(instance: *mut c_void, layer: *const c_char) -> Result<i32>;
		pub fn cv_dnn_Net_getLayerNames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_getLayer_LayerId(instance: *mut c_void, layer_id: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_getLayerInputs_LayerId(instance: *mut c_void, layer_id: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_connect_String_String(instance: *mut c_void, out_pin: *mut c_char, inp_pin: *mut c_char) -> Result_void;
		pub fn cv_dnn_Net_connect_int_int_int_int(instance: *mut c_void, out_layer_id: i32, out_num: i32, inp_layer_id: i32, inp_num: i32) -> Result_void;
		pub fn cv_dnn_Net_setInputsNames_const_vector_String_X(instance: *mut c_void, input_blob_names: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_setInputShape_const_StringX_const_MatShapeX(instance: *mut c_void, input_name: *const c_char, shape: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_forward_const_StringX(instance: *mut c_void, output_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_forwardAsync_const_StringX(instance: *mut c_void, output_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_forward_const__OutputArrayX_const_StringX(instance: *mut c_void, output_blobs: *const c_void, output_name: *const c_char) -> Result_void;
		pub fn cv_dnn_Net_forward_const__OutputArrayX_const_vector_String_X(instance: *mut c_void, output_blobs: *const c_void, out_blob_names: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_forward_vector_vector_Mat__X_const_vector_String_X(instance: *mut c_void, output_blobs: *mut c_void, out_blob_names: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_setHalideScheduler_const_StringX(instance: *mut c_void, scheduler: *const c_char) -> Result_void;
		pub fn cv_dnn_Net_setPreferableBackend_int(instance: *mut c_void, backend_id: i32) -> Result_void;
		pub fn cv_dnn_Net_setPreferableTarget_int(instance: *mut c_void, target_id: i32) -> Result_void;
		pub fn cv_dnn_Net_setInput_const__InputArrayX_const_StringX_double_const_ScalarX(instance: *mut c_void, blob: *const c_void, name: *const c_char, scalefactor: f64, mean: *const core::Scalar) -> Result_void;
		pub fn cv_dnn_Net_setParam_LayerId_int_const_MatX(instance: *mut c_void, layer: *mut c_void, num_param: i32, blob: *const c_void) -> Result_void;
		pub fn cv_dnn_Net_getParam_LayerId_int(instance: *mut c_void, layer: *mut c_void, num_param: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_getUnconnectedOutLayers_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_getUnconnectedOutLayersNames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_Net_getLayersShapes_const_const_vector_MatShape_X_vector_int_X_vector_vector_MatShape__X_vector_vector_MatShape__X(instance: *const c_void, net_input_shapes: *const c_void, layers_ids: *mut c_void, in_layers_shapes: *mut c_void, out_layers_shapes: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getLayersShapes_const_const_MatShapeX_vector_int_X_vector_vector_MatShape__X_vector_vector_MatShape__X(instance: *const c_void, net_input_shape: *const c_void, layers_ids: *mut c_void, in_layers_shapes: *mut c_void, out_layers_shapes: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getLayerShapes_const_const_MatShapeX_int_vector_MatShape_X_vector_MatShape_X(instance: *const c_void, net_input_shape: *const c_void, layer_id: i32, in_layer_shapes: *mut c_void, out_layer_shapes: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getLayerShapes_const_const_vector_MatShape_X_int_vector_MatShape_X_vector_MatShape_X(instance: *const c_void, net_input_shapes: *const c_void, layer_id: i32, in_layer_shapes: *mut c_void, out_layer_shapes: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getFLOPS_const_const_vector_MatShape_X(instance: *const c_void, net_input_shapes: *const c_void) -> Result<i64>;
		pub fn cv_dnn_Net_getFLOPS_const_const_MatShapeX(instance: *const c_void, net_input_shape: *const c_void) -> Result<i64>;
		pub fn cv_dnn_Net_getFLOPS_const_int_const_vector_MatShape_X(instance: *const c_void, layer_id: i32, net_input_shapes: *const c_void) -> Result<i64>;
		pub fn cv_dnn_Net_getFLOPS_const_int_const_MatShapeX(instance: *const c_void, layer_id: i32, net_input_shape: *const c_void) -> Result<i64>;
		pub fn cv_dnn_Net_getLayerTypes_const_vector_String_X(instance: *const c_void, layers_types: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getLayersCount_const_const_StringX(instance: *const c_void, layer_type: *const c_char) -> Result<i32>;
		pub fn cv_dnn_Net_getMemoryConsumption_const_const_vector_MatShape_X_size_tX_size_tX(instance: *const c_void, net_input_shapes: *const c_void, weights: *mut size_t, blobs: *mut size_t) -> Result_void;
		pub fn cv_dnn_Net_getMemoryConsumption_const_const_MatShapeX_size_tX_size_tX(instance: *const c_void, net_input_shape: *const c_void, weights: *mut size_t, blobs: *mut size_t) -> Result_void;
		pub fn cv_dnn_Net_getMemoryConsumption_const_int_const_vector_MatShape_X_size_tX_size_tX(instance: *const c_void, layer_id: i32, net_input_shapes: *const c_void, weights: *mut size_t, blobs: *mut size_t) -> Result_void;
		pub fn cv_dnn_Net_getMemoryConsumption_const_int_const_MatShapeX_size_tX_size_tX(instance: *const c_void, layer_id: i32, net_input_shape: *const c_void, weights: *mut size_t, blobs: *mut size_t) -> Result_void;
		pub fn cv_dnn_Net_getMemoryConsumption_const_const_vector_MatShape_X_vector_int_X_vector_size_t_X_vector_size_t_X(instance: *const c_void, net_input_shapes: *const c_void, layer_ids: *mut c_void, weights: *mut c_void, blobs: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_getMemoryConsumption_const_const_MatShapeX_vector_int_X_vector_size_t_X_vector_size_t_X(instance: *const c_void, net_input_shape: *const c_void, layer_ids: *mut c_void, weights: *mut c_void, blobs: *mut c_void) -> Result_void;
		pub fn cv_dnn_Net_enableFusion_bool(instance: *mut c_void, fusion: bool) -> Result_void;
		pub fn cv_dnn_Net_getPerfProfile_vector_double_X(instance: *mut c_void, timings: *mut c_void) -> Result<i64>;
		pub fn cv_dnn_NormalizeBBoxLayer_pnorm_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_NormalizeBBoxLayer_setPnorm_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_NormalizeBBoxLayer_epsilon_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_NormalizeBBoxLayer_setEpsilon_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_NormalizeBBoxLayer_acrossSpatial_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_NormalizeBBoxLayer_setAcrossSpatial_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_NormalizeBBoxLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PaddingLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PermuteLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_kernel_size(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setKernel_size_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_PoolingLayer_strides(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setStrides_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pads_begin(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setPads_begin_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pads_end(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setPads_end_vector_size_t_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_PoolingLayer_kernel_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_PoolingLayer_setKernel_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_PoolingLayer_stride_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_PoolingLayer_setStride_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pad_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_PoolingLayer_setPad_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pad_l_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setPad_l_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pad_t_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setPad_t_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pad_r_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setPad_r_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pad_b_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setPad_b_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_globalPooling_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_PoolingLayer_setGlobalPooling_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_PoolingLayer_isGlobalPooling(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setIsGlobalPooling_vector_bool_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_PoolingLayer_computeMaxIdx_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_PoolingLayer_setComputeMaxIdx_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_PoolingLayer_padMode_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PoolingLayer_setPadMode_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_dnn_PoolingLayer_ceilMode_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_PoolingLayer_setCeilMode_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_PoolingLayer_avePoolPaddedArea_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_PoolingLayer_setAvePoolPaddedArea_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_PoolingLayer_pooledSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_dnn_PoolingLayer_setPooledSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_dnn_PoolingLayer_spatialScale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_PoolingLayer_setSpatialScale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_psRoiOutChannels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_PoolingLayer_setPsRoiOutChannels_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_PoolingLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PowerLayer_power_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_PowerLayer_setPower_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_PowerLayer_scale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_PowerLayer_setScale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_PowerLayer_shift_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_PowerLayer_setShift_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_PowerLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_PriorBoxLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ProposalLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_RNNLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_RNNLayer_setWeights_const_MatX_const_MatX_const_MatX_const_MatX_const_MatX(instance: *mut c_void, wxh: *const c_void, bh: *const c_void, whh: *const c_void, who: *const c_void, bo: *const c_void) -> Result_void;
		pub fn cv_dnn_RNNLayer_setProduceHiddenOutput_bool(instance: *mut c_void, produce: bool) -> Result_void;
		pub fn cv_dnn_ReLU6Layer_minValue_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_ReLU6Layer_setMinValue_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_ReLU6Layer_maxValue_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_ReLU6Layer_setMaxValue_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_ReLU6Layer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ReLULayer_negativeSlope_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dnn_ReLULayer_setNegativeSlope_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dnn_ReLULayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_RegionLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ReorgLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ReshapeLayer_newShapeDesc(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ReshapeLayer_setNewShapeDesc_MatShape(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_ReshapeLayer_newShapeRange(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ReshapeLayer_setNewShapeRange_Range(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_ReshapeLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ResizeLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ScaleLayer_hasBias_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_ScaleLayer_setHasBias_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_ScaleLayer_axis_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_ScaleLayer_setAxis_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_ScaleLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SegmentationModel_SegmentationModel_const_StringX_const_StringX(model: *const c_char, config: *const c_char) -> Result<*mut c_void>;
		pub fn cv_dnn_SegmentationModel_SegmentationModel_const_NetX(network: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SegmentationModel_segment_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, frame: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_dnn_ShiftLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_ShuffleChannelLayer_group_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_ShuffleChannelLayer_setGroup_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_ShuffleChannelLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SigmoidLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SliceLayer_sliceRanges(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SliceLayer_setSliceRanges_vector_vector_Range__(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_dnn_SliceLayer_axis_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_SliceLayer_setAxis_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_SliceLayer_num_split_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_SliceLayer_setNum_split_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_SliceLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SoftmaxLayer_logSoftMax_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dnn_SoftmaxLayer_setLogSoftMax_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_dnn_SoftmaxLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SplitLayer_outputsCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dnn_SplitLayer_setOutputsCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dnn_SplitLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_SwishLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn_TanHLayer_create_const_LayerParamsX(params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn__Range__Range_const_RangeX(r: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dnn__Range__Range_int_int(start_: i32, size_: i32) -> Result<*mut c_void>;
	}
}
pub use dnn_sys::*;

mod dnn_superres_sys {
	use super::*;

	extern "C" {
		pub fn cv_dnn_superres_DnnSuperResImpl_create() -> Result<*mut c_void>;
		pub fn cv_dnn_superres_DnnSuperResImpl_DnnSuperResImpl() -> Result<*mut c_void>;
		pub fn cv_dnn_superres_DnnSuperResImpl_DnnSuperResImpl_const_StringX_int(algo: *const c_char, scale: i32) -> Result<*mut c_void>;
		pub fn cv_dnn_superres_DnnSuperResImpl_readModel_const_StringX(instance: *mut c_void, path: *const c_char) -> Result_void;
		pub fn cv_dnn_superres_DnnSuperResImpl_readModel_const_StringX_const_StringX(instance: *mut c_void, weights: *const c_char, definition: *const c_char) -> Result_void;
		pub fn cv_dnn_superres_DnnSuperResImpl_setModel_const_StringX_int(instance: *mut c_void, algo: *const c_char, scale: i32) -> Result_void;
		pub fn cv_dnn_superres_DnnSuperResImpl_upsample_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, img: *const c_void, result: *const c_void) -> Result_void;
		pub fn cv_dnn_superres_DnnSuperResImpl_upsampleMultioutput_const__InputArrayX_vector_Mat_X_const_vector_int_X_const_vector_String_X(instance: *mut c_void, img: *const c_void, imgs_new: *mut c_void, scale_factors: *const c_void, node_names: *const c_void) -> Result_void;
		pub fn cv_dnn_superres_DnnSuperResImpl_getScale(instance: *mut c_void) -> Result<i32>;
		pub fn cv_dnn_superres_DnnSuperResImpl_getAlgorithm(instance: *mut c_void) -> Result<*mut c_void>;
	}
}
pub use dnn_superres_sys::*;

#[cfg(feature = "contrib")]
mod dpm_sys {
	use super::*;

	extern "C" {
		pub fn cv_dpm_DPMDetector_isEmpty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_dpm_DPMDetector_detect_MatX_vector_ObjectDetection_X(instance: *mut c_void, image: *mut c_void, objects: *mut c_void) -> Result_void;
		pub fn cv_dpm_DPMDetector_getClassNames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dpm_DPMDetector_getClassCount_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_dpm_DPMDetector_create_const_vector_string_X_const_vector_string_X(filenames: *const c_void, class_names: *const c_void) -> Result<*mut c_void>;
		pub fn cv_dpm_DPMDetector_ObjectDetection_rect_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_dpm_DPMDetector_ObjectDetection_setRect_Rect(instance: *mut c_void, val: *const core::Rect) -> Result_void;
		pub fn cv_dpm_DPMDetector_ObjectDetection_score_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_dpm_DPMDetector_ObjectDetection_setScore_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_dpm_DPMDetector_ObjectDetection_classID_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_dpm_DPMDetector_ObjectDetection_setClassID_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_dpm_DPMDetector_ObjectDetection_ObjectDetection() -> Result<*mut c_void>;
		pub fn cv_dpm_DPMDetector_ObjectDetection_ObjectDetection_const_RectX_float_int(rect: *const core::Rect, score: f32, class_id: i32) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use dpm_sys::*;

#[cfg(feature = "contrib")]
mod face_sys {
	use super::*;

	extern "C" {
		pub fn cv_face_createFacemarkAAM() -> Result<*mut c_void>;
		pub fn cv_face_createFacemarkKazemi() -> Result<*mut c_void>;
		pub fn cv_face_createFacemarkLBF() -> Result<*mut c_void>;
		pub fn cv_face_drawFacemarks_const__InputOutputArrayX_const__InputArrayX_Scalar(image: *const c_void, points: *const c_void, color: *const core::Scalar) -> Result_void;
		pub fn cv_face_getFacesHAAR_const__InputArrayX_const__OutputArrayX_const_StringX(image: *const c_void, faces: *const c_void, face_cascade_name: *const c_char) -> Result<bool>;
		pub fn cv_face_getFaces_const__InputArrayX_const__OutputArrayX_CParamsX(image: *const c_void, faces: *const c_void, params: *mut c_void) -> Result<bool>;
		pub fn cv_face_loadDatasetList_String_String_vector_String_X_vector_String_X(image_list: *mut c_char, annotation_list: *mut c_char, images: *mut c_void, annotations: *mut c_void) -> Result<bool>;
		pub fn cv_face_loadFacePoints_String_const__OutputArrayX_float(filename: *mut c_char, points: *const c_void, offset: f32) -> Result<bool>;
		pub fn cv_face_loadTrainingData_String_String_vector_String_X_const__OutputArrayX_float(image_list: *mut c_char, ground_truth: *mut c_char, images: *mut c_void, face_points: *const c_void, offset: f32) -> Result<bool>;
		pub fn cv_face_loadTrainingData_String_vector_String_X_const__OutputArrayX_char_float(filename: *mut c_char, images: *mut c_void, face_points: *const c_void, delim: i8, offset: f32) -> Result<bool>;
		pub fn cv_face_loadTrainingData_vector_String__vector_vector_Point2f__X_vector_String_X(filename: *mut c_void, trainlandmarks: *mut c_void, trainimages: *mut c_void) -> Result<bool>;
		pub fn cv_face_BIF_getNumBands_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_BIF_getNumRotations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_BIF_compute_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, image: *const c_void, features: *const c_void) -> Result_void;
		pub fn cv_face_BIF_create_int_int(num_bands: i32, num_rotations: i32) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_getNumComponents_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_BasicFaceRecognizer_setNumComponents_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_BasicFaceRecognizer_getThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_BasicFaceRecognizer_setThreshold_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_BasicFaceRecognizer_getProjections_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_getLabels_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_getEigenValues_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_getEigenVectors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_getMean_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_BasicFaceRecognizer_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_face_BasicFaceRecognizer_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_face_BasicFaceRecognizer_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_CParams_cascade_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_CParams_setCascade_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_face_CParams_scaleFactor_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_CParams_setScaleFactor_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_CParams_minNeighbors_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_CParams_setMinNeighbors_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_CParams_minSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_face_CParams_setMinSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_face_CParams_maxSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_face_CParams_setMaxSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_face_CParams_face_cascade(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_CParams_setFace_cascade_CascadeClassifier(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_CParams_CParams_String_double_int_Size_Size(cascade_model: *mut c_char, sf: f64, min_n: i32, min_sz: *const core::Size, max_sz: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_face_EigenFaceRecognizer_create_int_double(num_components: i32, threshold: f64) -> Result<*mut c_void>;
		pub fn cv_face_FaceRecognizer_train_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, labels: *const c_void) -> Result_void;
		pub fn cv_face_FaceRecognizer_update_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, labels: *const c_void) -> Result_void;
		pub fn cv_face_FaceRecognizer_predict_const_const__InputArrayX(instance: *const c_void, src: *const c_void) -> Result<i32>;
		pub fn cv_face_FaceRecognizer_predict_const_const__InputArrayX_intX_doubleX(instance: *const c_void, src: *const c_void, label: *mut i32, confidence: *mut f64) -> Result_void;
		pub fn cv_face_FaceRecognizer_predict_const_const__InputArrayX_Ptr_PredictCollector_(instance: *const c_void, src: *const c_void, collector: *mut c_void) -> Result_void;
		pub fn cv_face_FaceRecognizer_write_const_const_StringX(instance: *const c_void, filename: *const c_char) -> Result_void;
		pub fn cv_face_FaceRecognizer_read_const_StringX(instance: *mut c_void, filename: *const c_char) -> Result_void;
		pub fn cv_face_FaceRecognizer_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_face_FaceRecognizer_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_face_FaceRecognizer_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_FaceRecognizer_setLabelInfo_int_const_StringX(instance: *mut c_void, label: i32, str_info: *const c_char) -> Result_void;
		pub fn cv_face_FaceRecognizer_getLabelInfo_const_int(instance: *const c_void, label: i32) -> Result<*mut c_void>;
		pub fn cv_face_FaceRecognizer_getLabelsByString_const_const_StringX(instance: *const c_void, str: *const c_char) -> Result<*mut c_void>;
		pub fn cv_face_FaceRecognizer_getThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_FaceRecognizer_setThreshold_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_Facemark_loadModel_String(instance: *mut c_void, model: *mut c_char) -> Result_void;
		pub fn cv_face_Facemark_fit_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, faces: *const c_void, landmarks: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkAAM_fitConfig_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const_vector_Config_X(instance: *mut c_void, image: *const c_void, roi: *const c_void, _landmarks: *const c_void, runtime_params: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkAAM_create_const_ParamsX(parameters: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Config_R(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Config_setR_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Config_t_const(instance: *const c_void) -> Result<core::Point2f>;
		pub fn cv_face_FacemarkAAM_Config_setT_Point2f(instance: *mut c_void, val: *const core::Point2f) -> Result_void;
		pub fn cv_face_FacemarkAAM_Config_scale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_face_FacemarkAAM_Config_setScale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Config_model_scale_idx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Config_setModel_scale_idx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Config_Config_Mat_Point2f_float_int(rot: *mut c_void, trans: *const core::Point2f, scaling: f32, scale_id: i32) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Data_s0(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Data_setS0_vector_Point2f_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_scales(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setScales_vector_float_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_triangles(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setTriangles_vector_Vec3i_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_textures(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setTextures_vector_Texture_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_s0(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setS0_vector_Point2f_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_S(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setS_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Q(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_setQ_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_max_m_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setMax_m_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_resolution_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setResolution_Rect(instance: *mut c_void, val: *const core::Rect) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_A(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setA_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_A0(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setA0_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_AA(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setAA_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_AA0(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setAA0_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_textureIdx(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setTextureIdx_vector_vector_Point__(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_base_shape(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setBase_shape_vector_Point2f_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_ind1(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setInd1_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Model_Texture_ind2(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Model_Texture_setInd2_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_model_filename_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Params_setModel_filename_string(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_m_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setM_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_n_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setN_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_n_iter_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setN_iter_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_verbose_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkAAM_Params_setVerbose_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_save_model_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkAAM_Params_setSave_model_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_max_m_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setMax_m_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_max_n_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setMax_n_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_texture_max_m_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkAAM_Params_setTexture_max_m_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_scales(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Params_setScales_vector_float_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_Params() -> Result<*mut c_void>;
		pub fn cv_face_FacemarkAAM_Params_read_const_FileNodeX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_face_FacemarkAAM_Params_write_const_FileStorageX(instance: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkKazemi_create_const_ParamsX(parameters: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkKazemi_training_vector_Mat_X_vector_vector_Point2f__X_string_Size_string(instance: *mut c_void, images: *mut c_void, landmarks: *mut c_void, configfile: *mut c_char, scale: *const core::Size, model_filename: *mut c_char) -> Result<bool>;
		pub fn cv_face_FacemarkKazemi_getFaces_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, faces: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkKazemi_Params_cascade_depth_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setCascade_depth_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_tree_depth_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setTree_depth_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_num_trees_per_cascade_level_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setNum_trees_per_cascade_level_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_learning_rate_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_face_FacemarkKazemi_Params_setLearning_rate_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_oversampling_amount_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setOversampling_amount_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_num_test_coordinates_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setNum_test_coordinates_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_lambda_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_face_FacemarkKazemi_Params_setLambda_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_num_test_splits_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkKazemi_Params_setNum_test_splits_unsigned_long(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_configfile_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkKazemi_Params_setConfigfile_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_face_FacemarkKazemi_Params_Params() -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_create_const_ParamsX(parameters: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_shape_offset_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_FacemarkLBF_Params_setShape_offset_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_cascade_face_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_setCascade_face_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_verbose_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkLBF_Params_setVerbose_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_n_landmarks_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkLBF_Params_setN_landmarks_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_initShape_n_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkLBF_Params_setInitShape_n_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_stages_n_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkLBF_Params_setStages_n_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_tree_n_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkLBF_Params_setTree_n_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_tree_depth_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_FacemarkLBF_Params_setTree_depth_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_bagging_overlap_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_FacemarkLBF_Params_setBagging_overlap_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_model_filename_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_setModel_filename_string(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_save_model_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkLBF_Params_setSave_model_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_seed_const(instance: *const c_void) -> Result<u32>;
		pub fn cv_face_FacemarkLBF_Params_setSeed_unsigned_int(instance: *mut c_void, val: u32) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_feats_m(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_setFeats_m_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_radius_m(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_setRadius_m_vector_double_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_detectROI_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_face_FacemarkLBF_Params_setDetectROI_Rect(instance: *mut c_void, val: *const core::Rect) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_Params() -> Result<*mut c_void>;
		pub fn cv_face_FacemarkLBF_Params_read_const_FileNodeX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_face_FacemarkLBF_Params_write_const_FileStorageX(instance: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkTrain_addTrainingSample_const__InputArrayX_const__InputArrayX(instance: *mut c_void, image: *const c_void, landmarks: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkTrain_training_voidX(instance: *mut c_void, parameters: *mut c_void) -> Result_void;
		pub fn cv_face_FacemarkTrain_setFaceDetector_FN_FaceDetector_voidX(instance: *mut c_void, detector: Option<unsafe extern "C" fn(*const c_void, *const c_void, *mut c_void) -> bool>, user_data: *mut c_void) -> Result<bool>;
		pub fn cv_face_FacemarkTrain_getFaces_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, faces: *const c_void) -> Result<bool>;
		pub fn cv_face_FacemarkTrain_getData_voidX(instance: *mut c_void, items: *mut c_void) -> Result<bool>;
		pub fn cv_face_FisherFaceRecognizer_create_int_double(num_components: i32, threshold: f64) -> Result<*mut c_void>;
		pub fn cv_face_LBPHFaceRecognizer_getGridX_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_LBPHFaceRecognizer_setGridX_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_LBPHFaceRecognizer_getGridY_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_LBPHFaceRecognizer_setGridY_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_LBPHFaceRecognizer_getRadius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_LBPHFaceRecognizer_setRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_LBPHFaceRecognizer_getNeighbors_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_LBPHFaceRecognizer_setNeighbors_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_face_LBPHFaceRecognizer_getThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_LBPHFaceRecognizer_setThreshold_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_face_LBPHFaceRecognizer_getHistograms_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_LBPHFaceRecognizer_getLabels_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_face_LBPHFaceRecognizer_create_int_int_int_int_double(radius: i32, neighbors: i32, grid_x: i32, grid_y: i32, threshold: f64) -> Result<*mut c_void>;
		pub fn cv_face_MACE_salt_const_StringX(instance: *mut c_void, passphrase: *const c_char) -> Result_void;
		pub fn cv_face_MACE_train_const__InputArrayX(instance: *mut c_void, images: *const c_void) -> Result_void;
		pub fn cv_face_MACE_same_const_const__InputArrayX(instance: *const c_void, query: *const c_void) -> Result<bool>;
		pub fn cv_face_MACE_load_const_StringX_const_StringX(filename: *const c_char, objname: *const c_char) -> Result<*mut c_void>;
		pub fn cv_face_MACE_create_int(imgsize: i32) -> Result<*mut c_void>;
		pub fn cv_face_PredictCollector_init_size_t(instance: *mut c_void, size: size_t) -> Result_void;
		pub fn cv_face_PredictCollector_collect_int_double(instance: *mut c_void, label: i32, dist: f64) -> Result<bool>;
		pub fn cv_face_StandardCollector_StandardCollector_double(threshold_: f64) -> Result<*mut c_void>;
		pub fn cv_face_StandardCollector_init_size_t(instance: *mut c_void, size: size_t) -> Result_void;
		pub fn cv_face_StandardCollector_collect_int_double(instance: *mut c_void, label: i32, dist: f64) -> Result<bool>;
		pub fn cv_face_StandardCollector_getMinLabel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_face_StandardCollector_getMinDist_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_face_StandardCollector_create_double(threshold: f64) -> Result<*mut c_void>;
		pub fn cv_face_StandardCollector_PredictResult_PredictResult_int_double(label_: i32, distance_: f64) -> Result<crate::face::StandardCollector_PredictResult>;
	}
}
#[cfg(feature = "contrib")]
pub use face_sys::*;

mod features2d_sys {
	use super::*;

	extern "C" {
		pub fn cv_AGAST_const__InputArrayX_vector_KeyPoint_X_int_bool(image: *const c_void, keypoints: *mut c_void, threshold: i32, nonmax_suppression: bool) -> Result_void;
		pub fn cv_AGAST_const__InputArrayX_vector_KeyPoint_X_int_bool_DetectorType(image: *const c_void, keypoints: *mut c_void, threshold: i32, nonmax_suppression: bool, typ: crate::features2d::AgastFeatureDetector_DetectorType) -> Result_void;
		pub fn cv_FAST_const__InputArrayX_vector_KeyPoint_X_int_bool(image: *const c_void, keypoints: *mut c_void, threshold: i32, nonmax_suppression: bool) -> Result_void;
		pub fn cv_FAST_const__InputArrayX_vector_KeyPoint_X_int_bool_DetectorType(image: *const c_void, keypoints: *mut c_void, threshold: i32, nonmax_suppression: bool, typ: crate::features2d::FastFeatureDetector_DetectorType) -> Result_void;
		pub fn cv_computeRecallPrecisionCurve_const_vector_vector_DMatch__X_const_vector_vector_unsigned_char__X_vector_Point2f_X(matches1to2: *const c_void, correct_matches1to2_mask: *const c_void, recall_precision_curve: *mut c_void) -> Result_void;
		pub fn cv_drawKeypoints_const__InputArrayX_const_vector_KeyPoint_X_const__InputOutputArrayX_const_ScalarX_DrawMatchesFlags(image: *const c_void, keypoints: *const c_void, out_image: *const c_void, color: *const core::Scalar, flags: crate::features2d::DrawMatchesFlags) -> Result_void;
		pub fn cv_drawMatches_const__InputArrayX_const_vector_KeyPoint_X_const__InputArrayX_const_vector_KeyPoint_X_const_vector_DMatch_X_const__InputOutputArrayX_const_ScalarX_const_ScalarX_const_vector_char_X_DrawMatchesFlags(img1: *const c_void, keypoints1: *const c_void, img2: *const c_void, keypoints2: *const c_void, matches1to2: *const c_void, out_img: *const c_void, match_color: *const core::Scalar, single_point_color: *const core::Scalar, matches_mask: *const c_void, flags: crate::features2d::DrawMatchesFlags) -> Result_void;
		pub fn cv_drawMatches_const__InputArrayX_const_vector_KeyPoint_X_const__InputArrayX_const_vector_KeyPoint_X_const_vector_vector_DMatch__X_const__InputOutputArrayX_const_ScalarX_const_ScalarX_const_vector_vector_char__X_DrawMatchesFlags(img1: *const c_void, keypoints1: *const c_void, img2: *const c_void, keypoints2: *const c_void, matches1to2: *const c_void, out_img: *const c_void, match_color: *const core::Scalar, single_point_color: *const core::Scalar, matches_mask: *const c_void, flags: crate::features2d::DrawMatchesFlags) -> Result_void;
		pub fn cv_evaluateFeatureDetector_const_MatX_const_MatX_const_MatX_vector_KeyPoint_X_vector_KeyPoint_X_floatX_intX_const_Ptr_Feature2D_X(img1: *const c_void, img2: *const c_void, h1to2: *const c_void, keypoints1: *mut c_void, keypoints2: *mut c_void, repeatability: *mut f32, corresp_count: *mut i32, fdetector: *const c_void) -> Result_void;
		pub fn cv_getNearestPoint_const_vector_Point2f_X_float(recall_precision_curve: *const c_void, l_precision: f32) -> Result<i32>;
		pub fn cv_getRecall_const_vector_Point2f_X_float(recall_precision_curve: *const c_void, l_precision: f32) -> Result<f32>;
		pub fn cv_AKAZE_create_DescriptorType_int_int_float_int_int_DiffusivityType(descriptor_type: crate::features2d::AKAZE_DescriptorType, descriptor_size: i32, descriptor_channels: i32, threshold: f32, n_octaves: i32, n_octave_layers: i32, diffusivity: crate::features2d::KAZE_DiffusivityType) -> Result<*mut c_void>;
		pub fn cv_AKAZE_setDescriptorType_DescriptorType(instance: *mut c_void, dtype: crate::features2d::AKAZE_DescriptorType) -> Result_void;
		pub fn cv_AKAZE_getDescriptorType_const(instance: *const c_void) -> Result<crate::features2d::AKAZE_DescriptorType>;
		pub fn cv_AKAZE_setDescriptorSize_int(instance: *mut c_void, dsize: i32) -> Result_void;
		pub fn cv_AKAZE_getDescriptorSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AKAZE_setDescriptorChannels_int(instance: *mut c_void, dch: i32) -> Result_void;
		pub fn cv_AKAZE_getDescriptorChannels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AKAZE_setThreshold_double(instance: *mut c_void, threshold: f64) -> Result_void;
		pub fn cv_AKAZE_getThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_AKAZE_setNOctaves_int(instance: *mut c_void, octaves: i32) -> Result_void;
		pub fn cv_AKAZE_getNOctaves_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AKAZE_setNOctaveLayers_int(instance: *mut c_void, octave_layers: i32) -> Result_void;
		pub fn cv_AKAZE_getNOctaveLayers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AKAZE_setDiffusivity_DiffusivityType(instance: *mut c_void, diff: crate::features2d::KAZE_DiffusivityType) -> Result_void;
		pub fn cv_AKAZE_getDiffusivity_const(instance: *const c_void) -> Result<crate::features2d::KAZE_DiffusivityType>;
		pub fn cv_AKAZE_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_AgastFeatureDetector_create_int_bool_DetectorType(threshold: i32, nonmax_suppression: bool, typ: crate::features2d::AgastFeatureDetector_DetectorType) -> Result<*mut c_void>;
		pub fn cv_AgastFeatureDetector_setThreshold_int(instance: *mut c_void, threshold: i32) -> Result_void;
		pub fn cv_AgastFeatureDetector_getThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AgastFeatureDetector_setNonmaxSuppression_bool(instance: *mut c_void, f: bool) -> Result_void;
		pub fn cv_AgastFeatureDetector_getNonmaxSuppression_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_AgastFeatureDetector_setType_DetectorType(instance: *mut c_void, typ: crate::features2d::AgastFeatureDetector_DetectorType) -> Result_void;
		pub fn cv_AgastFeatureDetector_getType_const(instance: *const c_void) -> Result<crate::features2d::AgastFeatureDetector_DetectorType>;
		pub fn cv_AgastFeatureDetector_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BFMatcher_BFMatcher_int_bool(norm_type: i32, cross_check: bool) -> Result<*mut c_void>;
		pub fn cv_BFMatcher_isMaskSupported_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_BFMatcher_create_int_bool(norm_type: i32, cross_check: bool) -> Result<*mut c_void>;
		pub fn cv_BFMatcher_clone_const_bool(instance: *const c_void, empty_train_data: bool) -> Result<*mut c_void>;
		pub fn cv_BOWImgDescriptorExtractor_BOWImgDescriptorExtractor_const_Ptr_Feature2D_X_const_Ptr_DescriptorMatcher_X(dextractor: *const c_void, dmatcher: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWImgDescriptorExtractor_BOWImgDescriptorExtractor_const_Ptr_DescriptorMatcher_X(dmatcher: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWImgDescriptorExtractor_setVocabulary_const_MatX(instance: *mut c_void, vocabulary: *const c_void) -> Result_void;
		pub fn cv_BOWImgDescriptorExtractor_getVocabulary_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWImgDescriptorExtractor_compute_const__InputArrayX_vector_KeyPoint_X_const__OutputArrayX_vector_vector_int__X_MatX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, img_descriptor: *const c_void, point_idxs_of_clusters: *mut c_void, descriptors: *mut c_void) -> Result_void;
		pub fn cv_BOWImgDescriptorExtractor_compute_const__InputArrayX_const__OutputArrayX_vector_vector_int__X(instance: *mut c_void, keypoint_descriptors: *const c_void, img_descriptor: *const c_void, point_idxs_of_clusters: *mut c_void) -> Result_void;
		pub fn cv_BOWImgDescriptorExtractor_compute2_const_MatX_vector_KeyPoint_X_MatX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, img_descriptor: *mut c_void) -> Result_void;
		pub fn cv_BOWImgDescriptorExtractor_descriptorSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BOWImgDescriptorExtractor_descriptorType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BOWKMeansTrainer_BOWKMeansTrainer_int_const_TermCriteriaX_int_int(cluster_count: i32, termcrit: *const core::TermCriteria, attempts: i32, flags: i32) -> Result<*mut c_void>;
		pub fn cv_BOWKMeansTrainer_cluster_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWKMeansTrainer_cluster_const_const_MatX(instance: *const c_void, descriptors: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWTrainer_add_const_MatX(instance: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_BOWTrainer_getDescriptors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWTrainer_descriptorsCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BOWTrainer_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_BOWTrainer_cluster_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BOWTrainer_cluster_const_const_MatX(instance: *const c_void, descriptors: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BRISK_create_int_int_float(thresh: i32, octaves: i32, pattern_scale: f32) -> Result<*mut c_void>;
		pub fn cv_BRISK_create_const_vector_float_X_const_vector_int_X_float_float_const_vector_int_X(radius_list: *const c_void, number_list: *const c_void, d_max: f32, d_min: f32, index_change: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BRISK_create_int_int_const_vector_float_X_const_vector_int_X_float_float_const_vector_int_X(thresh: i32, octaves: i32, radius_list: *const c_void, number_list: *const c_void, d_max: f32, d_min: f32, index_change: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BRISK_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BRISK_setThreshold_int(instance: *mut c_void, threshold: i32) -> Result_void;
		pub fn cv_BRISK_getThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BRISK_setOctaves_int(instance: *mut c_void, octaves: i32) -> Result_void;
		pub fn cv_BRISK_getOctaves_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DescriptorMatcher_add_const__InputArrayX(instance: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_getTrainDescriptors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_DescriptorMatcher_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_DescriptorMatcher_isMaskSupported_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_DescriptorMatcher_train(instance: *mut c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_match_const_const__InputArrayX_const__InputArrayX_vector_DMatch_X_const__InputArrayX(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_knnMatch_const_const__InputArrayX_const__InputArrayX_vector_vector_DMatch__X_int_const__InputArrayX_bool(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, k: i32, mask: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_DescriptorMatcher_radiusMatch_const_const__InputArrayX_const__InputArrayX_vector_vector_DMatch__X_float_const__InputArrayX_bool(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, max_distance: f32, mask: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_DescriptorMatcher_match_const__InputArrayX_vector_DMatch_X_const__InputArrayX(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, masks: *const c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_knnMatch_const__InputArrayX_vector_vector_DMatch__X_int_const__InputArrayX_bool(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, k: i32, masks: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_DescriptorMatcher_radiusMatch_const__InputArrayX_vector_vector_DMatch__X_float_const__InputArrayX_bool(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, max_distance: f32, masks: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_DescriptorMatcher_write_const_const_StringX(instance: *const c_void, file_name: *const c_char) -> Result_void;
		pub fn cv_DescriptorMatcher_read_const_StringX(instance: *mut c_void, file_name: *const c_char) -> Result_void;
		pub fn cv_DescriptorMatcher_read_const_FileNodeX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_write_const_FileStorageX(instance: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_DescriptorMatcher_clone_const_bool(instance: *const c_void, empty_train_data: bool) -> Result<*mut c_void>;
		pub fn cv_DescriptorMatcher_create_const_StringX(descriptor_matcher_type: *const c_char) -> Result<*mut c_void>;
		pub fn cv_DescriptorMatcher_create_const_MatcherTypeX(matcher_type: *const crate::features2d::DescriptorMatcher_MatcherType) -> Result<*mut c_void>;
		pub fn cv_DescriptorMatcher_write_const_const_Ptr_FileStorage_X_const_StringX(instance: *const c_void, fs: *const c_void, name: *const c_char) -> Result_void;
		pub fn cv_FastFeatureDetector_create_int_bool_DetectorType(threshold: i32, nonmax_suppression: bool, typ: crate::features2d::FastFeatureDetector_DetectorType) -> Result<*mut c_void>;
		pub fn cv_FastFeatureDetector_setThreshold_int(instance: *mut c_void, threshold: i32) -> Result_void;
		pub fn cv_FastFeatureDetector_getThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FastFeatureDetector_setNonmaxSuppression_bool(instance: *mut c_void, f: bool) -> Result_void;
		pub fn cv_FastFeatureDetector_getNonmaxSuppression_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FastFeatureDetector_setType_DetectorType(instance: *mut c_void, typ: crate::features2d::FastFeatureDetector_DetectorType) -> Result_void;
		pub fn cv_FastFeatureDetector_getType_const(instance: *const c_void) -> Result<crate::features2d::FastFeatureDetector_DetectorType>;
		pub fn cv_FastFeatureDetector_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Feature2D_detect_const__InputArrayX_vector_KeyPoint_X_const__InputArrayX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_Feature2D_detect_const__InputArrayX_vector_vector_KeyPoint__X_const__InputArrayX(instance: *mut c_void, images: *const c_void, keypoints: *mut c_void, masks: *const c_void) -> Result_void;
		pub fn cv_Feature2D_compute_const__InputArrayX_vector_KeyPoint_X_const__OutputArrayX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_Feature2D_compute_const__InputArrayX_vector_vector_KeyPoint__X_const__OutputArrayX(instance: *mut c_void, images: *const c_void, keypoints: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_Feature2D_detectAndCompute_const__InputArrayX_const__InputArrayX_vector_KeyPoint_X_const__OutputArrayX_bool(instance: *mut c_void, image: *const c_void, mask: *const c_void, keypoints: *mut c_void, descriptors: *const c_void, use_provided_keypoints: bool) -> Result_void;
		pub fn cv_Feature2D_descriptorSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Feature2D_descriptorType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Feature2D_defaultNorm_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_Feature2D_write_const_const_StringX(instance: *const c_void, file_name: *const c_char) -> Result_void;
		pub fn cv_Feature2D_read_const_StringX(instance: *mut c_void, file_name: *const c_char) -> Result_void;
		pub fn cv_Feature2D_write_const_FileStorageX(instance: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_Feature2D_read_const_FileNodeX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_Feature2D_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Feature2D_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Feature2D_write_const_const_Ptr_FileStorage_X_const_StringX(instance: *const c_void, fs: *const c_void, name: *const c_char) -> Result_void;
		pub fn cv_FlannBasedMatcher_FlannBasedMatcher_const_Ptr_IndexParams_X_const_Ptr_SearchParams_X(index_params: *const c_void, search_params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_FlannBasedMatcher_add_const__InputArrayX(instance: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_FlannBasedMatcher_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_FlannBasedMatcher_read_const_FileNodeX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_FlannBasedMatcher_write_const_FileStorageX(instance: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_FlannBasedMatcher_train(instance: *mut c_void) -> Result_void;
		pub fn cv_FlannBasedMatcher_isMaskSupported_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FlannBasedMatcher_create() -> Result<*mut c_void>;
		pub fn cv_FlannBasedMatcher_clone_const_bool(instance: *const c_void, empty_train_data: bool) -> Result<*mut c_void>;
		pub fn cv_GFTTDetector_create_int_double_double_int_bool_double(max_corners: i32, quality_level: f64, min_distance: f64, block_size: i32, use_harris_detector: bool, k: f64) -> Result<*mut c_void>;
		pub fn cv_GFTTDetector_create_int_double_double_int_int_bool_double(max_corners: i32, quality_level: f64, min_distance: f64, block_size: i32, gradiant_size: i32, use_harris_detector: bool, k: f64) -> Result<*mut c_void>;
		pub fn cv_GFTTDetector_setMaxFeatures_int(instance: *mut c_void, max_features: i32) -> Result_void;
		pub fn cv_GFTTDetector_getMaxFeatures_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GFTTDetector_setQualityLevel_double(instance: *mut c_void, qlevel: f64) -> Result_void;
		pub fn cv_GFTTDetector_getQualityLevel_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GFTTDetector_setMinDistance_double(instance: *mut c_void, min_distance: f64) -> Result_void;
		pub fn cv_GFTTDetector_getMinDistance_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GFTTDetector_setBlockSize_int(instance: *mut c_void, block_size: i32) -> Result_void;
		pub fn cv_GFTTDetector_getBlockSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GFTTDetector_setHarrisDetector_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_GFTTDetector_getHarrisDetector_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_GFTTDetector_setK_double(instance: *mut c_void, k: f64) -> Result_void;
		pub fn cv_GFTTDetector_getK_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GFTTDetector_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_KAZE_create_bool_bool_float_int_int_DiffusivityType(extended: bool, upright: bool, threshold: f32, n_octaves: i32, n_octave_layers: i32, diffusivity: crate::features2d::KAZE_DiffusivityType) -> Result<*mut c_void>;
		pub fn cv_KAZE_setExtended_bool(instance: *mut c_void, extended: bool) -> Result_void;
		pub fn cv_KAZE_getExtended_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_KAZE_setUpright_bool(instance: *mut c_void, upright: bool) -> Result_void;
		pub fn cv_KAZE_getUpright_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_KAZE_setThreshold_double(instance: *mut c_void, threshold: f64) -> Result_void;
		pub fn cv_KAZE_getThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_KAZE_setNOctaves_int(instance: *mut c_void, octaves: i32) -> Result_void;
		pub fn cv_KAZE_getNOctaves_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_KAZE_setNOctaveLayers_int(instance: *mut c_void, octave_layers: i32) -> Result_void;
		pub fn cv_KAZE_getNOctaveLayers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_KAZE_setDiffusivity_DiffusivityType(instance: *mut c_void, diff: crate::features2d::KAZE_DiffusivityType) -> Result_void;
		pub fn cv_KAZE_getDiffusivity_const(instance: *const c_void) -> Result<crate::features2d::KAZE_DiffusivityType>;
		pub fn cv_KAZE_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_KeyPointsFilter_KeyPointsFilter() -> Result<*mut c_void>;
		pub fn cv_KeyPointsFilter_runByImageBorder_vector_KeyPoint_X_Size_int(keypoints: *mut c_void, image_size: *const core::Size, border_size: i32) -> Result_void;
		pub fn cv_KeyPointsFilter_runByKeypointSize_vector_KeyPoint_X_float_float(keypoints: *mut c_void, min_size: f32, max_size: f32) -> Result_void;
		pub fn cv_KeyPointsFilter_runByPixelsMask_vector_KeyPoint_X_const_MatX(keypoints: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_KeyPointsFilter_removeDuplicated_vector_KeyPoint_X(keypoints: *mut c_void) -> Result_void;
		pub fn cv_KeyPointsFilter_removeDuplicatedSorted_vector_KeyPoint_X(keypoints: *mut c_void) -> Result_void;
		pub fn cv_KeyPointsFilter_retainBest_vector_KeyPoint_X_int(keypoints: *mut c_void, npoints: i32) -> Result_void;
		pub fn cv_MSER_create_int_int_int_double_double_int_double_double_int(_delta: i32, _min_area: i32, _max_area: i32, _max_variation: f64, _min_diversity: f64, _max_evolution: i32, _area_threshold: f64, _min_margin: f64, _edge_blur_size: i32) -> Result<*mut c_void>;
		pub fn cv_MSER_detectRegions_const__InputArrayX_vector_vector_Point__X_vector_Rect_X(instance: *mut c_void, image: *const c_void, msers: *mut c_void, bboxes: *mut c_void) -> Result_void;
		pub fn cv_MSER_setDelta_int(instance: *mut c_void, delta: i32) -> Result_void;
		pub fn cv_MSER_getDelta_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MSER_setMinArea_int(instance: *mut c_void, min_area: i32) -> Result_void;
		pub fn cv_MSER_getMinArea_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MSER_setMaxArea_int(instance: *mut c_void, max_area: i32) -> Result_void;
		pub fn cv_MSER_getMaxArea_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_MSER_setPass2Only_bool(instance: *mut c_void, f: bool) -> Result_void;
		pub fn cv_MSER_getPass2Only_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_MSER_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ORB_kBytes_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_create_int_float_int_int_int_int_ScoreType_int_int(nfeatures: i32, scale_factor: f32, nlevels: i32, edge_threshold: i32, first_level: i32, wta_k: i32, score_type: crate::features2d::ORB_ScoreType, patch_size: i32, fast_threshold: i32) -> Result<*mut c_void>;
		pub fn cv_ORB_setMaxFeatures_int(instance: *mut c_void, max_features: i32) -> Result_void;
		pub fn cv_ORB_getMaxFeatures_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setScaleFactor_double(instance: *mut c_void, scale_factor: f64) -> Result_void;
		pub fn cv_ORB_getScaleFactor_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ORB_setNLevels_int(instance: *mut c_void, nlevels: i32) -> Result_void;
		pub fn cv_ORB_getNLevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setEdgeThreshold_int(instance: *mut c_void, edge_threshold: i32) -> Result_void;
		pub fn cv_ORB_getEdgeThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setFirstLevel_int(instance: *mut c_void, first_level: i32) -> Result_void;
		pub fn cv_ORB_getFirstLevel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setWTA_K_int(instance: *mut c_void, wta_k: i32) -> Result_void;
		pub fn cv_ORB_getWTA_K_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setScoreType_ScoreType(instance: *mut c_void, score_type: crate::features2d::ORB_ScoreType) -> Result_void;
		pub fn cv_ORB_getScoreType_const(instance: *const c_void) -> Result<crate::features2d::ORB_ScoreType>;
		pub fn cv_ORB_setPatchSize_int(instance: *mut c_void, patch_size: i32) -> Result_void;
		pub fn cv_ORB_getPatchSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_setFastThreshold_int(instance: *mut c_void, fast_threshold: i32) -> Result_void;
		pub fn cv_ORB_getFastThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ORB_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SimpleBlobDetector_create_const_ParamsX(parameters: *const crate::features2d::SimpleBlobDetector_Params) -> Result<*mut c_void>;
		pub fn cv_SimpleBlobDetector_getDefaultName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SimpleBlobDetector_Params_Params() -> Result<crate::features2d::SimpleBlobDetector_Params>;
		pub fn cv_SimpleBlobDetector_Params_read_const_FileNodeX(instance: *const crate::features2d::SimpleBlobDetector_Params, fn_: *const c_void) -> Result_void;
		pub fn cv_SimpleBlobDetector_Params_write_const_FileStorageX(instance: *const crate::features2d::SimpleBlobDetector_Params, fs: *mut c_void) -> Result_void;
	}
}
pub use features2d_sys::*;

mod flann_sys {
	use super::*;

	extern "C" {
		pub fn cvflann_flann_distance_type() -> Result<crate::flann::flann_distance_t>;
		pub fn cvflann_set_distance_type_flann_distance_t_int(distance_type: crate::flann::flann_distance_t, order: i32) -> Result_void;
		pub fn cv_flann_AutotunedIndexParams_AutotunedIndexParams_float_float_float_float(target_precision: f32, build_weight: f32, memory_weight: f32, sample_fraction: f32) -> Result<*mut c_void>;
		pub fn cv_flann_CompositeIndexParams_CompositeIndexParams_int_int_int_flann_centers_init_t_float(trees: i32, branching: i32, iterations: i32, centers_init: crate::flann::flann_centers_init_t, cb_index: f32) -> Result<*mut c_void>;
		pub fn cv_flann_HierarchicalClusteringIndexParams_HierarchicalClusteringIndexParams_int_flann_centers_init_t_int_int(branching: i32, centers_init: crate::flann::flann_centers_init_t, trees: i32, leaf_size: i32) -> Result<*mut c_void>;
		pub fn cv_flann_Index_Index() -> Result<*mut c_void>;
		pub fn cv_flann_Index_Index_const__InputArrayX_const_IndexParamsX_flann_distance_t(features: *const c_void, params: *const c_void, dist_type: crate::flann::flann_distance_t) -> Result<*mut c_void>;
		pub fn cv_flann_Index_build_const__InputArrayX_const_IndexParamsX_flann_distance_t(instance: *mut c_void, features: *const c_void, params: *const c_void, dist_type: crate::flann::flann_distance_t) -> Result_void;
		pub fn cv_flann_Index_knnSearch_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_const_SearchParamsX(instance: *mut c_void, query: *const c_void, indices: *const c_void, dists: *const c_void, knn: i32, params: *const c_void) -> Result_void;
		pub fn cv_flann_Index_radiusSearch_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double_int_const_SearchParamsX(instance: *mut c_void, query: *const c_void, indices: *const c_void, dists: *const c_void, radius: f64, max_results: i32, params: *const c_void) -> Result<i32>;
		pub fn cv_flann_Index_save_const_const_StringX(instance: *const c_void, filename: *const c_char) -> Result_void;
		pub fn cv_flann_Index_load_const__InputArrayX_const_StringX(instance: *mut c_void, features: *const c_void, filename: *const c_char) -> Result<bool>;
		pub fn cv_flann_Index_release(instance: *mut c_void) -> Result_void;
		pub fn cv_flann_Index_getDistance_const(instance: *const c_void) -> Result<crate::flann::flann_distance_t>;
		pub fn cv_flann_Index_getAlgorithm_const(instance: *const c_void) -> Result<crate::flann::flann_algorithm_t>;
		pub fn cv_flann_IndexParams_params(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_flann_IndexParams_setParams_voidX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_flann_IndexParams_IndexParams() -> Result<*mut c_void>;
		pub fn cv_flann_IndexParams_getString_const_const_StringX_const_StringX(instance: *const c_void, key: *const c_char, default_val: *const c_char) -> Result<*mut c_void>;
		pub fn cv_flann_IndexParams_getInt_const_const_StringX_int(instance: *const c_void, key: *const c_char, default_val: i32) -> Result<i32>;
		pub fn cv_flann_IndexParams_getDouble_const_const_StringX_double(instance: *const c_void, key: *const c_char, default_val: f64) -> Result<f64>;
		pub fn cv_flann_IndexParams_setString_const_StringX_const_StringX(instance: *mut c_void, key: *const c_char, value: *const c_char) -> Result_void;
		pub fn cv_flann_IndexParams_setInt_const_StringX_int(instance: *mut c_void, key: *const c_char, value: i32) -> Result_void;
		pub fn cv_flann_IndexParams_setDouble_const_StringX_double(instance: *mut c_void, key: *const c_char, value: f64) -> Result_void;
		pub fn cv_flann_IndexParams_setFloat_const_StringX_float(instance: *mut c_void, key: *const c_char, value: f32) -> Result_void;
		pub fn cv_flann_IndexParams_setBool_const_StringX_bool(instance: *mut c_void, key: *const c_char, value: bool) -> Result_void;
		pub fn cv_flann_IndexParams_setAlgorithm_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_flann_IndexParams_getAll_const_vector_String_X_vector_FlannIndexType_X_vector_String_X_vector_double_X(instance: *const c_void, names: *mut c_void, types: *mut c_void, str_values: *mut c_void, num_values: *mut c_void) -> Result_void;
		pub fn cv_flann_KDTreeIndexParams_KDTreeIndexParams_int(trees: i32) -> Result<*mut c_void>;
		pub fn cv_flann_KMeansIndexParams_KMeansIndexParams_int_int_flann_centers_init_t_float(branching: i32, iterations: i32, centers_init: crate::flann::flann_centers_init_t, cb_index: f32) -> Result<*mut c_void>;
		pub fn cv_flann_LinearIndexParams_LinearIndexParams() -> Result<*mut c_void>;
		pub fn cv_flann_LshIndexParams_LshIndexParams_int_int_int(table_number: i32, key_size: i32, multi_probe_level: i32) -> Result<*mut c_void>;
		pub fn cv_flann_SavedIndexParams_SavedIndexParams_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_flann_SearchParams_SearchParams_int_float_bool(checks: i32, eps: f32, sorted: bool) -> Result<*mut c_void>;
	}
}
pub use flann_sys::*;

#[cfg(feature = "contrib")]
mod freetype_sys {
	use super::*;

	extern "C" {
		pub fn cv_freetype_createFreeType2() -> Result<*mut c_void>;
		pub fn cv_freetype_FreeType2_loadFontData_String_int(instance: *mut c_void, font_file_name: *mut c_char, id: i32) -> Result_void;
		pub fn cv_freetype_FreeType2_setSplitNumber_int(instance: *mut c_void, num: i32) -> Result_void;
		pub fn cv_freetype_FreeType2_putText_const__InputOutputArrayX_const_StringX_Point_int_Scalar_int_int_bool(instance: *mut c_void, img: *const c_void, text: *const c_char, org: *const core::Point, font_height: i32, color: *const core::Scalar, thickness: i32, line_type: i32, bottom_left_origin: bool) -> Result_void;
		pub fn cv_freetype_FreeType2_getTextSize_const_StringX_int_int_intX(instance: *mut c_void, text: *const c_char, font_height: i32, thickness: i32, base_line: *mut i32) -> Result<core::Size>;
	}
}
#[cfg(feature = "contrib")]
pub use freetype_sys::*;

#[cfg(feature = "contrib")]
mod fuzzy_sys {
	use super::*;

	extern "C" {
		pub fn cv_ft_FT02D_FL_process_const__InputArrayX_int_const__OutputArrayX(matrix: *const c_void, radius: i32, output: *const c_void) -> Result_void;
		pub fn cv_ft_FT02D_FL_process_float_const__InputArrayX_int_const__OutputArrayX(matrix: *const c_void, radius: i32, output: *const c_void) -> Result_void;
		pub fn cv_ft_FT02D_components_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(matrix: *const c_void, kernel: *const c_void, components: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_ft_FT02D_inverseFT_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_int(components: *const c_void, kernel: *const c_void, output: *const c_void, width: i32, height: i32) -> Result_void;
		pub fn cv_ft_FT02D_iteration_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__OutputArrayX_bool(matrix: *const c_void, kernel: *const c_void, output: *const c_void, mask: *const c_void, mask_output: *const c_void, first_stop: bool) -> Result<i32>;
		pub fn cv_ft_FT02D_process_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(matrix: *const c_void, kernel: *const c_void, output: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_ft_FT12D_components_const__InputArrayX_const__InputArrayX_const__OutputArrayX(matrix: *const c_void, kernel: *const c_void, components: *const c_void) -> Result_void;
		pub fn cv_ft_FT12D_createPolynomMatrixHorizontal_int_const__OutputArrayX_int(radius: i32, matrix: *const c_void, chn: i32) -> Result_void;
		pub fn cv_ft_FT12D_createPolynomMatrixVertical_int_const__OutputArrayX_int(radius: i32, matrix: *const c_void, chn: i32) -> Result_void;
		pub fn cv_ft_FT12D_inverseFT_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_int(components: *const c_void, kernel: *const c_void, output: *const c_void, width: i32, height: i32) -> Result_void;
		pub fn cv_ft_FT12D_polynomial_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputArrayX(matrix: *const c_void, kernel: *const c_void, c00: *const c_void, c10: *const c_void, c01: *const c_void, components: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_ft_FT12D_process_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__InputArrayX(matrix: *const c_void, kernel: *const c_void, output: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_ft_createKernel_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int(a: *const c_void, b: *const c_void, kernel: *const c_void, chn: i32) -> Result_void;
		pub fn cv_ft_createKernel_int_int_const__OutputArrayX_int(function: i32, radius: i32, kernel: *const c_void, chn: i32) -> Result_void;
		pub fn cv_ft_filter_const__InputArrayX_const__InputArrayX_const__OutputArrayX(image: *const c_void, kernel: *const c_void, output: *const c_void) -> Result_void;
		pub fn cv_ft_inpaint_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_int_int(image: *const c_void, mask: *const c_void, output: *const c_void, radius: i32, function: i32, algorithm: i32) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use fuzzy_sys::*;

#[cfg(feature = "contrib")]
mod hdf_sys {
	use super::*;

	extern "C" {
		pub fn cv_hdf_open_const_StringX(hdf5_filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_hdf_HDF5_close(instance: *mut c_void) -> Result_void;
		pub fn cv_hdf_HDF5_grcreate_const_StringX(instance: *mut c_void, grlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_hlexists_const_const_StringX(instance: *const c_void, label: *const c_char) -> Result<bool>;
		pub fn cv_hdf_HDF5_atexists_const_const_StringX(instance: *const c_void, atlabel: *const c_char) -> Result<bool>;
		pub fn cv_hdf_HDF5_atdelete_const_StringX(instance: *mut c_void, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atwrite_int_const_StringX(instance: *mut c_void, value: i32, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atread_intX_const_StringX(instance: *mut c_void, value: *mut i32, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atwrite_double_const_StringX(instance: *mut c_void, value: f64, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atread_doubleX_const_StringX(instance: *mut c_void, value: *mut f64, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atwrite_const_StringX_const_StringX(instance: *mut c_void, value: *const c_char, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atread_StringX_const_StringX(instance: *mut c_void, value: *mut *mut c_void, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atwrite_const__InputArrayX_const_StringX(instance: *mut c_void, value: *const c_void, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_atread_const__OutputArrayX_const_StringX(instance: *mut c_void, value: *const c_void, atlabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_int_int_const_StringX(instance: *const c_void, rows: i32, cols: i32, typ: i32, dslabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_int_int_const_StringX_int(instance: *const c_void, rows: i32, cols: i32, typ: i32, dslabel: *const c_char, compresslevel: i32) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_int_int_const_StringX_int_const_vector_int_X(instance: *const c_void, rows: i32, cols: i32, typ: i32, dslabel: *const c_char, compresslevel: i32, dims_chunks: *const c_void) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_int_int_const_StringX_int_const_intX(instance: *const c_void, rows: i32, cols: i32, typ: i32, dslabel: *const c_char, compresslevel: i32, dims_chunks: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_const_intX_int_const_StringX(instance: *const c_void, n_dims: i32, sizes: *const i32, typ: i32, dslabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_const_intX_int_const_StringX_int(instance: *const c_void, n_dims: i32, sizes: *const i32, typ: i32, dslabel: *const c_char, compresslevel: i32) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_const_vector_int_X_int_const_StringX_int_const_vector_int_X(instance: *const c_void, sizes: *const c_void, typ: i32, dslabel: *const c_char, compresslevel: i32, dims_chunks: *const c_void) -> Result_void;
		pub fn cv_hdf_HDF5_dscreate_const_int_const_intX_int_const_StringX_int_const_intX(instance: *const c_void, n_dims: i32, sizes: *const i32, typ: i32, dslabel: *const c_char, compresslevel: i32, dims_chunks: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dsgetsize_const_const_StringX_int(instance: *const c_void, dslabel: *const c_char, dims_flag: i32) -> Result<*mut c_void>;
		pub fn cv_hdf_HDF5_dsgettype_const_const_StringX(instance: *const c_void, dslabel: *const c_char) -> Result<i32>;
		pub fn cv_hdf_HDF5_dswrite_const_const__InputArrayX_const_StringX(instance: *const c_void, array: *const c_void, dslabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dswrite_const_const__InputArrayX_const_StringX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dswrite_const_const__InputArrayX_const_StringX_const_vector_int_X_const_vector_int_X(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const c_void, dims_counts: *const c_void) -> Result_void;
		pub fn cv_hdf_HDF5_dswrite_const_const__InputArrayX_const_StringX_const_intX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32, dims_counts: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dsinsert_const_const__InputArrayX_const_StringX(instance: *const c_void, array: *const c_void, dslabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dsinsert_const_const__InputArrayX_const_StringX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dsinsert_const_const__InputArrayX_const_StringX_const_vector_int_X_const_vector_int_X(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const c_void, dims_counts: *const c_void) -> Result_void;
		pub fn cv_hdf_HDF5_dsinsert_const_const__InputArrayX_const_StringX_const_intX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32, dims_counts: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dsread_const_const__OutputArrayX_const_StringX(instance: *const c_void, array: *const c_void, dslabel: *const c_char) -> Result_void;
		pub fn cv_hdf_HDF5_dsread_const_const__OutputArrayX_const_StringX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_dsread_const_const__OutputArrayX_const_StringX_const_vector_int_X_const_vector_int_X(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const c_void, dims_counts: *const c_void) -> Result_void;
		pub fn cv_hdf_HDF5_dsread_const_const__OutputArrayX_const_StringX_const_intX_const_intX(instance: *const c_void, array: *const c_void, dslabel: *const c_char, dims_offset: *const i32, dims_counts: *const i32) -> Result_void;
		pub fn cv_hdf_HDF5_kpgetsize_const_const_StringX_int(instance: *const c_void, kplabel: *const c_char, dims_flag: i32) -> Result<i32>;
		pub fn cv_hdf_HDF5_kpcreate_const_int_const_StringX_int_int(instance: *const c_void, size: i32, kplabel: *const c_char, compresslevel: i32, chunks: i32) -> Result_void;
		pub fn cv_hdf_HDF5_kpwrite_const_vector_KeyPoint__const_StringX_int_int(instance: *const c_void, keypoints: *const c_void, kplabel: *const c_char, offset: i32, counts: i32) -> Result_void;
		pub fn cv_hdf_HDF5_kpinsert_const_vector_KeyPoint__const_StringX_int_int(instance: *const c_void, keypoints: *const c_void, kplabel: *const c_char, offset: i32, counts: i32) -> Result_void;
		pub fn cv_hdf_HDF5_kpread_const_vector_KeyPoint_X_const_StringX_int_int(instance: *const c_void, keypoints: *mut c_void, kplabel: *const c_char, offset: i32, counts: i32) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use hdf_sys::*;

mod highgui_sys {
	use super::*;

	extern "C" {
		pub fn cv_addText_const_MatX_const_StringX_Point_const_QtFontX(img: *const c_void, text: *const c_char, org: *const core::Point, font: *const c_void) -> Result_void;
		pub fn cv_addText_const_MatX_const_StringX_Point_const_StringX_int_Scalar_int_int_int(img: *const c_void, text: *const c_char, org: *const core::Point, name_font: *const c_char, point_size: i32, color: *const core::Scalar, weight: i32, style: i32, spacing: i32) -> Result_void;
		pub fn cv_createButton_const_StringX_ButtonCallback_voidX_int_bool(bar_name: *const c_char, on_change: Option<unsafe extern "C" fn(i32, *mut c_void) -> ()>, userdata: *mut c_void, typ: i32, initial_button_state: bool) -> Result<i32>;
		pub fn cv_createTrackbar_const_StringX_const_StringX_intX_int_TrackbarCallback_voidX(trackbarname: *const c_char, winname: *const c_char, value: *mut i32, count: i32, on_change: Option<unsafe extern "C" fn(i32, *mut c_void) -> ()>, userdata: *mut c_void) -> Result<i32>;
		pub fn cv_destroyAllWindows() -> Result_void;
		pub fn cv_destroyWindow_const_StringX(winname: *const c_char) -> Result_void;
		pub fn cv_displayOverlay_const_StringX_const_StringX_int(winname: *const c_char, text: *const c_char, delayms: i32) -> Result_void;
		pub fn cv_displayStatusBar_const_StringX_const_StringX_int(winname: *const c_char, text: *const c_char, delayms: i32) -> Result_void;
		pub fn cv_fontQt_const_StringX_int_Scalar_int_int_int(name_font: *const c_char, point_size: i32, color: *const core::Scalar, weight: i32, style: i32, spacing: i32) -> Result<*mut c_void>;
		pub fn cv_getMouseWheelDelta_int(flags: i32) -> Result<i32>;
		pub fn cv_getTrackbarPos_const_StringX_const_StringX(trackbarname: *const c_char, winname: *const c_char) -> Result<i32>;
		pub fn cv_getWindowImageRect_const_StringX(winname: *const c_char) -> Result<core::Rect>;
		pub fn cv_getWindowProperty_const_StringX_int(winname: *const c_char, prop_id: i32) -> Result<f64>;
		pub fn cv_imshow_const_StringX_const__InputArrayX(winname: *const c_char, mat: *const c_void) -> Result_void;
		pub fn cv_loadWindowParameters_const_StringX(window_name: *const c_char) -> Result_void;
		pub fn cv_moveWindow_const_StringX_int_int(winname: *const c_char, x: i32, y: i32) -> Result_void;
		pub fn cv_namedWindow_const_StringX_int(winname: *const c_char, flags: i32) -> Result_void;
		pub fn cv_resizeWindow_const_StringX_const_SizeX(winname: *const c_char, size: *const core::Size) -> Result_void;
		pub fn cv_resizeWindow_const_StringX_int_int(winname: *const c_char, width: i32, height: i32) -> Result_void;
		pub fn cv_saveWindowParameters_const_StringX(window_name: *const c_char) -> Result_void;
		pub fn cv_selectROI_const_StringX_const__InputArrayX_bool_bool(window_name: *const c_char, img: *const c_void, show_crosshair: bool, from_center: bool) -> Result<core::Rect>;
		pub fn cv_selectROI_const__InputArrayX_bool_bool(img: *const c_void, show_crosshair: bool, from_center: bool) -> Result<core::Rect>;
		pub fn cv_selectROIs_const_StringX_const__InputArrayX_vector_Rect_X_bool_bool(window_name: *const c_char, img: *const c_void, bounding_boxes: *mut c_void, show_crosshair: bool, from_center: bool) -> Result_void;
		pub fn cv_setMouseCallback_const_StringX_MouseCallback_voidX(winname: *const c_char, on_mouse: Option<unsafe extern "C" fn(i32, i32, i32, i32, *mut c_void) -> ()>, userdata: *mut c_void) -> Result_void;
		pub fn cv_setOpenGlContext_const_StringX(winname: *const c_char) -> Result_void;
		pub fn cv_setOpenGlDrawCallback_const_StringX_OpenGlDrawCallback_voidX(winname: *const c_char, on_opengl_draw: Option<unsafe extern "C" fn(*mut c_void) -> ()>, userdata: *mut c_void) -> Result_void;
		pub fn cv_setTrackbarMax_const_StringX_const_StringX_int(trackbarname: *const c_char, winname: *const c_char, maxval: i32) -> Result_void;
		pub fn cv_setTrackbarMin_const_StringX_const_StringX_int(trackbarname: *const c_char, winname: *const c_char, minval: i32) -> Result_void;
		pub fn cv_setTrackbarPos_const_StringX_const_StringX_int(trackbarname: *const c_char, winname: *const c_char, pos: i32) -> Result_void;
		pub fn cv_setWindowProperty_const_StringX_int_double(winname: *const c_char, prop_id: i32, prop_value: f64) -> Result_void;
		pub fn cv_setWindowTitle_const_StringX_const_StringX(winname: *const c_char, title: *const c_char) -> Result_void;
		pub fn cv_startLoop_int__X__int__charXX__int_charXX(pt2_func: Option<unsafe extern "C" fn(i32, *mut *mut c_char) -> i32>, argc: i32, argv: *mut *mut c_char) -> Result<i32>;
		pub fn cv_startWindowThread() -> Result<i32>;
		pub fn cv_stopLoop() -> Result_void;
		pub fn cv_updateWindow_const_StringX(winname: *const c_char) -> Result_void;
		pub fn cv_waitKeyEx_int(delay: i32) -> Result<i32>;
		pub fn cv_waitKey_int(delay: i32) -> Result<i32>;
		pub fn cv_QtFont_nameFont_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_QtFont_color_const(instance: *const c_void) -> Result<core::Scalar>;
		pub fn cv_QtFont_setColor_Scalar(instance: *mut c_void, val: *const core::Scalar) -> Result_void;
		pub fn cv_QtFont_font_face_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_QtFont_setFont_face_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_QtFont_ascii_const(instance: *const c_void) -> Result<*const i32>;
		pub fn cv_QtFont_greek_const(instance: *const c_void) -> Result<*const i32>;
		pub fn cv_QtFont_cyrillic_const(instance: *const c_void) -> Result<*const i32>;
		pub fn cv_QtFont_hscale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_QtFont_setHscale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_QtFont_vscale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_QtFont_setVscale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_QtFont_shear_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_QtFont_setShear_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_QtFont_thickness_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_QtFont_setThickness_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_QtFont_dx_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_QtFont_setDx_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_QtFont_line_type_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_QtFont_setLine_type_int(instance: *mut c_void, val: i32) -> Result_void;
	}
}
pub use highgui_sys::*;

#[cfg(feature = "contrib")]
mod img_hash_sys {
	use super::*;

	extern "C" {
		pub fn cv_img_hash_averageHash_const__InputArrayX_const__OutputArrayX(input_arr: *const c_void, output_arr: *const c_void) -> Result_void;
		pub fn cv_img_hash_blockMeanHash_const__InputArrayX_const__OutputArrayX_int(input_arr: *const c_void, output_arr: *const c_void, mode: i32) -> Result_void;
		pub fn cv_img_hash_colorMomentHash_const__InputArrayX_const__OutputArrayX(input_arr: *const c_void, output_arr: *const c_void) -> Result_void;
		pub fn cv_img_hash_marrHildrethHash_const__InputArrayX_const__OutputArrayX_float_float(input_arr: *const c_void, output_arr: *const c_void, alpha: f32, scale: f32) -> Result_void;
		pub fn cv_img_hash_pHash_const__InputArrayX_const__OutputArrayX(input_arr: *const c_void, output_arr: *const c_void) -> Result_void;
		pub fn cv_img_hash_radialVarianceHash_const__InputArrayX_const__OutputArrayX_double_int(input_arr: *const c_void, output_arr: *const c_void, sigma: f64, num_of_angle_line: i32) -> Result_void;
		pub fn cv_img_hash_AverageHash_create() -> Result<*mut c_void>;
		pub fn cv_img_hash_BlockMeanHash_setMode_int(instance: *mut c_void, mode: i32) -> Result_void;
		pub fn cv_img_hash_BlockMeanHash_getMean_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_img_hash_BlockMeanHash_create_int(mode: i32) -> Result<*mut c_void>;
		pub fn cv_img_hash_ColorMomentHash_create() -> Result<*mut c_void>;
		pub fn cv_img_hash_ImgHashBase_compute_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, input_arr: *const c_void, output_arr: *const c_void) -> Result_void;
		pub fn cv_img_hash_ImgHashBase_compare_const_const__InputArrayX_const__InputArrayX(instance: *const c_void, hash_one: *const c_void, hash_two: *const c_void) -> Result<f64>;
		pub fn cv_img_hash_MarrHildrethHash_getAlpha_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_img_hash_MarrHildrethHash_getScale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_img_hash_MarrHildrethHash_setKernelParam_float_float(instance: *mut c_void, alpha: f32, scale: f32) -> Result_void;
		pub fn cv_img_hash_MarrHildrethHash_create_float_float(alpha: f32, scale: f32) -> Result<*mut c_void>;
		pub fn cv_img_hash_PHash_create() -> Result<*mut c_void>;
		pub fn cv_img_hash_RadialVarianceHash_create_double_int(sigma: f64, num_of_angle_line: i32) -> Result<*mut c_void>;
		pub fn cv_img_hash_RadialVarianceHash_getNumOfAngleLine_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_img_hash_RadialVarianceHash_getSigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_img_hash_RadialVarianceHash_setNumOfAngleLine_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_img_hash_RadialVarianceHash_setSigma_double(instance: *mut c_void, value: f64) -> Result_void;
		pub fn cv_img_hash_RadialVarianceHash_getFeatures(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_img_hash_RadialVarianceHash_getHash(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_img_hash_RadialVarianceHash_getPixPerLine_const_MatX(instance: *mut c_void, input: *const c_void) -> Result<*mut c_void>;
		pub fn cv_img_hash_RadialVarianceHash_getProjection(instance: *mut c_void) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use img_hash_sys::*;

mod imgcodecs_sys {
	use super::*;

	extern "C" {
		pub fn cv_haveImageReader_const_StringX(filename: *const c_char) -> Result<bool>;
		pub fn cv_haveImageWriter_const_StringX(filename: *const c_char) -> Result<bool>;
		pub fn cv_imdecode_const__InputArrayX_int(buf: *const c_void, flags: i32) -> Result<*mut c_void>;
		pub fn cv_imdecode_const__InputArrayX_int_MatX(buf: *const c_void, flags: i32, dst: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_imencode_const_StringX_const__InputArrayX_vector_unsigned_char_X_const_vector_int_X(ext: *const c_char, img: *const c_void, buf: *mut c_void, params: *const c_void) -> Result<bool>;
		pub fn cv_imread_const_StringX_int(filename: *const c_char, flags: i32) -> Result<*mut c_void>;
		pub fn cv_imreadmulti_const_StringX_vector_Mat_X_int(filename: *const c_char, mats: *mut c_void, flags: i32) -> Result<bool>;
		pub fn cv_imwrite_const_StringX_const__InputArrayX_const_vector_int_X(filename: *const c_char, img: *const c_void, params: *const c_void) -> Result<bool>;
	}
}
pub use imgcodecs_sys::*;

mod imgproc_sys {
	use super::*;

	extern "C" {
		pub fn cv_Canny_const__InputArrayX_const__InputArrayX_const__OutputArrayX_double_double_bool(dx: *const c_void, dy: *const c_void, edges: *const c_void, threshold1: f64, threshold2: f64, l2gradient: bool) -> Result_void;
		pub fn cv_Canny_const__InputArrayX_const__OutputArrayX_double_double_int_bool(image: *const c_void, edges: *const c_void, threshold1: f64, threshold2: f64, aperture_size: i32, l2gradient: bool) -> Result_void;
		pub fn cv_EMD_const__InputArrayX_const__InputArrayX_int_const__InputArrayX_floatX_const__OutputArrayX(signature1: *const c_void, signature2: *const c_void, dist_type: i32, cost: *const c_void, lower_bound: *mut f32, flow: *const c_void) -> Result<f32>;
		pub fn cv_GaussianBlur_const__InputArrayX_const__OutputArrayX_Size_double_double_int(src: *const c_void, dst: *const c_void, ksize: *const core::Size, sigma_x: f64, sigma_y: f64, border_type: i32) -> Result_void;
		pub fn cv_HoughCircles_const__InputArrayX_const__OutputArrayX_int_double_double_double_double_int_int(image: *const c_void, circles: *const c_void, method: i32, dp: f64, min_dist: f64, param1: f64, param2: f64, min_radius: i32, max_radius: i32) -> Result_void;
		pub fn cv_HoughLinesP_const__InputArrayX_const__OutputArrayX_double_double_int_double_double(image: *const c_void, lines: *const c_void, rho: f64, theta: f64, threshold: i32, min_line_length: f64, max_line_gap: f64) -> Result_void;
		pub fn cv_HoughLinesPointSet_const__InputArrayX_const__OutputArrayX_int_int_double_double_double_double_double_double(_point: *const c_void, _lines: *const c_void, lines_max: i32, threshold: i32, min_rho: f64, max_rho: f64, rho_step: f64, min_theta: f64, max_theta: f64, theta_step: f64) -> Result_void;
		pub fn cv_HoughLines_const__InputArrayX_const__OutputArrayX_double_double_int_double_double_double_double(image: *const c_void, lines: *const c_void, rho: f64, theta: f64, threshold: i32, srn: f64, stn: f64, min_theta: f64, max_theta: f64) -> Result_void;
		pub fn cv_HuMoments_const_MomentsX_const__OutputArrayX(m: *const core::Moments, hu: *const c_void) -> Result_void;
		pub fn cv_HuMoments_const_MomentsX_double_X__7_(moments: *const core::Moments, hu: *mut [f64; 7]) -> Result_void;
		pub fn cv_Laplacian_const__InputArrayX_const__OutputArrayX_int_int_double_double_int(src: *const c_void, dst: *const c_void, ddepth: i32, ksize: i32, scale: f64, delta: f64, border_type: i32) -> Result_void;
		pub fn cv_Scharr_const__InputArrayX_const__OutputArrayX_int_int_int_double_double_int(src: *const c_void, dst: *const c_void, ddepth: i32, dx: i32, dy: i32, scale: f64, delta: f64, border_type: i32) -> Result_void;
		pub fn cv_Sobel_const__InputArrayX_const__OutputArrayX_int_int_int_int_double_double_int(src: *const c_void, dst: *const c_void, ddepth: i32, dx: i32, dy: i32, ksize: i32, scale: f64, delta: f64, border_type: i32) -> Result_void;
		pub fn cv_accumulateProduct_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputArrayX(src1: *const c_void, src2: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_accumulateSquare_const__InputArrayX_const__InputOutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_accumulateWeighted_const__InputArrayX_const__InputOutputArrayX_double_const__InputArrayX(src: *const c_void, dst: *const c_void, alpha: f64, mask: *const c_void) -> Result_void;
		pub fn cv_accumulate_const__InputArrayX_const__InputOutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_adaptiveThreshold_const__InputArrayX_const__OutputArrayX_double_int_int_int_double(src: *const c_void, dst: *const c_void, max_value: f64, adaptive_method: i32, threshold_type: i32, block_size: i32, c: f64) -> Result_void;
		pub fn cv_applyColorMap_const__InputArrayX_const__OutputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void, user_color: *const c_void) -> Result_void;
		pub fn cv_applyColorMap_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, colormap: i32) -> Result_void;
		pub fn cv_approxPolyDP_const__InputArrayX_const__OutputArrayX_double_bool(curve: *const c_void, approx_curve: *const c_void, epsilon: f64, closed: bool) -> Result_void;
		pub fn cv_arcLength_const__InputArrayX_bool(curve: *const c_void, closed: bool) -> Result<f64>;
		pub fn cv_arrowedLine_const__InputOutputArrayX_Point_Point_const_ScalarX_int_int_int_double(img: *const c_void, pt1: *const core::Point, pt2: *const core::Point, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32, tip_length: f64) -> Result_void;
		pub fn cv_bilateralFilter_const__InputArrayX_const__OutputArrayX_int_double_double_int(src: *const c_void, dst: *const c_void, d: i32, sigma_color: f64, sigma_space: f64, border_type: i32) -> Result_void;
		pub fn cv_blendLinear_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(src1: *const c_void, src2: *const c_void, weights1: *const c_void, weights2: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_blur_const__InputArrayX_const__OutputArrayX_Size_Point_int(src: *const c_void, dst: *const c_void, ksize: *const core::Size, anchor: *const core::Point, border_type: i32) -> Result_void;
		pub fn cv_boundingRect_const__InputArrayX(array: *const c_void) -> Result<core::Rect>;
		pub fn cv_boxFilter_const__InputArrayX_const__OutputArrayX_int_Size_Point_bool_int(src: *const c_void, dst: *const c_void, ddepth: i32, ksize: *const core::Size, anchor: *const core::Point, normalize: bool, border_type: i32) -> Result_void;
		pub fn cv_boxPoints_RotatedRect_const__OutputArrayX(box_: *mut c_void, points: *const c_void) -> Result_void;
		pub fn cv_buildPyramid_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, maxlevel: i32, border_type: i32) -> Result_void;
		pub fn cv_calcBackProject_const__InputArrayX_const_vector_int_X_const__InputArrayX_const__OutputArrayX_const_vector_float_X_double(images: *const c_void, channels: *const c_void, hist: *const c_void, dst: *const c_void, ranges: *const c_void, scale: f64) -> Result_void;
		pub fn cv_calcHist_const__InputArrayX_const_vector_int_X_const__InputArrayX_const__OutputArrayX_const_vector_int_X_const_vector_float_X_bool(images: *const c_void, channels: *const c_void, mask: *const c_void, hist: *const c_void, hist_size: *const c_void, ranges: *const c_void, accumulate: bool) -> Result_void;
		pub fn cv_circle_const__InputOutputArrayX_Point_int_const_ScalarX_int_int_int(img: *const c_void, center: *const core::Point, radius: i32, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_clipLine_Rect_PointX_PointX(img_rect: *const core::Rect, pt1: *mut core::Point, pt2: *mut core::Point) -> Result<bool>;
		pub fn cv_clipLine_Size2l_Point2lX_Point2lX(img_size: *const core::Size2l, pt1: *mut core::Point2l, pt2: *mut core::Point2l) -> Result<bool>;
		pub fn cv_clipLine_Size_PointX_PointX(img_size: *const core::Size, pt1: *mut core::Point, pt2: *mut core::Point) -> Result<bool>;
		pub fn cv_compareHist_const_SparseMatX_const_SparseMatX_int(h1: *const c_void, h2: *const c_void, method: i32) -> Result<f64>;
		pub fn cv_compareHist_const__InputArrayX_const__InputArrayX_int(h1: *const c_void, h2: *const c_void, method: i32) -> Result<f64>;
		pub fn cv_connectedComponentsWithStats_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_int(image: *const c_void, labels: *const c_void, stats: *const c_void, centroids: *const c_void, connectivity: i32, ltype: i32) -> Result<i32>;
		pub fn cv_connectedComponentsWithStats_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_int_int(image: *const c_void, labels: *const c_void, stats: *const c_void, centroids: *const c_void, connectivity: i32, ltype: i32, ccltype: i32) -> Result<i32>;
		pub fn cv_connectedComponents_const__InputArrayX_const__OutputArrayX_int_int(image: *const c_void, labels: *const c_void, connectivity: i32, ltype: i32) -> Result<i32>;
		pub fn cv_connectedComponents_const__InputArrayX_const__OutputArrayX_int_int_int(image: *const c_void, labels: *const c_void, connectivity: i32, ltype: i32, ccltype: i32) -> Result<i32>;
		pub fn cv_contourArea_const__InputArrayX_bool(contour: *const c_void, oriented: bool) -> Result<f64>;
		pub fn cv_convertMaps_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_bool(map1: *const c_void, map2: *const c_void, dstmap1: *const c_void, dstmap2: *const c_void, dstmap1type: i32, nninterpolation: bool) -> Result_void;
		pub fn cv_convexHull_const__InputArrayX_const__OutputArrayX_bool_bool(points: *const c_void, hull: *const c_void, clockwise: bool, return_points: bool) -> Result_void;
		pub fn cv_convexityDefects_const__InputArrayX_const__InputArrayX_const__OutputArrayX(contour: *const c_void, convexhull: *const c_void, convexity_defects: *const c_void) -> Result_void;
		pub fn cv_cornerEigenValsAndVecs_const__InputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, block_size: i32, ksize: i32, border_type: i32) -> Result_void;
		pub fn cv_cornerHarris_const__InputArrayX_const__OutputArrayX_int_int_double_int(src: *const c_void, dst: *const c_void, block_size: i32, ksize: i32, k: f64, border_type: i32) -> Result_void;
		pub fn cv_cornerMinEigenVal_const__InputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, block_size: i32, ksize: i32, border_type: i32) -> Result_void;
		pub fn cv_cornerSubPix_const__InputArrayX_const__InputOutputArrayX_Size_Size_TermCriteria(image: *const c_void, corners: *const c_void, win_size: *const core::Size, zero_zone: *const core::Size, criteria: *const core::TermCriteria) -> Result_void;
		pub fn cv_createCLAHE_double_Size(clip_limit: f64, tile_grid_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_createGeneralizedHoughBallard() -> Result<*mut c_void>;
		pub fn cv_createGeneralizedHoughGuil() -> Result<*mut c_void>;
		pub fn cv_createHanningWindow_const__OutputArrayX_Size_int(dst: *const c_void, win_size: *const core::Size, typ: i32) -> Result_void;
		pub fn cv_createLineSegmentDetector_int_double_double_double_double_double_double_int(_refine: i32, _scale: f64, _sigma_scale: f64, _quant: f64, _ang_th: f64, _log_eps: f64, _density_th: f64, _n_bins: i32) -> Result<*mut c_void>;
		pub fn cv_cvtColorTwoPlane_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int(src1: *const c_void, src2: *const c_void, dst: *const c_void, code: i32) -> Result_void;
		pub fn cv_cvtColor_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, code: i32, dst_cn: i32) -> Result_void;
		pub fn cv_demosaicing_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, code: i32, dst_cn: i32) -> Result_void;
		pub fn cv_dilate_const__InputArrayX_const__OutputArrayX_const__InputArrayX_Point_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, kernel: *const c_void, anchor: *const core::Point, iterations: i32, border_type: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_distanceTransform_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, labels: *const c_void, distance_type: i32, mask_size: i32, label_type: i32) -> Result_void;
		pub fn cv_distanceTransform_const__InputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, distance_type: i32, mask_size: i32, dst_type: i32) -> Result_void;
		pub fn cv_drawContours_const__InputOutputArrayX_const__InputArrayX_int_const_ScalarX_int_int_const__InputArrayX_int_Point(image: *const c_void, contours: *const c_void, contour_idx: i32, color: *const core::Scalar, thickness: i32, line_type: i32, hierarchy: *const c_void, max_level: i32, offset: *const core::Point) -> Result_void;
		pub fn cv_drawMarker_const__InputOutputArrayX_Point_const_ScalarX_int_int_int_int(img: *const c_void, position: *const core::Point, color: *const core::Scalar, marker_type: i32, marker_size: i32, thickness: i32, line_type: i32) -> Result_void;
		pub fn cv_ellipse2Poly_Point2d_Size2d_int_int_int_int_vector_Point2d_X(center: *const core::Point2d, axes: *const core::Size2d, angle: i32, arc_start: i32, arc_end: i32, delta: i32, pts: *mut c_void) -> Result_void;
		pub fn cv_ellipse2Poly_Point_Size_int_int_int_int_vector_Point_X(center: *const core::Point, axes: *const core::Size, angle: i32, arc_start: i32, arc_end: i32, delta: i32, pts: *mut c_void) -> Result_void;
		pub fn cv_ellipse_const__InputOutputArrayX_Point_Size_double_double_double_const_ScalarX_int_int_int(img: *const c_void, center: *const core::Point, axes: *const core::Size, angle: f64, start_angle: f64, end_angle: f64, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_ellipse_const__InputOutputArrayX_const_RotatedRectX_const_ScalarX_int_int(img: *const c_void, box_: *const c_void, color: *const core::Scalar, thickness: i32, line_type: i32) -> Result_void;
		pub fn cv_equalizeHist_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_erode_const__InputArrayX_const__OutputArrayX_const__InputArrayX_Point_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, kernel: *const c_void, anchor: *const core::Point, iterations: i32, border_type: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_fillConvexPoly_const__InputOutputArrayX_const__InputArrayX_const_ScalarX_int_int(img: *const c_void, points: *const c_void, color: *const core::Scalar, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_fillPoly_const__InputOutputArrayX_const__InputArrayX_const_ScalarX_int_int_Point(img: *const c_void, pts: *const c_void, color: *const core::Scalar, line_type: i32, shift: i32, offset: *const core::Point) -> Result_void;
		pub fn cv_filter2D_const__InputArrayX_const__OutputArrayX_int_const__InputArrayX_Point_double_int(src: *const c_void, dst: *const c_void, ddepth: i32, kernel: *const c_void, anchor: *const core::Point, delta: f64, border_type: i32) -> Result_void;
		pub fn cv_findContours_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_int_Point(image: *const c_void, contours: *const c_void, hierarchy: *const c_void, mode: i32, method: i32, offset: *const core::Point) -> Result_void;
		pub fn cv_findContours_const__InputArrayX_const__OutputArrayX_int_int_Point(image: *const c_void, contours: *const c_void, mode: i32, method: i32, offset: *const core::Point) -> Result_void;
		pub fn cv_fitEllipseAMS_const__InputArrayX(points: *const c_void) -> Result<*mut c_void>;
		pub fn cv_fitEllipseDirect_const__InputArrayX(points: *const c_void) -> Result<*mut c_void>;
		pub fn cv_fitEllipse_const__InputArrayX(points: *const c_void) -> Result<*mut c_void>;
		pub fn cv_fitLine_const__InputArrayX_const__OutputArrayX_int_double_double_double(points: *const c_void, line: *const c_void, dist_type: i32, param: f64, reps: f64, aeps: f64) -> Result_void;
		pub fn cv_floodFill_const__InputOutputArrayX_Point_Scalar_RectX_Scalar_Scalar_int(image: *const c_void, seed_point: *const core::Point, new_val: *const core::Scalar, rect: *mut core::Rect, lo_diff: *const core::Scalar, up_diff: *const core::Scalar, flags: i32) -> Result<i32>;
		pub fn cv_floodFill_const__InputOutputArrayX_const__InputOutputArrayX_Point_Scalar_RectX_Scalar_Scalar_int(image: *const c_void, mask: *const c_void, seed_point: *const core::Point, new_val: *const core::Scalar, rect: *mut core::Rect, lo_diff: *const core::Scalar, up_diff: *const core::Scalar, flags: i32) -> Result<i32>;
		pub fn cv_getAffineTransform_const_Point2fX_const_Point2fX(src: *const core::Point2f, dst: *const core::Point2f) -> Result<*mut c_void>;
		pub fn cv_getAffineTransform_const__InputArrayX_const__InputArrayX(src: *const c_void, dst: *const c_void) -> Result<*mut c_void>;
		pub fn cv_getDerivKernels_const__OutputArrayX_const__OutputArrayX_int_int_int_bool_int(kx: *const c_void, ky: *const c_void, dx: i32, dy: i32, ksize: i32, normalize: bool, ktype: i32) -> Result_void;
		pub fn cv_getFontScaleFromHeight_int_int_int(font_face: i32, pixel_height: i32, thickness: i32) -> Result<f64>;
		pub fn cv_getGaborKernel_Size_double_double_double_double_double_int(ksize: *const core::Size, sigma: f64, theta: f64, lambd: f64, gamma: f64, psi: f64, ktype: i32) -> Result<*mut c_void>;
		pub fn cv_getGaussianKernel_int_double_int(ksize: i32, sigma: f64, ktype: i32) -> Result<*mut c_void>;
		pub fn cv_getPerspectiveTransform_const_Point2fX_const_Point2fX_int(src: *const core::Point2f, dst: *const core::Point2f, solve_method: i32) -> Result<*mut c_void>;
		pub fn cv_getPerspectiveTransform_const__InputArrayX_const__InputArrayX_int(src: *const c_void, dst: *const c_void, solve_method: i32) -> Result<*mut c_void>;
		pub fn cv_getRectSubPix_const__InputArrayX_Size_Point2f_const__OutputArrayX_int(image: *const c_void, patch_size: *const core::Size, center: *const core::Point2f, patch: *const c_void, patch_type: i32) -> Result_void;
		pub fn cv_getRotationMatrix2D_Point2f_double_double(center: *const core::Point2f, angle: f64, scale: f64) -> Result<*mut c_void>;
		pub fn cv_getRotationMatrix2D__Point2f_double_double(center: *const core::Point2f, angle: f64, scale: f64) -> Result<core::Matx23d>;
		pub fn cv_getStructuringElement_int_Size_Point(shape: i32, ksize: *const core::Size, anchor: *const core::Point) -> Result<*mut c_void>;
		pub fn cv_getTextSize_const_StringX_int_double_int_intX(text: *const c_char, font_face: i32, font_scale: f64, thickness: i32, base_line: *mut i32) -> Result<core::Size>;
		pub fn cv_goodFeaturesToTrack_const__InputArrayX_const__OutputArrayX_int_double_double_const__InputArrayX_int_bool_double(image: *const c_void, corners: *const c_void, max_corners: i32, quality_level: f64, min_distance: f64, mask: *const c_void, block_size: i32, use_harris_detector: bool, k: f64) -> Result_void;
		pub fn cv_goodFeaturesToTrack_const__InputArrayX_const__OutputArrayX_int_double_double_const__InputArrayX_int_int_bool_double(image: *const c_void, corners: *const c_void, max_corners: i32, quality_level: f64, min_distance: f64, mask: *const c_void, block_size: i32, gradient_size: i32, use_harris_detector: bool, k: f64) -> Result_void;
		pub fn cv_grabCut_const__InputArrayX_const__InputOutputArrayX_Rect_const__InputOutputArrayX_const__InputOutputArrayX_int_int(img: *const c_void, mask: *const c_void, rect: *const core::Rect, bgd_model: *const c_void, fgd_model: *const c_void, iter_count: i32, mode: i32) -> Result_void;
		pub fn cv_integral_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_int(src: *const c_void, sum: *const c_void, sqsum: *const c_void, tilted: *const c_void, sdepth: i32, sqdepth: i32) -> Result_void;
		pub fn cv_integral_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_int(src: *const c_void, sum: *const c_void, sqsum: *const c_void, sdepth: i32, sqdepth: i32) -> Result_void;
		pub fn cv_integral_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, sum: *const c_void, sdepth: i32) -> Result_void;
		pub fn cv_intersectConvexConvex_const__InputArrayX_const__InputArrayX_const__OutputArrayX_bool(_p1: *const c_void, _p2: *const c_void, _p12: *const c_void, handle_nested: bool) -> Result<f32>;
		pub fn cv_invertAffineTransform_const__InputArrayX_const__OutputArrayX(m: *const c_void, i_m: *const c_void) -> Result_void;
		pub fn cv_isContourConvex_const__InputArrayX(contour: *const c_void) -> Result<bool>;
		pub fn cv_line_const__InputOutputArrayX_Point_Point_const_ScalarX_int_int_int(img: *const c_void, pt1: *const core::Point, pt2: *const core::Point, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_linearPolar_const__InputArrayX_const__OutputArrayX_Point2f_double_int(src: *const c_void, dst: *const c_void, center: *const core::Point2f, max_radius: f64, flags: i32) -> Result_void;
		pub fn cv_logPolar_const__InputArrayX_const__OutputArrayX_Point2f_double_int(src: *const c_void, dst: *const c_void, center: *const core::Point2f, m: f64, flags: i32) -> Result_void;
		pub fn cv_matchShapes_const__InputArrayX_const__InputArrayX_int_double(contour1: *const c_void, contour2: *const c_void, method: i32, parameter: f64) -> Result<f64>;
		pub fn cv_matchTemplate_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_const__InputArrayX(image: *const c_void, templ: *const c_void, result: *const c_void, method: i32, mask: *const c_void) -> Result_void;
		pub fn cv_medianBlur_const__InputArrayX_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, ksize: i32) -> Result_void;
		pub fn cv_minAreaRect_const__InputArrayX(points: *const c_void) -> Result<*mut c_void>;
		pub fn cv_minEnclosingCircle_const__InputArrayX_Point2fX_floatX(points: *const c_void, center: *mut core::Point2f, radius: *mut f32) -> Result_void;
		pub fn cv_minEnclosingTriangle_const__InputArrayX_const__OutputArrayX(points: *const c_void, triangle: *const c_void) -> Result<f64>;
		pub fn cv_moments_const__InputArrayX_bool(array: *const c_void, binary_image: bool) -> Result<core::Moments>;
		pub fn cv_morphologyDefaultBorderValue() -> Result<core::Scalar>;
		pub fn cv_morphologyEx_const__InputArrayX_const__OutputArrayX_int_const__InputArrayX_Point_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, op: i32, kernel: *const c_void, anchor: *const core::Point, iterations: i32, border_type: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_phaseCorrelate_const__InputArrayX_const__InputArrayX_const__InputArrayX_doubleX(src1: *const c_void, src2: *const c_void, window: *const c_void, response: *mut f64) -> Result<core::Point2d>;
		pub fn cv_pointPolygonTest_const__InputArrayX_Point2f_bool(contour: *const c_void, pt: *const core::Point2f, measure_dist: bool) -> Result<f64>;
		pub fn cv_polylines_const__InputOutputArrayX_const__InputArrayX_bool_const_ScalarX_int_int_int(img: *const c_void, pts: *const c_void, is_closed: bool, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_preCornerDetect_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, ksize: i32, border_type: i32) -> Result_void;
		pub fn cv_putText_const__InputOutputArrayX_const_StringX_Point_int_double_Scalar_int_int_bool(img: *const c_void, text: *const c_char, org: *const core::Point, font_face: i32, font_scale: f64, color: *const core::Scalar, thickness: i32, line_type: i32, bottom_left_origin: bool) -> Result_void;
		pub fn cv_pyrDown_const__InputArrayX_const__OutputArrayX_const_SizeX_int(src: *const c_void, dst: *const c_void, dstsize: *const core::Size, border_type: i32) -> Result_void;
		pub fn cv_pyrMeanShiftFiltering_const__InputArrayX_const__OutputArrayX_double_double_int_TermCriteria(src: *const c_void, dst: *const c_void, sp: f64, sr: f64, max_level: i32, termcrit: *const core::TermCriteria) -> Result_void;
		pub fn cv_pyrUp_const__InputArrayX_const__OutputArrayX_const_SizeX_int(src: *const c_void, dst: *const c_void, dstsize: *const core::Size, border_type: i32) -> Result_void;
		pub fn cv_rectangle_const__InputOutputArrayX_Point_Point_const_ScalarX_int_int_int(img: *const c_void, pt1: *const core::Point, pt2: *const core::Point, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_rectangle_const__InputOutputArrayX_Rect_const_ScalarX_int_int_int(img: *const c_void, rec: *const core::Rect, color: *const core::Scalar, thickness: i32, line_type: i32, shift: i32) -> Result_void;
		pub fn cv_remap_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, map1: *const c_void, map2: *const c_void, interpolation: i32, border_mode: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_resize_const__InputArrayX_const__OutputArrayX_Size_double_double_int(src: *const c_void, dst: *const c_void, dsize: *const core::Size, fx: f64, fy: f64, interpolation: i32) -> Result_void;
		pub fn cv_rotatedRectangleIntersection_const_RotatedRectX_const_RotatedRectX_const__OutputArrayX(rect1: *const c_void, rect2: *const c_void, intersecting_region: *const c_void) -> Result<i32>;
		pub fn cv_sepFilter2D_const__InputArrayX_const__OutputArrayX_int_const__InputArrayX_const__InputArrayX_Point_double_int(src: *const c_void, dst: *const c_void, ddepth: i32, kernel_x: *const c_void, kernel_y: *const c_void, anchor: *const core::Point, delta: f64, border_type: i32) -> Result_void;
		pub fn cv_spatialGradient_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int_int(src: *const c_void, dx: *const c_void, dy: *const c_void, ksize: i32, border_type: i32) -> Result_void;
		pub fn cv_sqrBoxFilter_const__InputArrayX_const__OutputArrayX_int_Size_Point_bool_int(src: *const c_void, dst: *const c_void, ddepth: i32, ksize: *const core::Size, anchor: *const core::Point, normalize: bool, border_type: i32) -> Result_void;
		pub fn cv_threshold_const__InputArrayX_const__OutputArrayX_double_double_int(src: *const c_void, dst: *const c_void, thresh: f64, maxval: f64, typ: i32) -> Result<f64>;
		pub fn cv_warpAffine_const__InputArrayX_const__OutputArrayX_const__InputArrayX_Size_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, m: *const c_void, dsize: *const core::Size, flags: i32, border_mode: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_warpPerspective_const__InputArrayX_const__OutputArrayX_const__InputArrayX_Size_int_int_const_ScalarX(src: *const c_void, dst: *const c_void, m: *const c_void, dsize: *const core::Size, flags: i32, border_mode: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_warpPolar_const__InputArrayX_const__OutputArrayX_Size_Point2f_double_int(src: *const c_void, dst: *const c_void, dsize: *const core::Size, center: *const core::Point2f, max_radius: f64, flags: i32) -> Result_void;
		pub fn cv_watershed_const__InputArrayX_const__InputOutputArrayX(image: *const c_void, markers: *const c_void) -> Result_void;
		pub fn cv_wrapperEMD_const__InputArrayX_const__InputArrayX_int_const__InputArrayX_Ptr_float__const__OutputArrayX(signature1: *const c_void, signature2: *const c_void, dist_type: i32, cost: *const c_void, lower_bound: *mut c_void, flow: *const c_void) -> Result<f32>;
		pub fn cv_CLAHE_apply_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_CLAHE_setClipLimit_double(instance: *mut c_void, clip_limit: f64) -> Result_void;
		pub fn cv_CLAHE_getClipLimit_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_CLAHE_setTilesGridSize_Size(instance: *mut c_void, tile_grid_size: *const core::Size) -> Result_void;
		pub fn cv_CLAHE_getTilesGridSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_CLAHE_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_GeneralizedHough_setTemplate_const__InputArrayX_Point(instance: *mut c_void, templ: *const c_void, templ_center: *const core::Point) -> Result_void;
		pub fn cv_GeneralizedHough_setTemplate_const__InputArrayX_const__InputArrayX_const__InputArrayX_Point(instance: *mut c_void, edges: *const c_void, dx: *const c_void, dy: *const c_void, templ_center: *const core::Point) -> Result_void;
		pub fn cv_GeneralizedHough_detect_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, positions: *const c_void, votes: *const c_void) -> Result_void;
		pub fn cv_GeneralizedHough_detect_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, edges: *const c_void, dx: *const c_void, dy: *const c_void, positions: *const c_void, votes: *const c_void) -> Result_void;
		pub fn cv_GeneralizedHough_setCannyLowThresh_int(instance: *mut c_void, canny_low_thresh: i32) -> Result_void;
		pub fn cv_GeneralizedHough_getCannyLowThresh_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHough_setCannyHighThresh_int(instance: *mut c_void, canny_high_thresh: i32) -> Result_void;
		pub fn cv_GeneralizedHough_getCannyHighThresh_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHough_setMinDist_double(instance: *mut c_void, min_dist: f64) -> Result_void;
		pub fn cv_GeneralizedHough_getMinDist_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHough_setDp_double(instance: *mut c_void, dp: f64) -> Result_void;
		pub fn cv_GeneralizedHough_getDp_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHough_setMaxBufferSize_int(instance: *mut c_void, max_buffer_size: i32) -> Result_void;
		pub fn cv_GeneralizedHough_getMaxBufferSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughBallard_setLevels_int(instance: *mut c_void, levels: i32) -> Result_void;
		pub fn cv_GeneralizedHoughBallard_getLevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughBallard_setVotesThreshold_int(instance: *mut c_void, votes_threshold: i32) -> Result_void;
		pub fn cv_GeneralizedHoughBallard_getVotesThreshold_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughGuil_setXi_double(instance: *mut c_void, xi: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getXi_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setLevels_int(instance: *mut c_void, levels: i32) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getLevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughGuil_setAngleEpsilon_double(instance: *mut c_void, angle_epsilon: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getAngleEpsilon_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setMinAngle_double(instance: *mut c_void, min_angle: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getMinAngle_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setMaxAngle_double(instance: *mut c_void, max_angle: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getMaxAngle_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setAngleStep_double(instance: *mut c_void, angle_step: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getAngleStep_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setAngleThresh_int(instance: *mut c_void, angle_thresh: i32) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getAngleThresh_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughGuil_setMinScale_double(instance: *mut c_void, min_scale: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getMinScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setMaxScale_double(instance: *mut c_void, max_scale: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getMaxScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setScaleStep_double(instance: *mut c_void, scale_step: f64) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getScaleStep_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_GeneralizedHoughGuil_setScaleThresh_int(instance: *mut c_void, scale_thresh: i32) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getScaleThresh_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_GeneralizedHoughGuil_setPosThresh_int(instance: *mut c_void, pos_thresh: i32) -> Result_void;
		pub fn cv_GeneralizedHoughGuil_getPosThresh_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_ptr(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_LineIterator_setPtr_unsigned_charX(instance: *mut c_void, val: *mut u8) -> Result_void;
		pub fn cv_LineIterator_ptr0_const(instance: *const c_void) -> Result<*const u8>;
		pub fn cv_LineIterator_step_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setStep_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_elemSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setElemSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_err_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setErr_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_count_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_minusDelta_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setMinusDelta_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_plusDelta_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setPlusDelta_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_minusStep_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setMinusStep_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_plusStep_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_LineIterator_setPlusStep_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_LineIterator_LineIterator_const_MatX_Point_Point_int_bool(img: *const c_void, pt1: *const core::Point, pt2: *const core::Point, connectivity: i32, left_to_right: bool) -> Result<*mut c_void>;
		pub fn cv_LineIterator_operatorX(instance: *mut c_void) -> Result<*mut u8>;
		pub fn cv_LineIterator_pos_const(instance: *const c_void) -> Result<core::Point>;
		pub fn cv_LineSegmentDetector_detect_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, _image: *const c_void, _lines: *const c_void, width: *const c_void, prec: *const c_void, nfa: *const c_void) -> Result_void;
		pub fn cv_LineSegmentDetector_drawSegments_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, _image: *const c_void, lines: *const c_void) -> Result_void;
		pub fn cv_LineSegmentDetector_compareSegments_const_SizeX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX(instance: *mut c_void, size: *const core::Size, lines1: *const c_void, lines2: *const c_void, _image: *const c_void) -> Result<i32>;
		pub fn cv_Subdiv2D_Subdiv2D() -> Result<*mut c_void>;
		pub fn cv_Subdiv2D_Subdiv2D_Rect(rect: *const core::Rect) -> Result<*mut c_void>;
		pub fn cv_Subdiv2D_initDelaunay_Rect(instance: *mut c_void, rect: *const core::Rect) -> Result_void;
		pub fn cv_Subdiv2D_insert_Point2f(instance: *mut c_void, pt: *const core::Point2f) -> Result<i32>;
		pub fn cv_Subdiv2D_insert_const_vector_Point2f_X(instance: *mut c_void, ptvec: *const c_void) -> Result_void;
		pub fn cv_Subdiv2D_locate_Point2f_intX_intX(instance: *mut c_void, pt: *const core::Point2f, edge: *mut i32, vertex: *mut i32) -> Result<i32>;
		pub fn cv_Subdiv2D_findNearest_Point2f_Point2fX(instance: *mut c_void, pt: *const core::Point2f, nearest_pt: *mut core::Point2f) -> Result<i32>;
		pub fn cv_Subdiv2D_getEdgeList_const_vector_Vec4f_X(instance: *const c_void, edge_list: *mut c_void) -> Result_void;
		pub fn cv_Subdiv2D_getLeadingEdgeList_const_vector_int_X(instance: *const c_void, leading_edge_list: *mut c_void) -> Result_void;
		pub fn cv_Subdiv2D_getTriangleList_const_vector_Vec6f_X(instance: *const c_void, triangle_list: *mut c_void) -> Result_void;
		pub fn cv_Subdiv2D_getVoronoiFacetList_const_vector_int_X_vector_vector_Point2f__X_vector_Point2f_X(instance: *mut c_void, idx: *const c_void, facet_list: *mut c_void, facet_centers: *mut c_void) -> Result_void;
		pub fn cv_Subdiv2D_getVertex_const_int_intX(instance: *const c_void, vertex: i32, first_edge: *mut i32) -> Result<core::Point2f>;
		pub fn cv_Subdiv2D_getEdge_const_int_int(instance: *const c_void, edge: i32, next_edge_type: i32) -> Result<i32>;
		pub fn cv_Subdiv2D_nextEdge_const_int(instance: *const c_void, edge: i32) -> Result<i32>;
		pub fn cv_Subdiv2D_rotateEdge_const_int_int(instance: *const c_void, edge: i32, rotate: i32) -> Result<i32>;
		pub fn cv_Subdiv2D_symEdge_const_int(instance: *const c_void, edge: i32) -> Result<i32>;
		pub fn cv_Subdiv2D_edgeOrg_const_int_Point2fX(instance: *const c_void, edge: i32, orgpt: *mut core::Point2f) -> Result<i32>;
		pub fn cv_Subdiv2D_edgeDst_const_int_Point2fX(instance: *const c_void, edge: i32, dstpt: *mut core::Point2f) -> Result<i32>;
	}
}
pub use imgproc_sys::*;

#[cfg(feature = "contrib")]
mod intensity_transform_sys {
	use super::*;

	extern "C" {
		pub fn cv_intensity_transform_autoscaling_Mat_MatX(input: *const c_void, output: *mut c_void) -> Result_void;
		pub fn cv_intensity_transform_contrastStretching_Mat_MatX_int_int_int_int(input: *const c_void, output: *mut c_void, r1: i32, s1: i32, r2: i32, s2: i32) -> Result_void;
		pub fn cv_intensity_transform_gammaCorrection_Mat_MatX_float(input: *const c_void, output: *mut c_void, gamma: f32) -> Result_void;
		pub fn cv_intensity_transform_logTransform_Mat_MatX(input: *const c_void, output: *mut c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use intensity_transform_sys::*;

#[cfg(feature = "contrib")]
mod line_descriptor_sys {
	use super::*;

	extern "C" {
		pub fn cv_line_descriptor_drawKeylines_const_MatX_const_vector_KeyLine_X_MatX_const_ScalarX_int(image: *const c_void, keylines: *const c_void, out_image: *mut c_void, color: *const core::Scalar, flags: i32) -> Result_void;
		pub fn cv_line_descriptor_drawLineMatches_const_MatX_const_vector_KeyLine_X_const_MatX_const_vector_KeyLine_X_const_vector_DMatch_X_MatX_const_ScalarX_const_ScalarX_const_vector_char_X_int(img1: *const c_void, keylines1: *const c_void, img2: *const c_void, keylines2: *const c_void, matches1to2: *const c_void, out_img: *mut c_void, match_color: *const core::Scalar, single_line_color: *const core::Scalar, matches_mask: *const c_void, flags: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_BinaryDescriptor_const_ParamsX(parameters: *const c_void) -> Result<*mut c_void>;
		pub fn cv_line_descriptor_BinaryDescriptor_createBinaryDescriptor() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_BinaryDescriptor_createBinaryDescriptor_Params(parameters: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_line_descriptor_BinaryDescriptor_getNumOfOctaves(instance: *mut c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_setNumOfOctaves_int(instance: *mut c_void, octaves: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_getWidthOfBand(instance: *mut c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_setWidthOfBand_int(instance: *mut c_void, width: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_getReductionRatio(instance: *mut c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_setReductionRatio_int(instance: *mut c_void, r_ratio: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_detect_const_MatX_vector_KeyLine_X_const_MatX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_detect_const_const_vector_Mat_X_vector_vector_KeyLine__X_const_vector_Mat_X(instance: *const c_void, images: *const c_void, keylines: *mut c_void, masks: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_compute_const_const_MatX_vector_KeyLine_X_MatX_bool(instance: *const c_void, image: *const c_void, keylines: *mut c_void, descriptors: *mut c_void, return_float_descr: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_compute_const_const_vector_Mat_X_vector_vector_KeyLine__X_vector_Mat_X_bool(instance: *const c_void, images: *const c_void, keylines: *mut c_void, descriptors: *mut c_void, return_float_descr: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_descriptorSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_descriptorType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_defaultNorm_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_numOfOctave__const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_setNumOfOctave__int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_widthOfBand__const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_setWidthOfBand__int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_reductionRatio_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_setReductionRatio_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_ksize__const(instance: *const c_void) -> Result<i32>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_setKsize__int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_Params() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptor_Params_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_match_const_const_MatX_const_MatX_vector_DMatch_X_const_MatX(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_match_const_MatX_vector_DMatch_X_const_vector_Mat_X(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, masks: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_knnMatch_const_const_MatX_const_MatX_vector_vector_DMatch__X_int_const_MatX_bool(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, k: i32, mask: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_knnMatch_const_MatX_vector_vector_DMatch__X_int_const_vector_Mat_X_bool(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, k: i32, masks: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_radiusMatch_const_const_MatX_const_MatX_vector_vector_DMatch__X_float_const_MatX_bool(instance: *const c_void, query_descriptors: *const c_void, train_descriptors: *const c_void, matches: *mut c_void, max_distance: f32, mask: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_radiusMatch_const_MatX_vector_vector_DMatch__X_float_const_vector_Mat_X_bool(instance: *mut c_void, query_descriptors: *const c_void, matches: *mut c_void, max_distance: f32, masks: *const c_void, compact_result: bool) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_add_const_vector_Mat_X(instance: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_train(instance: *mut c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_createBinaryDescriptorMatcher() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_clear(instance: *mut c_void) -> Result_void;
		pub fn cv_line_descriptor_BinaryDescriptorMatcher_BinaryDescriptorMatcher() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_KeyLine_getStartPoint_const(instance: *const crate::line_descriptor::KeyLine) -> Result<core::Point2f>;
		pub fn cv_line_descriptor_KeyLine_getEndPoint_const(instance: *const crate::line_descriptor::KeyLine) -> Result<core::Point2f>;
		pub fn cv_line_descriptor_KeyLine_getStartPointInOctave_const(instance: *const crate::line_descriptor::KeyLine) -> Result<core::Point2f>;
		pub fn cv_line_descriptor_KeyLine_getEndPointInOctave_const(instance: *const crate::line_descriptor::KeyLine) -> Result<core::Point2f>;
		pub fn cv_line_descriptor_KeyLine_KeyLine() -> Result<crate::line_descriptor::KeyLine>;
		pub fn cv_line_descriptor_LSDDetector_LSDDetector() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_LSDDetector_LSDDetector_LSDParam(_params: *const crate::line_descriptor::LSDParam) -> Result<*mut c_void>;
		pub fn cv_line_descriptor_LSDDetector_createLSDDetector() -> Result<*mut c_void>;
		pub fn cv_line_descriptor_LSDDetector_createLSDDetector_LSDParam(params: *const crate::line_descriptor::LSDParam) -> Result<*mut c_void>;
		pub fn cv_line_descriptor_LSDDetector_detect_const_MatX_vector_KeyLine_X_int_int_const_MatX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, scale: i32, num_octaves: i32, mask: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_LSDDetector_detect_const_const_vector_Mat_X_vector_vector_KeyLine__X_int_int_const_vector_Mat_X(instance: *const c_void, images: *const c_void, keylines: *mut c_void, scale: i32, num_octaves: i32, masks: *const c_void) -> Result_void;
		pub fn cv_line_descriptor_LSDParam_LSDParam() -> Result<crate::line_descriptor::LSDParam>;
	}
}
#[cfg(feature = "contrib")]
pub use line_descriptor_sys::*;

mod ml_sys {
	use super::*;

	extern "C" {
		pub fn cv_ml_createConcentricSpheresTestSet_int_int_int_const__OutputArrayX_const__OutputArrayX(nsamples: i32, nfeatures: i32, nclasses: i32, samples: *const c_void, responses: *const c_void) -> Result_void;
		pub fn cv_ml_randMVNormal_const__InputArrayX_const__InputArrayX_int_const__OutputArrayX(mean: *const c_void, cov: *const c_void, nsamples: i32, samples: *const c_void) -> Result_void;
		pub fn cv_ml_ANN_MLP_setTrainMethod_int_double_double(instance: *mut c_void, method: i32, param1: f64, param2: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getTrainMethod_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_ANN_MLP_setActivationFunction_int_double_double(instance: *mut c_void, typ: i32, param1: f64, param2: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_setLayerSizes_const__InputArrayX(instance: *mut c_void, _layer_sizes: *const c_void) -> Result_void;
		pub fn cv_ml_ANN_MLP_getLayerSizes_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_ANN_MLP_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_ANN_MLP_setTermCriteria_TermCriteria(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_ANN_MLP_getBackpropWeightScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setBackpropWeightScale_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getBackpropMomentumScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setBackpropMomentumScale_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getRpropDW0_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setRpropDW0_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getRpropDWPlus_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setRpropDWPlus_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getRpropDWMinus_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setRpropDWMinus_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getRpropDWMin_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setRpropDWMin_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getRpropDWMax_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setRpropDWMax_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getAnnealInitialT_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setAnnealInitialT_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getAnnealFinalT_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setAnnealFinalT_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getAnnealCoolingRatio_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ANN_MLP_setAnnealCoolingRatio_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ANN_MLP_getAnnealItePerStep_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_ANN_MLP_setAnnealItePerStep_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_ANN_MLP_setAnnealEnergyRNG_const_RNGX(instance: *mut c_void, rng: *const c_void) -> Result_void;
		pub fn cv_ml_ANN_MLP_getWeights_const_int(instance: *const c_void, layer_idx: i32) -> Result<*mut c_void>;
		pub fn cv_ml_ANN_MLP_create() -> Result<*mut c_void>;
		pub fn cv_ml_ANN_MLP_load_const_StringX(filepath: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_Boost_getBoostType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_Boost_setBoostType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_Boost_getWeakCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_Boost_setWeakCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_Boost_getWeightTrimRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_Boost_setWeightTrimRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_Boost_create() -> Result<*mut c_void>;
		pub fn cv_ml_Boost_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_getMaxCategories_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_setMaxCategories_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_getMaxDepth_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_setMaxDepth_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_getMinSampleCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_setMinSampleCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_getCVFolds_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_setCVFolds_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_getUseSurrogates_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_DTrees_setUseSurrogates_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_DTrees_getUse1SERule_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_DTrees_setUse1SERule_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_DTrees_getTruncatePrunedTree_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_DTrees_setTruncatePrunedTree_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_DTrees_getRegressionAccuracy_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_DTrees_setRegressionAccuracy_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_ml_DTrees_getPriors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_setPriors_const_MatX(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_ml_DTrees_getRoots_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_getNodes_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_getSplits_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_getSubsets_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_create() -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_Node_value_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_DTrees_Node_setValue_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_DTrees_Node_classIdx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setClassIdx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_parent_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setParent_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_left_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setLeft_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_right_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setRight_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_defaultDir_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setDefaultDir_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_split_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Node_setSplit_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Node_Node() -> Result<*mut c_void>;
		pub fn cv_ml_DTrees_Split_varIdx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Split_setVarIdx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Split_inversed_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_DTrees_Split_setInversed_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_DTrees_Split_quality_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_DTrees_Split_setQuality_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_ml_DTrees_Split_next_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Split_setNext_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Split_c_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_DTrees_Split_setC_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_ml_DTrees_Split_subsetOfs_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_DTrees_Split_setSubsetOfs_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_DTrees_Split_Split() -> Result<*mut c_void>;
		pub fn cv_ml_EM_getClustersNumber_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_EM_setClustersNumber_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_EM_getCovarianceMatrixType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_EM_setCovarianceMatrixType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_EM_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_EM_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_EM_getWeights_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_EM_getMeans_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_EM_getCovs_const_vector_Mat_X(instance: *const c_void, covs: *mut c_void) -> Result_void;
		pub fn cv_ml_EM_predict_const_const__InputArrayX_const__OutputArrayX_int(instance: *const c_void, samples: *const c_void, results: *const c_void, flags: i32) -> Result<f32>;
		pub fn cv_ml_EM_predict2_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, sample: *const c_void, probs: *const c_void) -> Result<core::Vec2d>;
		pub fn cv_ml_EM_trainEM_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, samples: *const c_void, log_likelihoods: *const c_void, labels: *const c_void, probs: *const c_void) -> Result<bool>;
		pub fn cv_ml_EM_trainE_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, samples: *const c_void, means0: *const c_void, covs0: *const c_void, weights0: *const c_void, log_likelihoods: *const c_void, labels: *const c_void, probs: *const c_void) -> Result<bool>;
		pub fn cv_ml_EM_trainM_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, samples: *const c_void, probs0: *const c_void, log_likelihoods: *const c_void, labels: *const c_void, probs: *const c_void) -> Result<bool>;
		pub fn cv_ml_EM_create() -> Result<*mut c_void>;
		pub fn cv_ml_EM_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_KNearest_getDefaultK_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_KNearest_setDefaultK_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_KNearest_getIsClassifier_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_KNearest_setIsClassifier_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_KNearest_getEmax_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_KNearest_setEmax_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_KNearest_getAlgorithmType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_KNearest_setAlgorithmType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_KNearest_findNearest_const_const__InputArrayX_int_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *const c_void, samples: *const c_void, k: i32, results: *const c_void, neighbor_responses: *const c_void, dist: *const c_void) -> Result<f32>;
		pub fn cv_ml_KNearest_create() -> Result<*mut c_void>;
		pub fn cv_ml_KNearest_load_const_StringX(filepath: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_LogisticRegression_getLearningRate_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_LogisticRegression_setLearningRate_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_LogisticRegression_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_LogisticRegression_setIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_LogisticRegression_getRegularization_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_LogisticRegression_setRegularization_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_LogisticRegression_getTrainMethod_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_LogisticRegression_setTrainMethod_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_LogisticRegression_getMiniBatchSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_LogisticRegression_setMiniBatchSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_LogisticRegression_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_LogisticRegression_setTermCriteria_TermCriteria(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_LogisticRegression_predict_const_const__InputArrayX_const__OutputArrayX_int(instance: *const c_void, samples: *const c_void, results: *const c_void, flags: i32) -> Result<f32>;
		pub fn cv_ml_LogisticRegression_get_learnt_thetas_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_LogisticRegression_create() -> Result<*mut c_void>;
		pub fn cv_ml_LogisticRegression_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_NormalBayesClassifier_predictProb_const_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_int(instance: *const c_void, inputs: *const c_void, outputs: *const c_void, output_probs: *const c_void, flags: i32) -> Result<f32>;
		pub fn cv_ml_NormalBayesClassifier_create() -> Result<*mut c_void>;
		pub fn cv_ml_NormalBayesClassifier_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_ParamGrid_minVal_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ParamGrid_setMinVal_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ParamGrid_maxVal_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ParamGrid_setMaxVal_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ParamGrid_logStep_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_ParamGrid_setLogStep_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_ParamGrid_ParamGrid() -> Result<*mut c_void>;
		pub fn cv_ml_ParamGrid_ParamGrid_double_double_double(_min_val: f64, _max_val: f64, _log_step: f64) -> Result<*mut c_void>;
		pub fn cv_ml_ParamGrid_create_double_double_double(min_val: f64, max_val: f64, logstep: f64) -> Result<*mut c_void>;
		pub fn cv_ml_RTrees_getCalculateVarImportance_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_RTrees_setCalculateVarImportance_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_ml_RTrees_getActiveVarCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_RTrees_setActiveVarCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_RTrees_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_RTrees_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_RTrees_getVarImportance_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_RTrees_getVotes_const_const__InputArrayX_const__OutputArrayX_int(instance: *const c_void, samples: *const c_void, results: *const c_void, flags: i32) -> Result_void;
		pub fn cv_ml_RTrees_create() -> Result<*mut c_void>;
		pub fn cv_ml_RTrees_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_getType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_SVM_setType_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ml_SVM_getGamma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setGamma_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getCoef0_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setCoef0_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getDegree_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setDegree_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getC_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setC_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getNu_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setNu_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getP_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_setP_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ml_SVM_getClassWeights_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_setClassWeights_const_MatX(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_ml_SVM_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_SVM_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_SVM_getKernelType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_SVM_setKernel_int(instance: *mut c_void, kernel_type: i32) -> Result_void;
		pub fn cv_ml_SVM_setCustomKernel_const_Ptr_Kernel_X(instance: *mut c_void, _kernel: *const c_void) -> Result_void;
		pub fn cv_ml_SVM_trainAuto_const_Ptr_TrainData_X_int_ParamGrid_ParamGrid_ParamGrid_ParamGrid_ParamGrid_ParamGrid_bool(instance: *mut c_void, data: *const c_void, k_fold: i32, cgrid: *mut c_void, gamma_grid: *mut c_void, p_grid: *mut c_void, nu_grid: *mut c_void, coeff_grid: *mut c_void, degree_grid: *mut c_void, balanced: bool) -> Result<bool>;
		pub fn cv_ml_SVM_trainAuto_const__InputArrayX_int_const__InputArrayX_int_Ptr_ParamGrid__Ptr_ParamGrid__Ptr_ParamGrid__Ptr_ParamGrid__Ptr_ParamGrid__Ptr_ParamGrid__bool(instance: *mut c_void, samples: *const c_void, layout: i32, responses: *const c_void, k_fold: i32, cgrid: *mut c_void, gamma_grid: *mut c_void, p_grid: *mut c_void, nu_grid: *mut c_void, coeff_grid: *mut c_void, degree_grid: *mut c_void, balanced: bool) -> Result<bool>;
		pub fn cv_ml_SVM_getSupportVectors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_getUncompressedSupportVectors_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_getDecisionFunction_const_int_const__OutputArrayX_const__OutputArrayX(instance: *const c_void, i: i32, alpha: *const c_void, svidx: *const c_void) -> Result<f64>;
		pub fn cv_ml_SVM_getDefaultGrid_int(param_id: i32) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_getDefaultGridPtr_int(param_id: i32) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_create() -> Result<*mut c_void>;
		pub fn cv_ml_SVM_load_const_StringX(filepath: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_SVM_Kernel_getType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_SVM_Kernel_calc_int_int_const_floatX_const_floatX_floatX(instance: *mut c_void, vcount: i32, n: i32, vecs: *const f32, another: *const f32, results: *mut f32) -> Result_void;
		pub fn cv_ml_SVMSGD_getWeights(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ml_SVMSGD_getShift(instance: *mut c_void) -> Result<f32>;
		pub fn cv_ml_SVMSGD_create() -> Result<*mut c_void>;
		pub fn cv_ml_SVMSGD_load_const_StringX_const_StringX(filepath: *const c_char, node_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_ml_SVMSGD_setOptimalParameters_int_int(instance: *mut c_void, svmsgd_type: i32, margin_type: i32) -> Result_void;
		pub fn cv_ml_SVMSGD_getSvmsgdType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_SVMSGD_setSvmsgdType_int(instance: *mut c_void, svmsgd_type: i32) -> Result_void;
		pub fn cv_ml_SVMSGD_getMarginType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_SVMSGD_setMarginType_int(instance: *mut c_void, margin_type: i32) -> Result_void;
		pub fn cv_ml_SVMSGD_getMarginRegularization_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_SVMSGD_setMarginRegularization_float(instance: *mut c_void, margin_regularization: f32) -> Result_void;
		pub fn cv_ml_SVMSGD_getInitialStepSize_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_SVMSGD_setInitialStepSize_float(instance: *mut c_void, initial_step_size: f32) -> Result_void;
		pub fn cv_ml_SVMSGD_getStepDecreasingPower_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ml_SVMSGD_setStepDecreasingPower_float(instance: *mut c_void, step_decreasing_power: f32) -> Result_void;
		pub fn cv_ml_SVMSGD_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_ml_SVMSGD_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, val: *const core::TermCriteria) -> Result_void;
		pub fn cv_ml_StatModel_getVarCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_StatModel_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_StatModel_isTrained_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_StatModel_isClassifier_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ml_StatModel_train_const_Ptr_TrainData_X_int(instance: *mut c_void, train_data: *const c_void, flags: i32) -> Result<bool>;
		pub fn cv_ml_StatModel_train_const__InputArrayX_int_const__InputArrayX(instance: *mut c_void, samples: *const c_void, layout: i32, responses: *const c_void) -> Result<bool>;
		pub fn cv_ml_StatModel_calcError_const_const_Ptr_TrainData_X_bool_const__OutputArrayX(instance: *const c_void, data: *const c_void, test: bool, resp: *const c_void) -> Result<f32>;
		pub fn cv_ml_StatModel_predict_const_const__InputArrayX_const__OutputArrayX_int(instance: *const c_void, samples: *const c_void, results: *const c_void, flags: i32) -> Result<f32>;
		pub fn cv_ml_TrainData_missingValue() -> Result<f32>;
		pub fn cv_ml_TrainData_getLayout_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getNTrainSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getNTestSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getNSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getNVars_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getNAllVars_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getSample_const_const__InputArrayX_int_floatX(instance: *const c_void, var_idx: *const c_void, sidx: i32, buf: *mut f32) -> Result_void;
		pub fn cv_ml_TrainData_getSamples_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getMissing_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTrainSamples_const_int_bool_bool(instance: *const c_void, layout: i32, compress_samples: bool, compress_vars: bool) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTrainResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTrainNormCatResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTestResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTestNormCatResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getNormCatResponses_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getSampleWeights_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTrainSampleWeights_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTestSampleWeights_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getVarIdx_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getVarType_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getVarSymbolFlags_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getResponseType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ml_TrainData_getTrainSampleIdx_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getTestSampleIdx_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getValues_const_int_const__InputArrayX_floatX(instance: *const c_void, vi: i32, sidx: *const c_void, values: *mut f32) -> Result_void;
		pub fn cv_ml_TrainData_getNormCatValues_const_int_const__InputArrayX_intX(instance: *const c_void, vi: i32, sidx: *const c_void, values: *mut i32) -> Result_void;
		pub fn cv_ml_TrainData_getDefaultSubstValues_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getCatCount_const_int(instance: *const c_void, vi: i32) -> Result<i32>;
		pub fn cv_ml_TrainData_getClassLabels_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getCatOfs_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getCatMap_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_setTrainTestSplit_int_bool(instance: *mut c_void, count: i32, shuffle: bool) -> Result_void;
		pub fn cv_ml_TrainData_setTrainTestSplitRatio_double_bool(instance: *mut c_void, ratio: f64, shuffle: bool) -> Result_void;
		pub fn cv_ml_TrainData_shuffleTrainTest(instance: *mut c_void) -> Result_void;
		pub fn cv_ml_TrainData_getTestSamples_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getNames_const_vector_String_X(instance: *const c_void, names: *mut c_void) -> Result_void;
		pub fn cv_ml_TrainData_getSubVector_const_MatX_const_MatX(vec: *const c_void, idx: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_getSubMatrix_const_MatX_const_MatX_int(matrix: *const c_void, idx: *const c_void, layout: i32) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_loadFromCSV_const_StringX_int_int_int_const_StringX_char_char(filename: *const c_char, header_line_count: i32, response_start_idx: i32, response_end_idx: i32, var_type_spec: *const c_char, delimiter: i8, missch: i8) -> Result<*mut c_void>;
		pub fn cv_ml_TrainData_create_const__InputArrayX_int_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(samples: *const c_void, layout: i32, responses: *const c_void, var_idx: *const c_void, sample_idx: *const c_void, sample_weights: *const c_void, var_type: *const c_void) -> Result<*mut c_void>;
	}
}
pub use ml_sys::*;

mod objdetect_sys {
	use super::*;

	extern "C" {
		pub fn cv_createFaceDetectionMaskGenerator() -> Result<*mut c_void>;
		pub fn cv_groupRectangles_meanshift_vector_Rect_X_vector_double_X_vector_double_X_double_Size(rect_list: *mut c_void, found_weights: *mut c_void, found_scales: *mut c_void, detect_threshold: f64, win_det_size: *const core::Size) -> Result_void;
		pub fn cv_groupRectangles_vector_Rect_X_int_double(rect_list: *mut c_void, group_threshold: i32, eps: f64) -> Result_void;
		pub fn cv_groupRectangles_vector_Rect_X_int_double_vector_int_X_vector_double_X(rect_list: *mut c_void, group_threshold: i32, eps: f64, weights: *mut c_void, level_weights: *mut c_void) -> Result_void;
		pub fn cv_groupRectangles_vector_Rect_X_vector_int_X_int_double(rect_list: *mut c_void, weights: *mut c_void, group_threshold: i32, eps: f64) -> Result_void;
		pub fn cv_groupRectangles_vector_Rect_X_vector_int_X_vector_double_X_int_double(rect_list: *mut c_void, reject_levels: *mut c_void, level_weights: *mut c_void, group_threshold: i32, eps: f64) -> Result_void;
		pub fn cv_BaseCascadeClassifier_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_BaseCascadeClassifier_load_const_StringX(instance: *mut c_void, filename: *const c_char) -> Result<bool>;
		pub fn cv_BaseCascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_double_int_int_Size_Size(instance: *mut c_void, image: *const c_void, objects: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size) -> Result_void;
		pub fn cv_BaseCascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_vector_int_X_double_int_int_Size_Size(instance: *mut c_void, image: *const c_void, objects: *mut c_void, num_detections: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size) -> Result_void;
		pub fn cv_BaseCascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_vector_int_X_vector_double_X_double_int_int_Size_Size_bool(instance: *mut c_void, image: *const c_void, objects: *mut c_void, reject_levels: *mut c_void, level_weights: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size, output_reject_levels: bool) -> Result_void;
		pub fn cv_BaseCascadeClassifier_isOldFormatCascade_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_BaseCascadeClassifier_getOriginalWindowSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_BaseCascadeClassifier_getFeatureType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BaseCascadeClassifier_getOldCascade(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_BaseCascadeClassifier_setMaskGenerator_const_Ptr_MaskGenerator_X(instance: *mut c_void, mask_generator: *const c_void) -> Result_void;
		pub fn cv_BaseCascadeClassifier_getMaskGenerator(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_BaseCascadeClassifier_MaskGenerator_generateMask_const_MatX(instance: *mut c_void, src: *const c_void) -> Result<*mut c_void>;
		pub fn cv_BaseCascadeClassifier_MaskGenerator_initializeMask_const_MatX(instance: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_CascadeClassifier_cc(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_CascadeClassifier_setCc_Ptr_BaseCascadeClassifier_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_CascadeClassifier_CascadeClassifier() -> Result<*mut c_void>;
		pub fn cv_CascadeClassifier_CascadeClassifier_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_CascadeClassifier_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_CascadeClassifier_load_const_StringX(instance: *mut c_void, filename: *const c_char) -> Result<bool>;
		pub fn cv_CascadeClassifier_read_const_FileNodeX(instance: *mut c_void, node: *const c_void) -> Result<bool>;
		pub fn cv_CascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_double_int_int_Size_Size(instance: *mut c_void, image: *const c_void, objects: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size) -> Result_void;
		pub fn cv_CascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_vector_int_X_double_int_int_Size_Size(instance: *mut c_void, image: *const c_void, objects: *mut c_void, num_detections: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size) -> Result_void;
		pub fn cv_CascadeClassifier_detectMultiScale_const__InputArrayX_vector_Rect_X_vector_int_X_vector_double_X_double_int_int_Size_Size_bool(instance: *mut c_void, image: *const c_void, objects: *mut c_void, reject_levels: *mut c_void, level_weights: *mut c_void, scale_factor: f64, min_neighbors: i32, flags: i32, min_size: *const core::Size, max_size: *const core::Size, output_reject_levels: bool) -> Result_void;
		pub fn cv_CascadeClassifier_isOldFormatCascade_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_CascadeClassifier_getOriginalWindowSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_CascadeClassifier_getFeatureType_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_CascadeClassifier_getOldCascade(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_CascadeClassifier_convert_const_StringX_const_StringX(oldcascade: *const c_char, newcascade: *const c_char) -> Result<bool>;
		pub fn cv_CascadeClassifier_setMaskGenerator_const_Ptr_MaskGenerator_X(instance: *mut c_void, mask_generator: *const c_void) -> Result_void;
		pub fn cv_CascadeClassifier_getMaskGenerator(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_DetectionBasedTracker_DetectionBasedTracker_Ptr_IDetector__Ptr_IDetector__const_ParametersX(main_detector: *mut c_void, tracking_detector: *mut c_void, params: *const c_void) -> Result<*mut c_void>;
		pub fn cv_DetectionBasedTracker_run(instance: *mut c_void) -> Result<bool>;
		pub fn cv_DetectionBasedTracker_stop(instance: *mut c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_resetTracking(instance: *mut c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_process_const_MatX(instance: *mut c_void, image_gray: *const c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_setParameters_const_ParametersX(instance: *mut c_void, params: *const c_void) -> Result<bool>;
		pub fn cv_DetectionBasedTracker_getParameters_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_DetectionBasedTracker_getObjects_const_vector_Rect_X(instance: *const c_void, result: *mut c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_getObjects_const_vector_ExtObject_X(instance: *const c_void, result: *mut c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_addObject_const_RectX(instance: *mut c_void, location: *const core::Rect) -> Result<i32>;
		pub fn cv_DetectionBasedTracker_ExtObject_id_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DetectionBasedTracker_ExtObject_setId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DetectionBasedTracker_ExtObject_location_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_DetectionBasedTracker_ExtObject_setLocation_Rect(instance: *mut c_void, val: *const core::Rect) -> Result_void;
		pub fn cv_DetectionBasedTracker_ExtObject_status_const(instance: *const c_void) -> Result<crate::objdetect::DetectionBasedTracker_ObjectStatus>;
		pub fn cv_DetectionBasedTracker_ExtObject_setStatus_ObjectStatus(instance: *mut c_void, val: crate::objdetect::DetectionBasedTracker_ObjectStatus) -> Result_void;
		pub fn cv_DetectionBasedTracker_ExtObject_ExtObject_int_Rect_ObjectStatus(_id: i32, _location: *const core::Rect, _status: crate::objdetect::DetectionBasedTracker_ObjectStatus) -> Result<*mut c_void>;
		pub fn cv_DetectionBasedTracker_IDetector_detect_const_MatX_vector_Rect_X(instance: *mut c_void, image: *const c_void, objects: *mut c_void) -> Result_void;
		pub fn cv_DetectionBasedTracker_IDetector_setMinObjectSize_const_SizeX(instance: *mut c_void, min: *const core::Size) -> Result_void;
		pub fn cv_DetectionBasedTracker_IDetector_setMaxObjectSize_const_SizeX(instance: *mut c_void, max: *const core::Size) -> Result_void;
		pub fn cv_DetectionBasedTracker_IDetector_getMinObjectSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_DetectionBasedTracker_IDetector_getMaxObjectSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_DetectionBasedTracker_IDetector_getScaleFactor(instance: *mut c_void) -> Result<f32>;
		pub fn cv_DetectionBasedTracker_IDetector_setScaleFactor_float(instance: *mut c_void, value: f32) -> Result_void;
		pub fn cv_DetectionBasedTracker_IDetector_getMinNeighbours(instance: *mut c_void) -> Result<i32>;
		pub fn cv_DetectionBasedTracker_IDetector_setMinNeighbours_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_DetectionBasedTracker_Parameters_maxTrackLifetime_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DetectionBasedTracker_Parameters_setMaxTrackLifetime_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DetectionBasedTracker_Parameters_minDetectionPeriod_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DetectionBasedTracker_Parameters_setMinDetectionPeriod_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DetectionBasedTracker_Parameters_Parameters() -> Result<*mut c_void>;
		pub fn cv_DetectionROI_scale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_DetectionROI_setScale_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_DetectionROI_locations(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_DetectionROI_setLocations_vector_Point_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_DetectionROI_confidences(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_DetectionROI_setConfidences_vector_double_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_HOGDescriptor_winSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_HOGDescriptor_setWinSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_blockSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_HOGDescriptor_setBlockSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_blockStride_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_HOGDescriptor_setBlockStride_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_cellSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_HOGDescriptor_setCellSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_nbins_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HOGDescriptor_setNbins_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_HOGDescriptor_derivAperture_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HOGDescriptor_setDerivAperture_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_HOGDescriptor_winSigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_HOGDescriptor_setWinSigma_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_HOGDescriptor_histogramNormType_const(instance: *const c_void) -> Result<crate::objdetect::HOGDescriptor_HistogramNormType>;
		pub fn cv_HOGDescriptor_setHistogramNormType_HistogramNormType(instance: *mut c_void, val: crate::objdetect::HOGDescriptor_HistogramNormType) -> Result_void;
		pub fn cv_HOGDescriptor_L2HysThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_HOGDescriptor_setL2HysThreshold_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_HOGDescriptor_gammaCorrection_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_HOGDescriptor_setGammaCorrection_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_HOGDescriptor_svmDetector(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_setSvmDetector_vector_float_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_HOGDescriptor_oclSvmDetector(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_setOclSvmDetector_UMat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_HOGDescriptor_free_coef_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_HOGDescriptor_setFree_coef_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_HOGDescriptor_nlevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HOGDescriptor_setNlevels_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_HOGDescriptor_signedGradient_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_HOGDescriptor_setSignedGradient_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_HOGDescriptor_HOGDescriptor() -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_HOGDescriptor_Size_Size_Size_Size_int_int_double_HistogramNormType_double_bool_int_bool(_win_size: *const core::Size, _block_size: *const core::Size, _block_stride: *const core::Size, _cell_size: *const core::Size, _nbins: i32, _deriv_aperture: i32, _win_sigma: f64, _histogram_norm_type: crate::objdetect::HOGDescriptor_HistogramNormType, _l2_hys_threshold: f64, _gamma_correction: bool, _nlevels: i32, _signed_gradient: bool) -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_HOGDescriptor_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_HOGDescriptor_const_HOGDescriptorX(d: *const c_void) -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_getDescriptorSize_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_HOGDescriptor_checkDetectorSize_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_HOGDescriptor_getWinSigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_HOGDescriptor_setSVMDetector_const__InputArrayX(instance: *mut c_void, svmdetector: *const c_void) -> Result_void;
		pub fn cv_HOGDescriptor_read_FileNodeX(instance: *mut c_void, fn_: *mut c_void) -> Result<bool>;
		pub fn cv_HOGDescriptor_write_const_FileStorageX_const_StringX(instance: *const c_void, fs: *mut c_void, objname: *const c_char) -> Result_void;
		pub fn cv_HOGDescriptor_load_const_StringX_const_StringX(instance: *mut c_void, filename: *const c_char, objname: *const c_char) -> Result<bool>;
		pub fn cv_HOGDescriptor_save_const_const_StringX_const_StringX(instance: *const c_void, filename: *const c_char, objname: *const c_char) -> Result_void;
		pub fn cv_HOGDescriptor_copyTo_const_HOGDescriptorX(instance: *const c_void, c: *mut c_void) -> Result_void;
		pub fn cv_HOGDescriptor_compute_const_const__InputArrayX_vector_float_X_Size_Size_const_vector_Point_X(instance: *const c_void, img: *const c_void, descriptors: *mut c_void, win_stride: *const core::Size, padding: *const core::Size, locations: *const c_void) -> Result_void;
		pub fn cv_HOGDescriptor_detect_const_const__InputArrayX_vector_Point_X_vector_double_X_double_Size_Size_const_vector_Point_X(instance: *const c_void, img: *const c_void, found_locations: *mut c_void, weights: *mut c_void, hit_threshold: f64, win_stride: *const core::Size, padding: *const core::Size, search_locations: *const c_void) -> Result_void;
		pub fn cv_HOGDescriptor_detect_const_const__InputArrayX_vector_Point_X_double_Size_Size_const_vector_Point_X(instance: *const c_void, img: *const c_void, found_locations: *mut c_void, hit_threshold: f64, win_stride: *const core::Size, padding: *const core::Size, search_locations: *const c_void) -> Result_void;
		pub fn cv_HOGDescriptor_detectMultiScale_const_const__InputArrayX_vector_Rect_X_vector_double_X_double_Size_Size_double_double_bool(instance: *const c_void, img: *const c_void, found_locations: *mut c_void, found_weights: *mut c_void, hit_threshold: f64, win_stride: *const core::Size, padding: *const core::Size, scale: f64, final_threshold: f64, use_meanshift_grouping: bool) -> Result_void;
		pub fn cv_HOGDescriptor_detectMultiScale_const_const__InputArrayX_vector_Rect_X_double_Size_Size_double_double_bool(instance: *const c_void, img: *const c_void, found_locations: *mut c_void, hit_threshold: f64, win_stride: *const core::Size, padding: *const core::Size, scale: f64, final_threshold: f64, use_meanshift_grouping: bool) -> Result_void;
		pub fn cv_HOGDescriptor_computeGradient_const_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_Size_Size(instance: *const c_void, img: *const c_void, grad: *const c_void, angle_ofs: *const c_void, padding_tl: *const core::Size, padding_br: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_getDefaultPeopleDetector() -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_getDaimlerPeopleDetector() -> Result<*mut c_void>;
		pub fn cv_HOGDescriptor_detectROI_const_const__InputArrayX_const_vector_Point_X_vector_Point_X_vector_double_X_double_Size_Size(instance: *const c_void, img: *const c_void, locations: *const c_void, found_locations: *mut c_void, confidences: *mut c_void, hit_threshold: f64, win_stride: *const core::Size, padding: *const core::Size) -> Result_void;
		pub fn cv_HOGDescriptor_detectMultiScaleROI_const_const__InputArrayX_vector_Rect_X_vector_DetectionROI_X_double_int(instance: *const c_void, img: *const c_void, found_locations: *mut c_void, locations: *mut c_void, hit_threshold: f64, group_threshold: i32) -> Result_void;
		pub fn cv_HOGDescriptor_groupRectangles_const_vector_Rect_X_vector_double_X_int_double(instance: *const c_void, rect_list: *mut c_void, weights: *mut c_void, group_threshold: i32, eps: f64) -> Result_void;
		pub fn cv_QRCodeDetector_QRCodeDetector() -> Result<*mut c_void>;
		pub fn cv_QRCodeDetector_setEpsX_double(instance: *mut c_void, eps_x: f64) -> Result_void;
		pub fn cv_QRCodeDetector_setEpsY_double(instance: *mut c_void, eps_y: f64) -> Result_void;
		pub fn cv_QRCodeDetector_detect_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, img: *const c_void, points: *const c_void) -> Result<bool>;
		pub fn cv_QRCodeDetector_decode_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, img: *const c_void, points: *const c_void, straight_qrcode: *const c_void) -> Result<*mut c_void>;
		pub fn cv_QRCodeDetector_detectAndDecode_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, img: *const c_void, points: *const c_void, straight_qrcode: *const c_void) -> Result<*mut c_void>;
		pub fn cv_QRCodeDetector_detectMulti_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, img: *const c_void, points: *const c_void) -> Result<bool>;
		pub fn cv_QRCodeDetector_decodeMulti_const_const__InputArrayX_const__InputArrayX_vector_string_X_const__OutputArrayX(instance: *const c_void, img: *const c_void, points: *const c_void, decoded_info: *mut c_void, straight_qrcode: *const c_void) -> Result<bool>;
		pub fn cv_QRCodeDetector_detectAndDecodeMulti_const_const__InputArrayX_vector_string_X_const__OutputArrayX_const__OutputArrayX(instance: *const c_void, img: *const c_void, decoded_info: *mut c_void, points: *const c_void, straight_qrcode: *const c_void) -> Result<bool>;
		pub fn cv_SimilarRects_eps_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_SimilarRects_setEps_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_SimilarRects_SimilarRects_double(_eps: f64) -> Result<*mut c_void>;
	}
}
pub use objdetect_sys::*;

#[cfg(feature = "contrib")]
mod phase_unwrapping_sys {
	use super::*;

	extern "C" {
		pub fn cv_phase_unwrapping_HistogramPhaseUnwrapping_create_const_ParamsX(parameters: *const crate::phase_unwrapping::HistogramPhaseUnwrapping_Params) -> Result<*mut c_void>;
		pub fn cv_phase_unwrapping_HistogramPhaseUnwrapping_getInverseReliabilityMap_const__OutputArrayX(instance: *mut c_void, reliability_map: *const c_void) -> Result_void;
		pub fn cv_phase_unwrapping_HistogramPhaseUnwrapping_Params_Params() -> Result<crate::phase_unwrapping::HistogramPhaseUnwrapping_Params>;
		pub fn cv_phase_unwrapping_PhaseUnwrapping_unwrapPhaseMap_const__InputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, wrapped_phase_map: *const c_void, unwrapped_phase_map: *const c_void, shadow_mask: *const c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use phase_unwrapping_sys::*;

mod photo_sys {
	use super::*;

	extern "C" {
		pub fn cv_colorChange_const__InputArrayX_const__InputArrayX_const__OutputArrayX_float_float_float(src: *const c_void, mask: *const c_void, dst: *const c_void, red_mul: f32, green_mul: f32, blue_mul: f32) -> Result_void;
		pub fn cv_createAlignMTB_int_int_bool(max_bits: i32, exclude_range: i32, cut: bool) -> Result<*mut c_void>;
		pub fn cv_createCalibrateDebevec_int_float_bool(samples: i32, lambda: f32, random: bool) -> Result<*mut c_void>;
		pub fn cv_createCalibrateRobertson_int_float(max_iter: i32, threshold: f32) -> Result<*mut c_void>;
		pub fn cv_createMergeDebevec() -> Result<*mut c_void>;
		pub fn cv_createMergeMertens_float_float_float(contrast_weight: f32, saturation_weight: f32, exposure_weight: f32) -> Result<*mut c_void>;
		pub fn cv_createMergeRobertson() -> Result<*mut c_void>;
		pub fn cv_createTonemapDrago_float_float_float(gamma: f32, saturation: f32, bias: f32) -> Result<*mut c_void>;
		pub fn cv_createTonemapMantiuk_float_float_float(gamma: f32, scale: f32, saturation: f32) -> Result<*mut c_void>;
		pub fn cv_createTonemapReinhard_float_float_float_float(gamma: f32, intensity: f32, light_adapt: f32, color_adapt: f32) -> Result<*mut c_void>;
		pub fn cv_createTonemap_float(gamma: f32) -> Result<*mut c_void>;
		pub fn cv_decolor_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(src: *const c_void, grayscale: *const c_void, color_boost: *const c_void) -> Result_void;
		pub fn cv_denoise_TVL1_const_vector_Mat_X_MatX_double_int(observations: *const c_void, result: *mut c_void, lambda: f64, niters: i32) -> Result_void;
		pub fn cv_detailEnhance_const__InputArrayX_const__OutputArrayX_float_float(src: *const c_void, dst: *const c_void, sigma_s: f32, sigma_r: f32) -> Result_void;
		pub fn cv_edgePreservingFilter_const__InputArrayX_const__OutputArrayX_int_float_float(src: *const c_void, dst: *const c_void, flags: i32, sigma_s: f32, sigma_r: f32) -> Result_void;
		pub fn cv_fastNlMeansDenoisingColoredMulti_const__InputArrayX_const__OutputArrayX_int_int_float_float_int_int(src_imgs: *const c_void, dst: *const c_void, img_to_denoise_index: i32, temporal_window_size: i32, h: f32, h_color: f32, template_window_size: i32, search_window_size: i32) -> Result_void;
		pub fn cv_fastNlMeansDenoisingColored_const__InputArrayX_const__OutputArrayX_float_float_int_int(src: *const c_void, dst: *const c_void, h: f32, h_color: f32, template_window_size: i32, search_window_size: i32) -> Result_void;
		pub fn cv_fastNlMeansDenoisingMulti_const__InputArrayX_const__OutputArrayX_int_int_const_vector_float_X_int_int_int(src_imgs: *const c_void, dst: *const c_void, img_to_denoise_index: i32, temporal_window_size: i32, h: *const c_void, template_window_size: i32, search_window_size: i32, norm_type: i32) -> Result_void;
		pub fn cv_fastNlMeansDenoisingMulti_const__InputArrayX_const__OutputArrayX_int_int_float_int_int(src_imgs: *const c_void, dst: *const c_void, img_to_denoise_index: i32, temporal_window_size: i32, h: f32, template_window_size: i32, search_window_size: i32) -> Result_void;
		pub fn cv_fastNlMeansDenoising_const__InputArrayX_const__OutputArrayX_const_vector_float_X_int_int_int(src: *const c_void, dst: *const c_void, h: *const c_void, template_window_size: i32, search_window_size: i32, norm_type: i32) -> Result_void;
		pub fn cv_fastNlMeansDenoising_const__InputArrayX_const__OutputArrayX_float_int_int(src: *const c_void, dst: *const c_void, h: f32, template_window_size: i32, search_window_size: i32) -> Result_void;
		pub fn cv_illuminationChange_const__InputArrayX_const__InputArrayX_const__OutputArrayX_float_float(src: *const c_void, mask: *const c_void, dst: *const c_void, alpha: f32, beta: f32) -> Result_void;
		pub fn cv_inpaint_const__InputArrayX_const__InputArrayX_const__OutputArrayX_double_int(src: *const c_void, inpaint_mask: *const c_void, dst: *const c_void, inpaint_radius: f64, flags: i32) -> Result_void;
		pub fn cv_pencilSketch_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_float_float_float(src: *const c_void, dst1: *const c_void, dst2: *const c_void, sigma_s: f32, sigma_r: f32, shade_factor: f32) -> Result_void;
		pub fn cv_seamlessClone_const__InputArrayX_const__InputArrayX_const__InputArrayX_Point_const__OutputArrayX_int(src: *const c_void, dst: *const c_void, mask: *const c_void, p: *const core::Point, blend: *const c_void, flags: i32) -> Result_void;
		pub fn cv_stylization_const__InputArrayX_const__OutputArrayX_float_float(src: *const c_void, dst: *const c_void, sigma_s: f32, sigma_r: f32) -> Result_void;
		pub fn cv_textureFlattening_const__InputArrayX_const__InputArrayX_const__OutputArrayX_float_float_int(src: *const c_void, mask: *const c_void, dst: *const c_void, low_threshold: f32, high_threshold: f32, kernel_size: i32) -> Result_void;
		pub fn cv_AlignExposures_process_const__InputArrayX_vector_Mat_X_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *mut c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_AlignMTB_process_const__InputArrayX_vector_Mat_X_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *mut c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_AlignMTB_process_const__InputArrayX_vector_Mat_X(instance: *mut c_void, src: *const c_void, dst: *mut c_void) -> Result_void;
		pub fn cv_AlignMTB_calculateShift_const__InputArrayX_const__InputArrayX(instance: *mut c_void, img0: *const c_void, img1: *const c_void) -> Result<core::Point>;
		pub fn cv_AlignMTB_shiftMat_const__InputArrayX_const__OutputArrayX_Point(instance: *mut c_void, src: *const c_void, dst: *const c_void, shift: *const core::Point) -> Result_void;
		pub fn cv_AlignMTB_computeBitmaps_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, img: *const c_void, tb: *const c_void, eb: *const c_void) -> Result_void;
		pub fn cv_AlignMTB_getMaxBits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AlignMTB_setMaxBits_int(instance: *mut c_void, max_bits: i32) -> Result_void;
		pub fn cv_AlignMTB_getExcludeRange_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_AlignMTB_setExcludeRange_int(instance: *mut c_void, exclude_range: i32) -> Result_void;
		pub fn cv_AlignMTB_getCut_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_AlignMTB_setCut_bool(instance: *mut c_void, value: bool) -> Result_void;
		pub fn cv_CalibrateCRF_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void) -> Result_void;
		pub fn cv_CalibrateDebevec_getLambda_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_CalibrateDebevec_setLambda_float(instance: *mut c_void, lambda: f32) -> Result_void;
		pub fn cv_CalibrateDebevec_getSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_CalibrateDebevec_setSamples_int(instance: *mut c_void, samples: i32) -> Result_void;
		pub fn cv_CalibrateDebevec_getRandom_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_CalibrateDebevec_setRandom_bool(instance: *mut c_void, random: bool) -> Result_void;
		pub fn cv_CalibrateRobertson_getMaxIter_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_CalibrateRobertson_setMaxIter_int(instance: *mut c_void, max_iter: i32) -> Result_void;
		pub fn cv_CalibrateRobertson_getThreshold_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_CalibrateRobertson_setThreshold_float(instance: *mut c_void, threshold: f32) -> Result_void;
		pub fn cv_CalibrateRobertson_getRadiance_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_MergeDebevec_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_MergeDebevec_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void) -> Result_void;
		pub fn cv_MergeExposures_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_MergeMertens_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_MergeMertens_process_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_MergeMertens_getContrastWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_MergeMertens_setContrastWeight_float(instance: *mut c_void, contrast_weiht: f32) -> Result_void;
		pub fn cv_MergeMertens_getSaturationWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_MergeMertens_setSaturationWeight_float(instance: *mut c_void, saturation_weight: f32) -> Result_void;
		pub fn cv_MergeMertens_getExposureWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_MergeMertens_setExposureWeight_float(instance: *mut c_void, exposure_weight: f32) -> Result_void;
		pub fn cv_MergeRobertson_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_MergeRobertson_process_const__InputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void, times: *const c_void) -> Result_void;
		pub fn cv_Tonemap_process_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_Tonemap_getGamma_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_Tonemap_setGamma_float(instance: *mut c_void, gamma: f32) -> Result_void;
		pub fn cv_TonemapDrago_getSaturation_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapDrago_setSaturation_float(instance: *mut c_void, saturation: f32) -> Result_void;
		pub fn cv_TonemapDrago_getBias_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapDrago_setBias_float(instance: *mut c_void, bias: f32) -> Result_void;
		pub fn cv_TonemapMantiuk_getScale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapMantiuk_setScale_float(instance: *mut c_void, scale: f32) -> Result_void;
		pub fn cv_TonemapMantiuk_getSaturation_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapMantiuk_setSaturation_float(instance: *mut c_void, saturation: f32) -> Result_void;
		pub fn cv_TonemapReinhard_getIntensity_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapReinhard_setIntensity_float(instance: *mut c_void, intensity: f32) -> Result_void;
		pub fn cv_TonemapReinhard_getLightAdaptation_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapReinhard_setLightAdaptation_float(instance: *mut c_void, light_adapt: f32) -> Result_void;
		pub fn cv_TonemapReinhard_getColorAdaptation_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_TonemapReinhard_setColorAdaptation_float(instance: *mut c_void, color_adapt: f32) -> Result_void;
	}
}
pub use photo_sys::*;

#[cfg(feature = "contrib")]
mod plot_sys {
	use super::*;

	extern "C" {
		pub fn cv_plot_Plot2d_setMinX_double(instance: *mut c_void, _plot_min_x: f64) -> Result_void;
		pub fn cv_plot_Plot2d_setMinY_double(instance: *mut c_void, _plot_min_y: f64) -> Result_void;
		pub fn cv_plot_Plot2d_setMaxX_double(instance: *mut c_void, _plot_max_x: f64) -> Result_void;
		pub fn cv_plot_Plot2d_setMaxY_double(instance: *mut c_void, _plot_max_y: f64) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotLineWidth_int(instance: *mut c_void, _plot_line_width: i32) -> Result_void;
		pub fn cv_plot_Plot2d_setNeedPlotLine_bool(instance: *mut c_void, _need_plot_line: bool) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotLineColor_Scalar(instance: *mut c_void, _plot_line_color: *const core::Scalar) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotBackgroundColor_Scalar(instance: *mut c_void, _plot_background_color: *const core::Scalar) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotAxisColor_Scalar(instance: *mut c_void, _plot_axis_color: *const core::Scalar) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotGridColor_Scalar(instance: *mut c_void, _plot_grid_color: *const core::Scalar) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotTextColor_Scalar(instance: *mut c_void, _plot_text_color: *const core::Scalar) -> Result_void;
		pub fn cv_plot_Plot2d_setPlotSize_int_int(instance: *mut c_void, _plot_size_width: i32, _plot_size_height: i32) -> Result_void;
		pub fn cv_plot_Plot2d_setShowGrid_bool(instance: *mut c_void, need_show_grid: bool) -> Result_void;
		pub fn cv_plot_Plot2d_setShowText_bool(instance: *mut c_void, need_show_text: bool) -> Result_void;
		pub fn cv_plot_Plot2d_setGridLinesNumber_int(instance: *mut c_void, grid_lines_number: i32) -> Result_void;
		pub fn cv_plot_Plot2d_setInvertOrientation_bool(instance: *mut c_void, _invert_orientation: bool) -> Result_void;
		pub fn cv_plot_Plot2d_setPointIdxToPrint_int(instance: *mut c_void, point_idx: i32) -> Result_void;
		pub fn cv_plot_Plot2d_render_const__OutputArrayX(instance: *mut c_void, _plot_result: *const c_void) -> Result_void;
		pub fn cv_plot_Plot2d_create_const__InputArrayX(data: *const c_void) -> Result<*mut c_void>;
		pub fn cv_plot_Plot2d_create_const__InputArrayX_const__InputArrayX(data_x: *const c_void, data_y: *const c_void) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use plot_sys::*;

#[cfg(feature = "contrib")]
mod rapid_sys {
	use super::*;

	extern "C" {
		pub fn cv_rapid_drawCorrespondencies_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(bundle: *const c_void, src_locations: *const c_void, new_locations: *const c_void, colors: *const c_void) -> Result_void;
		pub fn cv_rapid_drawSearchLines_const__InputOutputArrayX_const__InputArrayX_const_ScalarX(img: *const c_void, locations: *const c_void, color: *const core::Scalar) -> Result_void;
		pub fn cv_rapid_drawWireframe_const__InputOutputArrayX_const__InputArrayX_const__InputArrayX_const_ScalarX_int_bool(img: *const c_void, pts2d: *const c_void, tris: *const c_void, color: *const core::Scalar, typ: i32, cull_backface: bool) -> Result_void;
		pub fn cv_rapid_extractControlPoints_int_int_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(num: i32, len: i32, pts3d: *const c_void, rvec: *const c_void, tvec: *const c_void, k: *const c_void, imsize: *const core::Size, tris: *const c_void, ctl2d: *const c_void, ctl3d: *const c_void) -> Result_void;
		pub fn cv_rapid_extractLineBundle_int_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(len: i32, ctl2d: *const c_void, img: *const c_void, bundle: *const c_void, src_locations: *const c_void) -> Result_void;
		pub fn cv_rapid_filterCorrespondencies_const__InputOutputArrayX_const__InputOutputArrayX_const__InputArrayX(pts2d: *const c_void, pts3d: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_rapid_findCorrespondencies_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(bundle: *const c_void, src_locations: *const c_void, new_locations: *const c_void, response: *const c_void) -> Result_void;
		pub fn cv_rapid_rapid_const__InputArrayX_int_int_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX(img: *const c_void, num: i32, len: i32, pts3d: *const c_void, tris: *const c_void, k: *const c_void, rvec: *const c_void, tvec: *const c_void) -> Result<f32>;
	}
}
#[cfg(feature = "contrib")]
pub use rapid_sys::*;

#[cfg(feature = "contrib")]
mod sfm_sys {
	use super::*;

	extern "C" {
		pub fn cv_sfm_KRtFromProjection_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(p: *const c_void, k: *const c_void, r: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_applyTransformationToPoints_const__InputArrayX_const__InputArrayX_const__OutputArrayX(points: *const c_void, t: *const c_void, transformed_points: *const c_void) -> Result_void;
		pub fn cv_sfm_computeOrientation_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_double(x1: *const c_void, x2: *const c_void, r: *const c_void, t: *const c_void, s: f64) -> Result_void;
		pub fn cv_sfm_depth_const__InputArrayX_const__InputArrayX_const__InputArrayX(r: *const c_void, t: *const c_void, x: *const c_void) -> Result<f64>;
		pub fn cv_sfm_essentialFromFundamental_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(f: *const c_void, k1: *const c_void, k2: *const c_void, e: *const c_void) -> Result_void;
		pub fn cv_sfm_essentialFromRt_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(r1: *const c_void, t1: *const c_void, r2: *const c_void, t2: *const c_void, e: *const c_void) -> Result_void;
		pub fn cv_sfm_euclideanToHomogeneous_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_sfm_fundamentalFromCorrespondences7PointRobust_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX_const__OutputArrayX_double(x1: *const c_void, x2: *const c_void, max_error: f64, f: *const c_void, inliers: *const c_void, outliers_probability: f64) -> Result<f64>;
		pub fn cv_sfm_fundamentalFromCorrespondences8PointRobust_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX_const__OutputArrayX_double(x1: *const c_void, x2: *const c_void, max_error: f64, f: *const c_void, inliers: *const c_void, outliers_probability: f64) -> Result<f64>;
		pub fn cv_sfm_fundamentalFromEssential_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(e: *const c_void, k1: *const c_void, k2: *const c_void, f: *const c_void) -> Result_void;
		pub fn cv_sfm_fundamentalFromProjections_const__InputArrayX_const__InputArrayX_const__OutputArrayX(p1: *const c_void, p2: *const c_void, f: *const c_void) -> Result_void;
		pub fn cv_sfm_homogeneousToEuclidean_const__InputArrayX_const__OutputArrayX(src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_sfm_importReconstruction_const_StringX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int(file: *const c_char, rs: *const c_void, ts: *const c_void, ks: *const c_void, points3d: *const c_void, file_format: i32) -> Result_void;
		pub fn cv_sfm_isotropicPreconditionerFromPoints_const__InputArrayX_const__OutputArrayX(points: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_meanAndVarianceAlongRows_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(a: *const c_void, mean: *const c_void, variance: *const c_void) -> Result_void;
		pub fn cv_sfm_motionFromEssentialChooseSolution_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(rs: *const c_void, ts: *const c_void, k1: *const c_void, x1: *const c_void, k2: *const c_void, x2: *const c_void) -> Result<i32>;
		pub fn cv_sfm_motionFromEssential_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(e: *const c_void, rs: *const c_void, ts: *const c_void) -> Result_void;
		pub fn cv_sfm_normalizeFundamental_const__InputArrayX_const__OutputArrayX(f: *const c_void, f_normalized: *const c_void) -> Result_void;
		pub fn cv_sfm_normalizeIsotropicPoints_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(points: *const c_void, normalized_points: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_normalizePoints_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(points: *const c_void, normalized_points: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_normalizedEightPointSolver_const__InputArrayX_const__InputArrayX_const__OutputArrayX(x1: *const c_void, x2: *const c_void, f: *const c_void) -> Result_void;
		pub fn cv_sfm_preconditionerFromPoints_const__InputArrayX_const__OutputArrayX(points: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_projectionFromKRt_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX(k: *const c_void, r: *const c_void, t: *const c_void, p: *const c_void) -> Result_void;
		pub fn cv_sfm_projectionsFromFundamental_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(f: *const c_void, p1: *const c_void, p2: *const c_void) -> Result_void;
		pub fn cv_sfm_reconstruct_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputOutputArrayX_bool(points2d: *const c_void, ps: *const c_void, points3d: *const c_void, k: *const c_void, is_projective: bool) -> Result_void;
		pub fn cv_sfm_reconstruct_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputOutputArrayX_const__OutputArrayX_bool(points2d: *const c_void, rs: *const c_void, ts: *const c_void, k: *const c_void, points3d: *const c_void, is_projective: bool) -> Result_void;
		pub fn cv_sfm_reconstruct_vector_String__const__OutputArrayX_const__OutputArrayX_const__InputOutputArrayX_bool(images: *const c_void, ps: *const c_void, points3d: *const c_void, k: *const c_void, is_projective: bool) -> Result_void;
		pub fn cv_sfm_reconstruct_vector_String__const__OutputArrayX_const__OutputArrayX_const__InputOutputArrayX_const__OutputArrayX_bool(images: *const c_void, rs: *const c_void, ts: *const c_void, k: *const c_void, points3d: *const c_void, is_projective: bool) -> Result_void;
		pub fn cv_sfm_relativeCameraMotion_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(r1: *const c_void, t1: *const c_void, r2: *const c_void, t2: *const c_void, r: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_sfm_skew_const__InputArrayX(x: *const c_void) -> Result<*mut c_void>;
		pub fn cv_sfm_triangulatePoints_const__InputArrayX_const__InputArrayX_const__OutputArrayX(points2d: *const c_void, projection_matrices: *const c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_run_const__InputArrayX(instance: *mut c_void, points2d: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_run_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, points2d: *const c_void, k: *const c_void, rs: *const c_void, ts: *const c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_run_const_vector_String_X(instance: *mut c_void, images: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_run_const_vector_String_X_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, images: *const c_void, k: *const c_void, rs: *const c_void, ts: *const c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_getError_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_sfm_BaseSFM_getPoints_const__OutputArrayX(instance: *mut c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_getIntrinsics_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_sfm_BaseSFM_getCameras_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, rs: *const c_void, ts: *const c_void) -> Result_void;
		pub fn cv_sfm_BaseSFM_setReconstructionOptions_const_libmv_ReconstructionOptionsX(instance: *mut c_void, libmv_reconstruction_options: *const crate::sfm::libmv_ReconstructionOptions) -> Result_void;
		pub fn cv_sfm_BaseSFM_setCameraIntrinsicOptions_const_libmv_CameraIntrinsicsOptionsX(instance: *mut c_void, libmv_camera_intrinsics_options: *const crate::sfm::libmv_CameraIntrinsicsOptions) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_run_const__InputArrayX(instance: *mut c_void, points2d: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_run_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, points2d: *const c_void, k: *const c_void, rs: *const c_void, ts: *const c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_run_const_vector_String_X(instance: *mut c_void, images: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_run_const_vector_String_X_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, images: *const c_void, k: *const c_void, rs: *const c_void, ts: *const c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_getError_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_getPoints_const__OutputArrayX(instance: *mut c_void, points3d: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_getIntrinsics_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_getCameras_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, rs: *const c_void, ts: *const c_void) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_setReconstructionOptions_const_libmv_ReconstructionOptionsX(instance: *mut c_void, libmv_reconstruction_options: *const crate::sfm::libmv_ReconstructionOptions) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_setCameraIntrinsicOptions_const_libmv_CameraIntrinsicsOptionsX(instance: *mut c_void, libmv_camera_intrinsics_options: *const crate::sfm::libmv_CameraIntrinsicsOptions) -> Result_void;
		pub fn cv_sfm_SFMLibmvEuclideanReconstruction_create_const_libmv_CameraIntrinsicsOptionsX_const_libmv_ReconstructionOptionsX(camera_instrinsic_options: *const crate::sfm::libmv_CameraIntrinsicsOptions, reconstruction_options: *const crate::sfm::libmv_ReconstructionOptions) -> Result<*mut c_void>;
		pub fn cv_sfm_libmv_CameraIntrinsicsOptions_libmv_CameraIntrinsicsOptions_int_double_double_double_double_double_double_double_double_double(_distortion_model: i32, _focal_length_x: f64, _focal_length_y: f64, _principal_point_x: f64, _principal_point_y: f64, _polynomial_k1: f64, _polynomial_k2: f64, _polynomial_k3: f64, _polynomial_p1: f64, _polynomial_p2: f64) -> Result<crate::sfm::libmv_CameraIntrinsicsOptions>;
		pub fn cv_sfm_libmv_ReconstructionOptions_libmv_ReconstructionOptions_int_int_int_int_int(_keyframe1: i32, _keyframe2: i32, _refine_intrinsics: i32, _select_keyframes: i32, _verbosity_level: i32) -> Result<crate::sfm::libmv_ReconstructionOptions>;
	}
}
#[cfg(feature = "contrib")]
pub use sfm_sys::*;

#[cfg(feature = "contrib")]
mod shape_sys {
	use super::*;

	extern "C" {
		pub fn cv_EMDL1_const__InputArrayX_const__InputArrayX(signature1: *const c_void, signature2: *const c_void) -> Result<f32>;
		pub fn cv_createAffineTransformer_bool(full_affine: bool) -> Result<*mut c_void>;
		pub fn cv_createChiHistogramCostExtractor_int_float(n_dummies: i32, default_cost: f32) -> Result<*mut c_void>;
		pub fn cv_createEMDHistogramCostExtractor_int_int_float(flag: i32, n_dummies: i32, default_cost: f32) -> Result<*mut c_void>;
		pub fn cv_createEMDL1HistogramCostExtractor_int_float(n_dummies: i32, default_cost: f32) -> Result<*mut c_void>;
		pub fn cv_createHausdorffDistanceExtractor_int_float(distance_flag: i32, rank_prop: f32) -> Result<*mut c_void>;
		pub fn cv_createNormHistogramCostExtractor_int_int_float(flag: i32, n_dummies: i32, default_cost: f32) -> Result<*mut c_void>;
		pub fn cv_createShapeContextDistanceExtractor_int_int_float_float_int_const_Ptr_HistogramCostExtractor_X_const_Ptr_ShapeTransformer_X(n_angular_bins: i32, n_radial_bins: i32, inner_radius: f32, outer_radius: f32, iterations: i32, comparer: *const c_void, transformer: *const c_void) -> Result<*mut c_void>;
		pub fn cv_createThinPlateSplineShapeTransformer_double(regularization_parameter: f64) -> Result<*mut c_void>;
		pub fn cv_AffineTransformer_setFullAffine_bool(instance: *mut c_void, full_affine: bool) -> Result_void;
		pub fn cv_AffineTransformer_getFullAffine_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_EMDHistogramCostExtractor_setNormFlag_int(instance: *mut c_void, flag: i32) -> Result_void;
		pub fn cv_EMDHistogramCostExtractor_getNormFlag_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HausdorffDistanceExtractor_setDistanceFlag_int(instance: *mut c_void, distance_flag: i32) -> Result_void;
		pub fn cv_HausdorffDistanceExtractor_getDistanceFlag_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HausdorffDistanceExtractor_setRankProportion_float(instance: *mut c_void, rank_proportion: f32) -> Result_void;
		pub fn cv_HausdorffDistanceExtractor_getRankProportion_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_HistogramCostExtractor_buildCostMatrix_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, descriptors1: *const c_void, descriptors2: *const c_void, cost_matrix: *const c_void) -> Result_void;
		pub fn cv_HistogramCostExtractor_setNDummies_int(instance: *mut c_void, n_dummies: i32) -> Result_void;
		pub fn cv_HistogramCostExtractor_getNDummies_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_HistogramCostExtractor_setDefaultCost_float(instance: *mut c_void, default_cost: f32) -> Result_void;
		pub fn cv_HistogramCostExtractor_getDefaultCost_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_NormHistogramCostExtractor_setNormFlag_int(instance: *mut c_void, flag: i32) -> Result_void;
		pub fn cv_NormHistogramCostExtractor_getNormFlag_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ShapeContextDistanceExtractor_setAngularBins_int(instance: *mut c_void, n_angular_bins: i32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getAngularBins_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ShapeContextDistanceExtractor_setRadialBins_int(instance: *mut c_void, n_radial_bins: i32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getRadialBins_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ShapeContextDistanceExtractor_setInnerRadius_float(instance: *mut c_void, inner_radius: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getInnerRadius_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setOuterRadius_float(instance: *mut c_void, outer_radius: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getOuterRadius_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setRotationInvariant_bool(instance: *mut c_void, rotation_invariant: bool) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getRotationInvariant_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_ShapeContextDistanceExtractor_setShapeContextWeight_float(instance: *mut c_void, shape_context_weight: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getShapeContextWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setImageAppearanceWeight_float(instance: *mut c_void, image_appearance_weight: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getImageAppearanceWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setBendingEnergyWeight_float(instance: *mut c_void, bending_energy_weight: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getBendingEnergyWeight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setImages_const__InputArrayX_const__InputArrayX(instance: *mut c_void, image1: *const c_void, image2: *const c_void) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getImages_const_const__OutputArrayX_const__OutputArrayX(instance: *const c_void, image1: *const c_void, image2: *const c_void) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_setIterations_int(instance: *mut c_void, iterations: i32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ShapeContextDistanceExtractor_setCostExtractor_Ptr_HistogramCostExtractor_(instance: *mut c_void, comparer: *mut c_void) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getCostExtractor_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ShapeContextDistanceExtractor_setStdDev_float(instance: *mut c_void, sigma: f32) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getStdDev_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_ShapeContextDistanceExtractor_setTransformAlgorithm_Ptr_ShapeTransformer_(instance: *mut c_void, transformer: *mut c_void) -> Result_void;
		pub fn cv_ShapeContextDistanceExtractor_getTransformAlgorithm_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_ShapeDistanceExtractor_computeDistance_const__InputArrayX_const__InputArrayX(instance: *mut c_void, contour1: *const c_void, contour2: *const c_void) -> Result<f32>;
		pub fn cv_ShapeTransformer_estimateTransformation_const__InputArrayX_const__InputArrayX_vector_DMatch_X(instance: *mut c_void, transforming_shape: *const c_void, target_shape: *const c_void, matches: *mut c_void) -> Result_void;
		pub fn cv_ShapeTransformer_applyTransformation_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, input: *const c_void, output: *const c_void) -> Result<f32>;
		pub fn cv_ShapeTransformer_warpImage_const_const__InputArrayX_const__OutputArrayX_int_int_const_ScalarX(instance: *const c_void, transforming_image: *const c_void, output: *const c_void, flags: i32, border_mode: i32, border_value: *const core::Scalar) -> Result_void;
		pub fn cv_ThinPlateSplineShapeTransformer_setRegularizationParameter_double(instance: *mut c_void, beta: f64) -> Result_void;
		pub fn cv_ThinPlateSplineShapeTransformer_getRegularizationParameter_const(instance: *const c_void) -> Result<f64>;
	}
}
#[cfg(feature = "contrib")]
pub use shape_sys::*;

mod stitching_sys {
	use super::*;

	extern "C" {
		pub fn cv_createStitcherScans_bool(try_use_gpu: bool) -> Result<*mut c_void>;
		pub fn cv_createStitcher_bool(try_use_gpu: bool) -> Result<*mut c_void>;
		pub fn cv_detail_computeImageFeatures_const_Ptr_Feature2D_X_const__InputArrayX_ImageFeaturesX_const__InputArrayX(features_finder: *const c_void, image: *const c_void, features: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_computeImageFeatures_const_Ptr_Feature2D_X_const__InputArrayX_vector_ImageFeatures_X_const__InputArrayX(features_finder: *const c_void, images: *const c_void, features: *mut c_void, masks: *const c_void) -> Result_void;
		pub fn cv_detail_createLaplacePyrGpu_const__InputArrayX_int_vector_UMat_X(img: *const c_void, num_levels: i32, pyr: *mut c_void) -> Result_void;
		pub fn cv_detail_createLaplacePyr_const__InputArrayX_int_vector_UMat_X(img: *const c_void, num_levels: i32, pyr: *mut c_void) -> Result_void;
		pub fn cv_detail_createWeightMap_const__InputArrayX_float_const__InputOutputArrayX(mask: *const c_void, sharpness: f32, weight: *const c_void) -> Result_void;
		pub fn cv_detail_findMaxSpanningTree_int_const_vector_MatchesInfo_X_GraphX_vector_int_X(num_images: i32, pairwise_matches: *const c_void, span_tree: *mut c_void, centers: *mut c_void) -> Result_void;
		pub fn cv_detail_leaveBiggestComponent_vector_ImageFeatures_X_vector_MatchesInfo_X_float(features: *mut c_void, pairwise_matches: *mut c_void, conf_threshold: f32) -> Result<*mut c_void>;
		pub fn cv_detail_matchesGraphAsString_vector_String_X_vector_MatchesInfo_X_float(pathes: *mut c_void, pairwise_matches: *mut c_void, conf_threshold: f32) -> Result<*mut c_void>;
		pub fn cv_detail_normalizeUsingWeightMap_const__InputArrayX_const__InputOutputArrayX(weight: *const c_void, src: *const c_void) -> Result_void;
		pub fn cv_detail_overlapRoi_Point_Point_Size_Size_RectX(tl1: *const core::Point, tl2: *const core::Point, sz1: *const core::Size, sz2: *const core::Size, roi: *mut core::Rect) -> Result<bool>;
		pub fn cv_detail_restoreImageFromLaplacePyrGpu_vector_UMat_X(pyr: *mut c_void) -> Result_void;
		pub fn cv_detail_restoreImageFromLaplacePyr_vector_UMat_X(pyr: *mut c_void) -> Result_void;
		pub fn cv_detail_resultRoiIntersection_const_vector_Point_X_const_vector_Size_X(corners: *const c_void, sizes: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_resultRoi_const_vector_Point_X_const_vector_Size_X(corners: *const c_void, sizes: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_resultRoi_const_vector_Point_X_const_vector_UMat_X(corners: *const c_void, images: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_resultTl_const_vector_Point_X(corners: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_selectRandomSubset_int_int_vector_int_X(count: i32, size: i32, subset: *mut c_void) -> Result_void;
		pub fn cv_detail_stitchingLogLevel() -> Result<i32>;
		pub fn cv_detail_waveCorrect_vector_Mat_X_WaveCorrectKind(rmats: *mut c_void, kind: crate::stitching::Detail_WaveCorrectKind) -> Result_void;
		pub fn cv_AffineWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_CompressedRectilinearPortraitWarper_CompressedRectilinearPortraitWarper_float_float(a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_CompressedRectilinearPortraitWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_CompressedRectilinearWarper_CompressedRectilinearWarper_float_float(a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_CompressedRectilinearWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_CylindricalWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_FisheyeWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_MercatorWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_PaniniPortraitWarper_PaniniPortraitWarper_float_float(a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_PaniniPortraitWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_PaniniWarper_PaniniWarper_float_float(a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_PaniniWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_PlaneWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_PyRotationWarper_PyRotationWarper_String_float(typ: *mut c_char, scale: f32) -> Result<*mut c_void>;
		pub fn cv_PyRotationWarper_PyRotationWarper() -> Result<*mut c_void>;
		pub fn cv_PyRotationWarper_warpPoint_const_Point2fX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, pt: *const core::Point2f, k: *const c_void, r: *const c_void) -> Result<core::Point2f>;
		pub fn cv_PyRotationWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_PyRotationWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_PyRotationWarper_warpBackward_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_Size_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst_size: *const core::Size, dst: *const c_void) -> Result_void;
		pub fn cv_PyRotationWarper_warpRoi_Size_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void) -> Result<core::Rect>;
		pub fn cv_PyRotationWarper_getScale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_PyRotationWarper_setScale_float(instance: *mut c_void, unnamed: f32) -> Result_void;
		pub fn cv_SphericalWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_StereographicWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_Stitcher_ORIG_RESOL_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_create_Mode(mode: crate::stitching::Stitcher_Mode) -> Result<*mut c_void>;
		pub fn cv_Stitcher_registrationResol_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_setRegistrationResol_double(instance: *mut c_void, resol_mpx: f64) -> Result_void;
		pub fn cv_Stitcher_seamEstimationResol_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_setSeamEstimationResol_double(instance: *mut c_void, resol_mpx: f64) -> Result_void;
		pub fn cv_Stitcher_compositingResol_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_setCompositingResol_double(instance: *mut c_void, resol_mpx: f64) -> Result_void;
		pub fn cv_Stitcher_panoConfidenceThresh_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_setPanoConfidenceThresh_double(instance: *mut c_void, conf_thresh: f64) -> Result_void;
		pub fn cv_Stitcher_waveCorrection_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_Stitcher_setWaveCorrection_bool(instance: *mut c_void, flag: bool) -> Result_void;
		pub fn cv_Stitcher_interpolationFlags_const(instance: *const c_void) -> Result<crate::imgproc::InterpolationFlags>;
		pub fn cv_Stitcher_setInterpolationFlags_InterpolationFlags(instance: *mut c_void, interp_flags: crate::imgproc::InterpolationFlags) -> Result_void;
		pub fn cv_Stitcher_waveCorrectKind_const(instance: *const c_void) -> Result<crate::stitching::Detail_WaveCorrectKind>;
		pub fn cv_Stitcher_setWaveCorrectKind_WaveCorrectKind(instance: *mut c_void, kind: crate::stitching::Detail_WaveCorrectKind) -> Result_void;
		pub fn cv_Stitcher_featuresFinder(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_featuresFinder_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setFeaturesFinder_Ptr_Feature2D_(instance: *mut c_void, features_finder: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_featuresMatcher(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_featuresMatcher_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setFeaturesMatcher_Ptr_FeaturesMatcher_(instance: *mut c_void, features_matcher: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_matchingMask_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setMatchingMask_const_UMatX(instance: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_Stitcher_bundleAdjuster(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_bundleAdjuster_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setBundleAdjuster_Ptr_BundleAdjusterBase_(instance: *mut c_void, bundle_adjuster: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_estimator(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_estimator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setEstimator_Ptr_Estimator_(instance: *mut c_void, estimator: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_warper(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_warper_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setWarper_Ptr_WarperCreator_(instance: *mut c_void, creator: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_exposureCompensator(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_exposureCompensator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setExposureCompensator_Ptr_ExposureCompensator_(instance: *mut c_void, exposure_comp: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_seamFinder(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_seamFinder_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setSeamFinder_Ptr_SeamFinder_(instance: *mut c_void, seam_finder: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_blender(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_blender_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_setBlender_Ptr_Blender_(instance: *mut c_void, b: *mut c_void) -> Result_void;
		pub fn cv_Stitcher_estimateTransform_const__InputArrayX_const__InputArrayX(instance: *mut c_void, images: *const c_void, masks: *const c_void) -> Result<crate::stitching::Stitcher_Status>;
		pub fn cv_Stitcher_composePanorama_const__OutputArrayX(instance: *mut c_void, pano: *const c_void) -> Result<crate::stitching::Stitcher_Status>;
		pub fn cv_Stitcher_composePanorama_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, images: *const c_void, pano: *const c_void) -> Result<crate::stitching::Stitcher_Status>;
		pub fn cv_Stitcher_stitch_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, images: *const c_void, pano: *const c_void) -> Result<crate::stitching::Stitcher_Status>;
		pub fn cv_Stitcher_stitch_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, images: *const c_void, masks: *const c_void, pano: *const c_void) -> Result<crate::stitching::Stitcher_Status>;
		pub fn cv_Stitcher_component_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_cameras_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_Stitcher_workScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_Stitcher_resultMask_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_TransverseMercatorWarper_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_WarperCreator_create_const_float(instance: *const c_void, scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_AffineBasedEstimator_AffineBasedEstimator() -> Result<*mut c_void>;
		pub fn cv_detail_AffineBestOf2NearestMatcher_AffineBestOf2NearestMatcher_bool_bool_float_int(full_affine: bool, try_use_gpu: bool, match_conf: f32, num_matches_thresh1: i32) -> Result<*mut c_void>;
		pub fn cv_detail_AffineWarper_AffineWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_AffineWarper_warpPoint_const_Point2fX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, pt: *const core::Point2f, k: *const c_void, h: *const c_void) -> Result<core::Point2f>;
		pub fn cv_detail_AffineWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, h: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_AffineWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, h: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_AffineWarper_warpRoi_Size_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, h: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_BestOf2NearestMatcher_BestOf2NearestMatcher_bool_float_int_int(try_use_gpu: bool, match_conf: f32, num_matches_thresh1: i32, num_matches_thresh2: i32) -> Result<*mut c_void>;
		pub fn cv_detail_BestOf2NearestMatcher_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_detail_BestOf2NearestMatcher_create_bool_float_int_int(try_use_gpu: bool, match_conf: f32, num_matches_thresh1: i32, num_matches_thresh2: i32) -> Result<*mut c_void>;
		pub fn cv_detail_BestOf2NearestRangeMatcher_BestOf2NearestRangeMatcher_int_bool_float_int_int(range_width: i32, try_use_gpu: bool, match_conf: f32, num_matches_thresh1: i32, num_matches_thresh2: i32) -> Result<*mut c_void>;
		pub fn cv_detail_Blender_createDefault_int_bool(typ: i32, try_gpu: bool) -> Result<*mut c_void>;
		pub fn cv_detail_Blender_prepare_const_vector_Point_X_const_vector_Size_X(instance: *mut c_void, corners: *const c_void, sizes: *const c_void) -> Result_void;
		pub fn cv_detail_Blender_prepare_Rect(instance: *mut c_void, dst_roi: *const core::Rect) -> Result_void;
		pub fn cv_detail_Blender_feed_const__InputArrayX_const__InputArrayX_Point(instance: *mut c_void, img: *const c_void, mask: *const c_void, tl: *const core::Point) -> Result_void;
		pub fn cv_detail_Blender_blend_const__InputOutputArrayX_const__InputOutputArrayX(instance: *mut c_void, dst: *const c_void, dst_mask: *const c_void) -> Result_void;
		pub fn cv_detail_BlocksChannelsCompensator_BlocksChannelsCompensator_int_int_int(bl_width: i32, bl_height: i32, nr_feeds: i32) -> Result<*mut c_void>;
		pub fn cv_detail_BlocksCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, index: i32, corner: *const core::Point, image: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_BlocksCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_BlocksCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_BlocksCompensator_setNrFeeds_int(instance: *mut c_void, nr_feeds: i32) -> Result_void;
		pub fn cv_detail_BlocksCompensator_getNrFeeds(instance: *mut c_void) -> Result<i32>;
		pub fn cv_detail_BlocksCompensator_setBlockSize_int_int(instance: *mut c_void, width: i32, height: i32) -> Result_void;
		pub fn cv_detail_BlocksCompensator_setBlockSize_Size(instance: *mut c_void, size: *const core::Size) -> Result_void;
		pub fn cv_detail_BlocksCompensator_getBlockSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_detail_BlocksCompensator_setNrGainsFilteringIterations_int(instance: *mut c_void, nr_iterations: i32) -> Result_void;
		pub fn cv_detail_BlocksCompensator_getNrGainsFilteringIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_BlocksGainCompensator_BlocksGainCompensator_int_int(bl_width: i32, bl_height: i32) -> Result<*mut c_void>;
		pub fn cv_detail_BlocksGainCompensator_BlocksGainCompensator_int_int_int(bl_width: i32, bl_height: i32, nr_feeds: i32) -> Result<*mut c_void>;
		pub fn cv_detail_BlocksGainCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, index: i32, corner: *const core::Point, image: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_BlocksGainCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_BlocksGainCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_BundleAdjusterAffine_BundleAdjusterAffine() -> Result<*mut c_void>;
		pub fn cv_detail_BundleAdjusterAffinePartial_BundleAdjusterAffinePartial() -> Result<*mut c_void>;
		pub fn cv_detail_BundleAdjusterBase_refinementMask_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_BundleAdjusterBase_setRefinementMask_const_MatX(instance: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_BundleAdjusterBase_confThresh_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_BundleAdjusterBase_setConfThresh_double(instance: *mut c_void, conf_thresh: f64) -> Result_void;
		pub fn cv_detail_BundleAdjusterBase_termCriteria(instance: *mut c_void) -> Result<core::TermCriteria>;
		pub fn cv_detail_BundleAdjusterBase_setTermCriteria_const_TermCriteriaX(instance: *mut c_void, term_criteria: *const core::TermCriteria) -> Result_void;
		pub fn cv_detail_BundleAdjusterRay_BundleAdjusterRay() -> Result<*mut c_void>;
		pub fn cv_detail_BundleAdjusterReproj_BundleAdjusterReproj() -> Result<*mut c_void>;
		pub fn cv_detail_CameraParams_focal_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_CameraParams_setFocal_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_detail_CameraParams_aspect_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_CameraParams_setAspect_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_detail_CameraParams_ppx_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_CameraParams_setPpx_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_detail_CameraParams_ppy_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_CameraParams_setPpy_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_detail_CameraParams_R(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CameraParams_setR_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_CameraParams_t(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CameraParams_setT_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_CameraParams_CameraParams() -> Result<*mut c_void>;
		pub fn cv_detail_CameraParams_CameraParams_const_CameraParamsX(other: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CameraParams_K_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_ChannelsCompensator_ChannelsCompensator_int(nr_feeds: i32) -> Result<*mut c_void>;
		pub fn cv_detail_ChannelsCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, index: i32, corner: *const core::Point, image: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_ChannelsCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_ChannelsCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_ChannelsCompensator_setNrFeeds_int(instance: *mut c_void, nr_feeds: i32) -> Result_void;
		pub fn cv_detail_ChannelsCompensator_getNrFeeds(instance: *mut c_void) -> Result<i32>;
		pub fn cv_detail_ChannelsCompensator_gains_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_a_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_setA_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_b_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_setB_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearPortraitProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearPortraitWarper_CompressedRectilinearPortraitWarper_float_float_float(scale: f32, a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_detail_CompressedRectilinearProjector_a_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_CompressedRectilinearProjector_setA_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearProjector_b_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_CompressedRectilinearProjector_setB_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_CompressedRectilinearWarper_CompressedRectilinearWarper_float_float_float(scale: f32, a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_detail_CylindricalPortraitProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_CylindricalPortraitProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_CylindricalPortraitWarper_CylindricalPortraitWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_CylindricalProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_CylindricalProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_CylindricalWarper_CylindricalWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_CylindricalWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_CylindricalWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_CylindricalWarperGpu_CylindricalWarperGpu_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_CylindricalWarperGpu_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_CylindricalWarperGpu_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_DisjointSets_parent(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_DisjointSets_setParent_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_DisjointSets_size(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_DisjointSets_setSize_vector_int_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_DisjointSets_DisjointSets_int(elem_count: i32) -> Result<*mut c_void>;
		pub fn cv_detail_DisjointSets_createOneElemSets_int(instance: *mut c_void, elem_count: i32) -> Result_void;
		pub fn cv_detail_DisjointSets_findSetByElem_int(instance: *mut c_void, elem: i32) -> Result<i32>;
		pub fn cv_detail_DisjointSets_mergeSets_int_int(instance: *mut c_void, set1: i32, set2: i32) -> Result<i32>;
		pub fn cv_detail_DpSeamFinder_DpSeamFinder_CostFunction(cost_func: crate::stitching::Detail_DpSeamFinder_CostFunction) -> Result<*mut c_void>;
		pub fn cv_detail_DpSeamFinder_DpSeamFinder_String(cost_func: *mut c_char) -> Result<*mut c_void>;
		pub fn cv_detail_DpSeamFinder_costFunction_const(instance: *const c_void) -> Result<crate::stitching::Detail_DpSeamFinder_CostFunction>;
		pub fn cv_detail_DpSeamFinder_setCostFunction_CostFunction(instance: *mut c_void, val: crate::stitching::Detail_DpSeamFinder_CostFunction) -> Result_void;
		pub fn cv_detail_DpSeamFinder_setCostFunction_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_detail_DpSeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, src: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
		pub fn cv_detail_ExposureCompensator_createDefault_int(typ: i32) -> Result<*mut c_void>;
		pub fn cv_detail_ExposureCompensator_feed_const_vector_Point_X_const_vector_UMat_X_const_vector_UMat_X(instance: *mut c_void, corners: *const c_void, images: *const c_void, masks: *const c_void) -> Result_void;
		pub fn cv_detail_ExposureCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, index: i32, corner: *const core::Point, image: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_ExposureCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_detail_ExposureCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_detail_ExposureCompensator_setUpdateGain_bool(instance: *mut c_void, b: bool) -> Result_void;
		pub fn cv_detail_ExposureCompensator_getUpdateGain(instance: *mut c_void) -> Result<bool>;
		pub fn cv_detail_FeatherBlender_FeatherBlender_float(sharpness: f32) -> Result<*mut c_void>;
		pub fn cv_detail_FeatherBlender_sharpness_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_FeatherBlender_setSharpness_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_FeatherBlender_prepare_Rect(instance: *mut c_void, dst_roi: *const core::Rect) -> Result_void;
		pub fn cv_detail_FeatherBlender_feed_const__InputArrayX_const__InputArrayX_Point(instance: *mut c_void, img: *const c_void, mask: *const c_void, tl: *const core::Point) -> Result_void;
		pub fn cv_detail_FeatherBlender_blend_const__InputOutputArrayX_const__InputOutputArrayX(instance: *mut c_void, dst: *const c_void, dst_mask: *const c_void) -> Result_void;
		pub fn cv_detail_FeatherBlender_createWeightMaps_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, masks: *const c_void, corners: *const c_void, weight_maps: *mut c_void) -> Result<core::Rect>;
		pub fn cv_detail_FeaturesMatcher_isThreadSafe_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_detail_FeaturesMatcher_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_detail_FisheyeProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_FisheyeProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_FisheyeWarper_FisheyeWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_GainCompensator_GainCompensator() -> Result<*mut c_void>;
		pub fn cv_detail_GainCompensator_GainCompensator_int(nr_feeds: i32) -> Result<*mut c_void>;
		pub fn cv_detail_GainCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, index: i32, corner: *const core::Point, image: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_detail_GainCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_GainCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_GainCompensator_setNrFeeds_int(instance: *mut c_void, nr_feeds: i32) -> Result_void;
		pub fn cv_detail_GainCompensator_getNrFeeds(instance: *mut c_void) -> Result<i32>;
		pub fn cv_detail_GainCompensator_gains_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_Graph_Graph_int(num_vertices: i32) -> Result<*mut c_void>;
		pub fn cv_detail_Graph_create_int(instance: *mut c_void, num_vertices: i32) -> Result_void;
		pub fn cv_detail_Graph_numVertices_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_Graph_addEdge_int_int_float(instance: *mut c_void, from: i32, to: i32, weight: f32) -> Result_void;
		pub fn cv_detail_GraphCutSeamFinder_GraphCutSeamFinder_int_float_float(cost_type: i32, terminal_cost: f32, bad_region_penalty: f32) -> Result<*mut c_void>;
		pub fn cv_detail_GraphCutSeamFinder_GraphCutSeamFinder_String_float_float(cost_type: *mut c_char, terminal_cost: f32, bad_region_penalty: f32) -> Result<*mut c_void>;
		pub fn cv_detail_GraphCutSeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, src: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
		pub fn cv_detail_GraphEdge_from_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_GraphEdge_setFrom_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_GraphEdge_to_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_GraphEdge_setTo_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_GraphEdge_weight_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_GraphEdge_setWeight_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_GraphEdge_GraphEdge_int_int_float(from: i32, to: i32, weight: f32) -> Result<*mut c_void>;
		pub fn cv_detail_HomographyBasedEstimator_HomographyBasedEstimator_bool(is_focals_estimated: bool) -> Result<*mut c_void>;
		pub fn cv_detail_ImageFeatures_img_idx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_ImageFeatures_setImg_idx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_ImageFeatures_img_size_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_detail_ImageFeatures_setImg_size_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_detail_ImageFeatures_keypoints(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_ImageFeatures_setKeypoints_vector_KeyPoint_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_ImageFeatures_descriptors(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_ImageFeatures_setDescriptors_UMat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_ImageFeatures_getKeypoints(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_src_img_idx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_MatchesInfo_setSrc_img_idx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_MatchesInfo_dst_img_idx_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_MatchesInfo_setDst_img_idx_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_MatchesInfo_matches(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_setMatches_vector_DMatch_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_MatchesInfo_inliers_mask(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_setInliers_mask_vector_unsigned_char_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_MatchesInfo_num_inliers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_MatchesInfo_setNum_inliers_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_MatchesInfo_H(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_setH_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_detail_MatchesInfo_confidence_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_detail_MatchesInfo_setConfidence_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_detail_MatchesInfo_MatchesInfo() -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_MatchesInfo_const_MatchesInfoX(other: *const c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_getMatches(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MatchesInfo_getInliers(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_detail_MercatorProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_MercatorProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_MercatorWarper_MercatorWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_MultiBandBlender_MultiBandBlender_int_int_int(try_gpu: i32, num_bands: i32, weight_type: i32) -> Result<*mut c_void>;
		pub fn cv_detail_MultiBandBlender_numBands_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_detail_MultiBandBlender_setNumBands_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_detail_MultiBandBlender_prepare_Rect(instance: *mut c_void, dst_roi: *const core::Rect) -> Result_void;
		pub fn cv_detail_MultiBandBlender_feed_const__InputArrayX_const__InputArrayX_Point(instance: *mut c_void, img: *const c_void, mask: *const c_void, tl: *const core::Point) -> Result_void;
		pub fn cv_detail_MultiBandBlender_blend_const__InputOutputArrayX_const__InputOutputArrayX(instance: *mut c_void, dst: *const c_void, dst_mask: *const c_void) -> Result_void;
		pub fn cv_detail_NoBundleAdjuster_NoBundleAdjuster() -> Result<*mut c_void>;
		pub fn cv_detail_NoExposureCompensator_apply_int_Point_const__InputOutputArrayX_const__InputArrayX(instance: *mut c_void, unnamed: i32, unnamed: *const core::Point, unnamed: *const c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_detail_NoExposureCompensator_getMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_NoExposureCompensator_setMatGains_vector_Mat_X(instance: *mut c_void, umv: *mut c_void) -> Result_void;
		pub fn cv_detail_NoSeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, unnamed: *const c_void, unnamed: *const c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_detail_PairwiseSeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, src: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
		pub fn cv_detail_PaniniPortraitProjector_a_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_PaniniPortraitProjector_setA_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_PaniniPortraitProjector_b_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_PaniniPortraitProjector_setB_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_PaniniPortraitProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_PaniniPortraitProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_PaniniPortraitWarper_PaniniPortraitWarper_float_float_float(scale: f32, a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_detail_PaniniProjector_a_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_PaniniProjector_setA_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_PaniniProjector_b_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_PaniniProjector_setB_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_PaniniProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_PaniniProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_PaniniWarper_PaniniWarper_float_float_float(scale: f32, a: f32, b: f32) -> Result<*mut c_void>;
		pub fn cv_detail_PlanePortraitProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_PlanePortraitProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_PlanePortraitWarper_PlanePortraitWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_PlaneProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_PlaneProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_PlaneWarper_PlaneWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_PlaneWarper_warpPoint_const_Point2fX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, pt: *const core::Point2f, k: *const c_void, r: *const c_void) -> Result<core::Point2f>;
		pub fn cv_detail_PlaneWarper_warpPoint_const_Point2fX_const__InputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, pt: *const core::Point2f, k: *const c_void, r: *const c_void, t: *const c_void) -> Result<core::Point2f>;
		pub fn cv_detail_PlaneWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, t: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_PlaneWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, t: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_PlaneWarper_warpRoi_Size_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarper_warpRoi_Size_const__InputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, t: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarperGpu_PlaneWarperGpu_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_PlaneWarperGpu_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarperGpu_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, t: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_PlaneWarperGpu_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_PlaneWarperGpu_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, t: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_ProjectorBase_scale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_ProjectorBase_setScale_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_detail_ProjectorBase_k(instance: *mut c_void) -> Result<*mut [f32; 9]>;
		pub fn cv_detail_ProjectorBase_rinv(instance: *mut c_void) -> Result<*mut [f32; 9]>;
		pub fn cv_detail_ProjectorBase_r_kinv(instance: *mut c_void) -> Result<*mut [f32; 9]>;
		pub fn cv_detail_ProjectorBase_k_rinv(instance: *mut c_void) -> Result<*mut [f32; 9]>;
		pub fn cv_detail_ProjectorBase_t(instance: *mut c_void) -> Result<*mut [f32; 3]>;
		pub fn cv_detail_ProjectorBase_setCameraParams_const__InputArrayX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, k: *const c_void, r: *const c_void, t: *const c_void) -> Result_void;
		pub fn cv_detail_RotationWarper_warpPoint_const_Point2fX_const__InputArrayX_const__InputArrayX(instance: *mut c_void, pt: *const core::Point2f, k: *const c_void, r: *const c_void) -> Result<core::Point2f>;
		pub fn cv_detail_RotationWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_RotationWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_RotationWarper_warpBackward_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_Size_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst_size: *const core::Size, dst: *const c_void) -> Result_void;
		pub fn cv_detail_RotationWarper_warpRoi_Size_const__InputArrayX_const__InputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_RotationWarper_getScale_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_detail_RotationWarper_setScale_float(instance: *mut c_void, unnamed: f32) -> Result_void;
		pub fn cv_detail_SeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, src: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
		pub fn cv_detail_SeamFinder_createDefault_int(typ: i32) -> Result<*mut c_void>;
		pub fn cv_detail_SphericalPortraitProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_SphericalPortraitProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_SphericalPortraitWarper_SphericalPortraitWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_SphericalProjector_mapForward_float_float_floatX_floatX(instance: *const crate::stitching::Detail_SphericalProjector, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_SphericalProjector_mapBackward_float_float_floatX_floatX(instance: *const crate::stitching::Detail_SphericalProjector, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_SphericalWarper_SphericalWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_SphericalWarper_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_SphericalWarper_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_SphericalWarperGpu_SphericalWarperGpu_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_SphericalWarperGpu_buildMaps_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, src_size: *const core::Size, k: *const c_void, r: *const c_void, xmap: *const c_void, ymap: *const c_void) -> Result<core::Rect>;
		pub fn cv_detail_SphericalWarperGpu_warp_const__InputArrayX_const__InputArrayX_const__InputArrayX_int_int_const__OutputArrayX(instance: *mut c_void, src: *const c_void, k: *const c_void, r: *const c_void, interp_mode: i32, border_mode: i32, dst: *const c_void) -> Result<core::Point>;
		pub fn cv_detail_StereographicProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_StereographicProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_StereographicWarper_StereographicWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_TransverseMercatorProjector_mapForward_float_float_floatX_floatX(instance: *mut c_void, x: f32, y: f32, u: *mut f32, v: *mut f32) -> Result_void;
		pub fn cv_detail_TransverseMercatorProjector_mapBackward_float_float_floatX_floatX(instance: *mut c_void, u: f32, v: f32, x: *mut f32, y: *mut f32) -> Result_void;
		pub fn cv_detail_TransverseMercatorWarper_TransverseMercatorWarper_float(scale: f32) -> Result<*mut c_void>;
		pub fn cv_detail_VoronoiSeamFinder_find_const_vector_UMat_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, src: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
		pub fn cv_detail_VoronoiSeamFinder_find_const_vector_Size_X_const_vector_Point_X_vector_UMat_X(instance: *mut c_void, size: *const c_void, corners: *const c_void, masks: *mut c_void) -> Result_void;
	}
}
pub use stitching_sys::*;

#[cfg(feature = "contrib")]
mod structured_light_sys {
	use super::*;

	extern "C" {
		pub fn cv_structured_light_GrayCodePattern_create_const_ParamsX(parameters: *const c_void) -> Result<*mut c_void>;
		pub fn cv_structured_light_GrayCodePattern_create_int_int(width: i32, height: i32) -> Result<*mut c_void>;
		pub fn cv_structured_light_GrayCodePattern_getNumberOfPatternImages_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_structured_light_GrayCodePattern_setWhiteThreshold_size_t(instance: *mut c_void, value: size_t) -> Result_void;
		pub fn cv_structured_light_GrayCodePattern_setBlackThreshold_size_t(instance: *mut c_void, value: size_t) -> Result_void;
		pub fn cv_structured_light_GrayCodePattern_getImagesForShadowMasks_const_const__InputOutputArrayX_const__InputOutputArrayX(instance: *const c_void, black_image: *const c_void, white_image: *const c_void) -> Result_void;
		pub fn cv_structured_light_GrayCodePattern_getProjPixel_const_const__InputArrayX_int_int_PointX(instance: *const c_void, pattern_images: *const c_void, x: i32, y: i32, proj_pix: *mut core::Point) -> Result<bool>;
		pub fn cv_structured_light_GrayCodePattern_Params_width_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_GrayCodePattern_Params_setWidth_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_GrayCodePattern_Params_height_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_GrayCodePattern_Params_setHeight_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_GrayCodePattern_Params_Params() -> Result<*mut c_void>;
		pub fn cv_structured_light_SinusoidalPattern_create_Ptr_Params_(parameters: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_structured_light_SinusoidalPattern_computePhaseMap_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, pattern_images: *const c_void, wrapped_phase_map: *const c_void, shadow_mask: *const c_void, fundamental: *const c_void) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_unwrapPhaseMap_const__InputArrayX_const__OutputArrayX_Size_const__InputArrayX(instance: *mut c_void, wrapped_phase_map: *const c_void, unwrapped_phase_map: *const c_void, cam_size: *const core::Size, shadow_mask: *const c_void) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_findProCamMatches_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, proj_unwrapped_phase_map: *const c_void, cam_unwrapped_phase_map: *const c_void, matches: *const c_void) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_computeDataModulationTerm_const__InputArrayX_const__OutputArrayX_const__InputArrayX(instance: *mut c_void, pattern_images: *const c_void, data_modulation_term: *const c_void, shadow_mask: *const c_void) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_width_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setWidth_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_height_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setHeight_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_nbrOfPeriods_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setNbrOfPeriods_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_shiftValue_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setShiftValue_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_methodId_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setMethodId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_nbrOfPixelsBetweenMarkers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setNbrOfPixelsBetweenMarkers_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_horizontal_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setHorizontal_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_setMarkers_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setSetMarkers_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_markersLocation(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_structured_light_SinusoidalPattern_Params_setMarkersLocation_vector_Point2f_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_structured_light_SinusoidalPattern_Params_Params() -> Result<*mut c_void>;
		pub fn cv_structured_light_StructuredLightPattern_generate_const__OutputArrayX(instance: *mut c_void, pattern_images: *const c_void) -> Result<bool>;
		pub fn cv_structured_light_StructuredLightPattern_decode_const_const_vector_vector_Mat__X_const__OutputArrayX_const__InputArrayX_const__InputArrayX_int(instance: *const c_void, pattern_images: *const c_void, disparity_map: *const c_void, black_images: *const c_void, white_images: *const c_void, flags: i32) -> Result<bool>;
	}
}
#[cfg(feature = "contrib")]
pub use structured_light_sys::*;

#[cfg(feature = "contrib")]
mod superres_sys {
	use super::*;

	extern "C" {
		pub fn cv_superres_createFrameSource_Camera_int(device_id: i32) -> Result<*mut c_void>;
		pub fn cv_superres_createFrameSource_Empty() -> Result<*mut c_void>;
		pub fn cv_superres_createFrameSource_Video_CUDA_const_StringX(file_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_superres_createFrameSource_Video_const_StringX(file_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_Brox_CUDA() -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_DualTVL1() -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_DualTVL1_CUDA() -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_Farneback() -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_Farneback_CUDA() -> Result<*mut c_void>;
		pub fn cv_superres_createOptFlow_PyrLK_CUDA() -> Result<*mut c_void>;
		pub fn cv_superres_createSuperResolution_BTVL1() -> Result<*mut c_void>;
		pub fn cv_superres_createSuperResolution_BTVL1_CUDA() -> Result<*mut c_void>;
		pub fn cv_superres_BroxOpticalFlow_getAlpha_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_BroxOpticalFlow_setAlpha_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_BroxOpticalFlow_getGamma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_BroxOpticalFlow_setGamma_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_BroxOpticalFlow_getScaleFactor_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_BroxOpticalFlow_setScaleFactor_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_BroxOpticalFlow_getInnerIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_BroxOpticalFlow_setInnerIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_BroxOpticalFlow_getOuterIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_BroxOpticalFlow_setOuterIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_BroxOpticalFlow_getSolverIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_BroxOpticalFlow_setSolverIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_DenseOpticalFlowExt_calc_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, flow1: *const c_void, flow2: *const c_void) -> Result_void;
		pub fn cv_superres_DenseOpticalFlowExt_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getTau_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_DualTVL1OpticalFlow_setTau_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getLambda_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_DualTVL1OpticalFlow_setLambda_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getTheta_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_DualTVL1OpticalFlow_setTheta_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getScalesNumber_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_DualTVL1OpticalFlow_setScalesNumber_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getWarpingsNumber_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_DualTVL1OpticalFlow_setWarpingsNumber_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getEpsilon_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_DualTVL1OpticalFlow_setEpsilon_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_DualTVL1OpticalFlow_setIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_DualTVL1OpticalFlow_getUseInitialFlow_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_superres_DualTVL1OpticalFlow_setUseInitialFlow_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getPyrScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_FarnebackOpticalFlow_setPyrScale_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getLevelsNumber_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_FarnebackOpticalFlow_setLevelsNumber_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getWindowSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_FarnebackOpticalFlow_setWindowSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_FarnebackOpticalFlow_setIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getPolyN_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_FarnebackOpticalFlow_setPolyN_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getPolySigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_FarnebackOpticalFlow_setPolySigma_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_FarnebackOpticalFlow_getFlags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_FarnebackOpticalFlow_setFlags_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_FrameSource_nextFrame_const__OutputArrayX(instance: *mut c_void, frame: *const c_void) -> Result_void;
		pub fn cv_superres_FrameSource_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_superres_PyrLKOpticalFlow_getWindowSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_PyrLKOpticalFlow_setWindowSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_PyrLKOpticalFlow_getMaxLevel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_PyrLKOpticalFlow_setMaxLevel_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_PyrLKOpticalFlow_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_PyrLKOpticalFlow_setIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_setInput_const_Ptr_FrameSource_X(instance: *mut c_void, frame_source: *const c_void) -> Result_void;
		pub fn cv_superres_SuperResolution_nextFrame_const__OutputArrayX(instance: *mut c_void, frame: *const c_void) -> Result_void;
		pub fn cv_superres_SuperResolution_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_superres_SuperResolution_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_superres_SuperResolution_getScale_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_SuperResolution_setScale_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_getIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_SuperResolution_setIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_getTau_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_SuperResolution_setTau_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_SuperResolution_getLambda_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_SuperResolution_setLambda_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_SuperResolution_getAlpha_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_SuperResolution_setAlpha_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_SuperResolution_getKernelSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_SuperResolution_setKernelSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_getBlurKernelSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_SuperResolution_setBlurKernelSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_getBlurSigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_superres_SuperResolution_setBlurSigma_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_superres_SuperResolution_getTemporalAreaRadius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_superres_SuperResolution_setTemporalAreaRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_superres_SuperResolution_getOpticalFlow_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_superres_SuperResolution_setOpticalFlow_const_Ptr_DenseOpticalFlowExt_X(instance: *mut c_void, val: *const c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use superres_sys::*;

#[cfg(feature = "contrib")]
mod surface_matching_sys {
	use super::*;

	extern "C" {
		pub fn cv_ppf_match_3d_ICP_ICP() -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_ICP_ICP_int_float_float_int_int_int(iterations: i32, tolerence: f32, rejection_scale: f32, num_levels: i32, sample_type: i32, num_max_corr: i32) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_ICP_registerModelToScene_const_MatX_const_MatX_doubleX_Matx44dX(instance: *mut c_void, src_pc: *const c_void, dst_pc: *const c_void, residual: *mut f64, pose: *mut core::Matx44d) -> Result<i32>;
		pub fn cv_ppf_match_3d_ICP_registerModelToScene_const_MatX_const_MatX_vector_Pose3DPtr_X(instance: *mut c_void, src_pc: *const c_void, dst_pc: *const c_void, poses: *mut c_void) -> Result<i32>;
		pub fn cv_ppf_match_3d_PPF3DDetector_PPF3DDetector() -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PPF3DDetector_PPF3DDetector_double_double_double(relative_sampling_step: f64, relative_distance_step: f64, num_angles: f64) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PPF3DDetector_setSearchParams_double_double_bool(instance: *mut c_void, position_threshold: f64, rotation_threshold: f64, use_weighted_clustering: bool) -> Result_void;
		pub fn cv_ppf_match_3d_PPF3DDetector_trainModel_const_MatX(instance: *mut c_void, model: *const c_void) -> Result_void;
		pub fn cv_ppf_match_3d_PPF3DDetector_match_const_MatX_vector_Pose3DPtr_X_double_double(instance: *mut c_void, scene: *const c_void, results: *mut c_void, relative_scene_sample_step: f64, relative_scene_distance: f64) -> Result_void;
		pub fn cv_ppf_match_3d_PPF3DDetector_read_const_FileNodeX(instance: *mut c_void, fn_: *const c_void) -> Result_void;
		pub fn cv_ppf_match_3d_PPF3DDetector_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_alpha_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ppf_match_3d_Pose3D_setAlpha_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_residual_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ppf_match_3d_Pose3D_setResidual_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_modelIndex_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ppf_match_3d_Pose3D_setModelIndex_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_numVotes_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ppf_match_3d_Pose3D_setNumVotes_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_pose_const(instance: *const c_void) -> Result<core::Matx44d>;
		pub fn cv_ppf_match_3d_Pose3D_setPose_Matx44d(instance: *mut c_void, val: *const core::Matx44d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_angle_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_ppf_match_3d_Pose3D_setAngle_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_t_const(instance: *const c_void) -> Result<core::Vec3d>;
		pub fn cv_ppf_match_3d_Pose3D_setT_Vec3d(instance: *mut c_void, val: *const core::Vec3d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_q_const(instance: *const c_void) -> Result<core::Vec4d>;
		pub fn cv_ppf_match_3d_Pose3D_setQ_Vec4d(instance: *mut c_void, val: *const core::Vec4d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_Pose3D() -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_Pose3D_Pose3D_double_size_t_size_t(alpha: f64, model_index: size_t, num_votes: size_t) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_Pose3D_updatePose_Matx44dX(instance: *mut c_void, new_pose: *mut core::Matx44d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_updatePose_Matx33dX_Vec3dX(instance: *mut c_void, new_r: *mut core::Matx33d, new_t: *mut core::Vec3d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_updatePoseQuat_Vec4dX_Vec3dX(instance: *mut c_void, q: *mut core::Vec4d, new_t: *mut core::Vec3d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_appendPose_Matx44dX(instance: *mut c_void, incremental_pose: *mut core::Matx44d) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_printPose(instance: *mut c_void) -> Result_void;
		pub fn cv_ppf_match_3d_Pose3D_clone(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_Pose3D_writePose_const_stringX(instance: *mut c_void, file_name: *const c_char) -> Result<i32>;
		pub fn cv_ppf_match_3d_Pose3D_readPose_const_stringX(instance: *mut c_void, file_name: *const c_char) -> Result<i32>;
		pub fn cv_ppf_match_3d_PoseCluster3D_poseList(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PoseCluster3D_setPoseList_vector_Pose3DPtr_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_ppf_match_3d_PoseCluster3D_numVotes_const(instance: *const c_void) -> Result<size_t>;
		pub fn cv_ppf_match_3d_PoseCluster3D_setNumVotes_size_t(instance: *mut c_void, val: size_t) -> Result_void;
		pub fn cv_ppf_match_3d_PoseCluster3D_id_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_ppf_match_3d_PoseCluster3D_setId_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_ppf_match_3d_PoseCluster3D_PoseCluster3D() -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PoseCluster3D_PoseCluster3D_Pose3DPtr(new_pose: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PoseCluster3D_PoseCluster3D_Pose3DPtr_int(new_pose: *mut c_void, new_id: i32) -> Result<*mut c_void>;
		pub fn cv_ppf_match_3d_PoseCluster3D_addPose_Pose3DPtr(instance: *mut c_void, new_pose: *mut c_void) -> Result_void;
		pub fn cv_ppf_match_3d_PoseCluster3D_writePoseCluster_const_stringX(instance: *mut c_void, file_name: *const c_char) -> Result<i32>;
		pub fn cv_ppf_match_3d_PoseCluster3D_readPoseCluster_const_stringX(instance: *mut c_void, file_name: *const c_char) -> Result<i32>;
	}
}
#[cfg(feature = "contrib")]
pub use surface_matching_sys::*;

#[cfg(feature = "contrib")]
mod text_sys {
	use super::*;

	extern "C" {
		pub fn cv_text_MSERsToERStats_const__InputArrayX_vector_vector_Point__X_vector_vector_ERStat__X(image: *const c_void, contours: *mut c_void, regions: *mut c_void) -> Result_void;
		pub fn cv_text_computeNMChannels_const__InputArrayX_const__OutputArrayX_int(_src: *const c_void, _channels: *const c_void, _mode: i32) -> Result_void;
		pub fn cv_text_createERFilterNM1_const_Ptr_Callback_X_int_float_float_float_bool_float(cb: *const c_void, threshold_delta: i32, min_area: f32, max_area: f32, min_probability: f32, non_max_suppression: bool, min_probability_diff: f32) -> Result<*mut c_void>;
		pub fn cv_text_createERFilterNM1_const_StringX_int_float_float_float_bool_float(filename: *const c_char, threshold_delta: i32, min_area: f32, max_area: f32, min_probability: f32, non_max_suppression: bool, min_probability_diff: f32) -> Result<*mut c_void>;
		pub fn cv_text_createERFilterNM2_const_Ptr_Callback_X_float(cb: *const c_void, min_probability: f32) -> Result<*mut c_void>;
		pub fn cv_text_createERFilterNM2_const_StringX_float(filename: *const c_char, min_probability: f32) -> Result<*mut c_void>;
		pub fn cv_text_createOCRHMMTransitionsTable_const_StringX_vector_String_X(vocabulary: *const c_char, lexicon: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_createOCRHMMTransitionsTable_stringX_vector_string_X_const__OutputArrayX(vocabulary: *mut *mut c_void, lexicon: *mut c_void, transition_probabilities_table: *const c_void) -> Result_void;
		pub fn cv_text_detectRegions_const__InputArrayX_const_Ptr_ERFilter_X_const_Ptr_ERFilter_X_vector_Rect_X_int_const_StringX_float(image: *const c_void, er_filter1: *const c_void, er_filter2: *const c_void, groups_rects: *mut c_void, method: i32, filename: *const c_char, min_probability: f32) -> Result_void;
		pub fn cv_text_detectRegions_const__InputArrayX_const_Ptr_ERFilter_X_const_Ptr_ERFilter_X_vector_vector_Point__X(image: *const c_void, er_filter1: *const c_void, er_filter2: *const c_void, regions: *mut c_void) -> Result_void;
		pub fn cv_text_erGrouping_const__InputArrayX_const__InputArrayX_vector_vector_ERStat__X_vector_vector_Vec2i__X_vector_Rect_X_int_const_stringX_float(img: *const c_void, channels: *const c_void, regions: *mut c_void, groups: *mut c_void, groups_rects: *mut c_void, method: i32, filename: *const c_char, min_probablity: f32) -> Result_void;
		pub fn cv_text_erGrouping_const__InputArrayX_const__InputArrayX_vector_vector_Point___vector_Rect_X_int_const_StringX_float(image: *const c_void, channel: *const c_void, regions: *mut c_void, groups_rects: *mut c_void, method: i32, filename: *const c_char, min_probablity: f32) -> Result_void;
		pub fn cv_text_loadClassifierNM1_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_loadClassifierNM2_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_loadOCRBeamSearchClassifierCNN_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_loadOCRHMMClassifierCNN_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_loadOCRHMMClassifierNM_const_StringX(filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_loadOCRHMMClassifier_const_StringX_int(filename: *const c_char, classifier: i32) -> Result<*mut c_void>;
		pub fn cv_text_BaseOCR_run_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_BaseOCR_run_MatX_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, mask: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_ERFilter_run_const__InputArrayX_vector_ERStat_X(instance: *mut c_void, image: *const c_void, regions: *mut c_void) -> Result_void;
		pub fn cv_text_ERFilter_setCallback_const_Ptr_Callback_X(instance: *mut c_void, cb: *const c_void) -> Result_void;
		pub fn cv_text_ERFilter_setThresholdDelta_int(instance: *mut c_void, threshold_delta: i32) -> Result_void;
		pub fn cv_text_ERFilter_setMinArea_float(instance: *mut c_void, min_area: f32) -> Result_void;
		pub fn cv_text_ERFilter_setMaxArea_float(instance: *mut c_void, max_area: f32) -> Result_void;
		pub fn cv_text_ERFilter_setMinProbability_float(instance: *mut c_void, min_probability: f32) -> Result_void;
		pub fn cv_text_ERFilter_setMinProbabilityDiff_float(instance: *mut c_void, min_probability_diff: f32) -> Result_void;
		pub fn cv_text_ERFilter_setNonMaxSuppression_bool(instance: *mut c_void, non_max_suppression: bool) -> Result_void;
		pub fn cv_text_ERFilter_getNumRejected_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERFilter_Callback_eval_const_ERStatX(instance: *mut c_void, stat: *const c_void) -> Result<f64>;
		pub fn cv_text_ERStat_pixel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERStat_setPixel_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_text_ERStat_level_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERStat_setLevel_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_text_ERStat_area_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERStat_setArea_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_text_ERStat_perimeter_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERStat_setPerimeter_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_text_ERStat_euler_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_text_ERStat_setEuler_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_text_ERStat_rect_const(instance: *const c_void) -> Result<core::Rect>;
		pub fn cv_text_ERStat_setRect_Rect(instance: *mut c_void, val: *const core::Rect) -> Result_void;
		pub fn cv_text_ERStat_raw_moments(instance: *mut c_void) -> Result<*mut [f64; 2]>;
		pub fn cv_text_ERStat_central_moments(instance: *mut c_void) -> Result<*mut [f64; 3]>;
		pub fn cv_text_ERStat_med_crossings_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_text_ERStat_setMed_crossings_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_text_ERStat_hole_area_ratio_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_text_ERStat_setHole_area_ratio_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_text_ERStat_convex_hull_ratio_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_text_ERStat_setConvex_hull_ratio_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_text_ERStat_num_inflexion_points_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_text_ERStat_setNum_inflexion_points_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_text_ERStat_probability_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_text_ERStat_setProbability_double(instance: *mut c_void, val: f64) -> Result_void;
		pub fn cv_text_ERStat_parent(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setParent_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_child(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setChild_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_next(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setNext_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_prev(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setPrev_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_local_maxima_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_text_ERStat_setLocal_maxima_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_text_ERStat_max_probability_ancestor(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setMax_probability_ancestor_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_min_probability_ancestor(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_ERStat_setMin_probability_ancestor_ERStatX(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_text_ERStat_ERStat_int_int_int_int(level: i32, pixel: i32, x: i32, y: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_run_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRBeamSearchDecoder_run_MatX_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, mask: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRBeamSearchDecoder_run_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_run_const__InputArrayX_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, mask: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_create_Ptr_ClassifierCallback__const_stringX_const__InputArrayX_const__InputArrayX_decoder_mode_int(classifier: *const c_void, vocabulary: *const c_char, transition_probabilities_table: *const c_void, emission_probabilities_table: *const c_void, mode: crate::text::decoder_mode, beam_size: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_create_Ptr_ClassifierCallback__const_StringX_const__InputArrayX_const__InputArrayX_int_int(classifier: *const c_void, vocabulary: *const c_char, transition_probabilities_table: *const c_void, emission_probabilities_table: *const c_void, mode: i32, beam_size: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_create_const_StringX_const_StringX_const__InputArrayX_const__InputArrayX_int_int(filename: *const c_char, vocabulary: *const c_char, transition_probabilities_table: *const c_void, emission_probabilities_table: *const c_void, mode: i32, beam_size: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRBeamSearchDecoder_ClassifierCallback_eval_const__InputArrayX_vector_vector_double__X_vector_int_X(instance: *mut c_void, image: *const c_void, recognition_probabilities: *mut c_void, oversegmentation: *mut c_void) -> Result_void;
		pub fn cv_text_OCRBeamSearchDecoder_ClassifierCallback_getWindowSize(instance: *mut c_void) -> Result<i32>;
		pub fn cv_text_OCRBeamSearchDecoder_ClassifierCallback_getStepSize(instance: *mut c_void) -> Result<i32>;
		pub fn cv_text_OCRHMMDecoder_run_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRHMMDecoder_run_MatX_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, mask: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRHMMDecoder_run_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRHMMDecoder_run_const__InputArrayX_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, mask: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRHMMDecoder_create_Ptr_ClassifierCallback__const_StringX_const__InputArrayX_const__InputArrayX_int(classifier: *const c_void, vocabulary: *const c_char, transition_probabilities_table: *const c_void, emission_probabilities_table: *const c_void, mode: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRHMMDecoder_create_const_StringX_const_StringX_const__InputArrayX_const__InputArrayX_int_int(filename: *const c_char, vocabulary: *const c_char, transition_probabilities_table: *const c_void, emission_probabilities_table: *const c_void, mode: i32, classifier: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRHMMDecoder_ClassifierCallback_eval_const__InputArrayX_vector_int_X_vector_double_X(instance: *mut c_void, image: *const c_void, out_class: *mut c_void, out_confidence: *mut c_void) -> Result_void;
		pub fn cv_text_OCRHolisticWordRecognizer_run_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRHolisticWordRecognizer_run_MatX_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, mask: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRHolisticWordRecognizer_create_const_stringX_const_stringX_const_stringX(arch_filename: *const c_char, weights_filename: *const c_char, words_filename: *const c_char) -> Result<*mut c_void>;
		pub fn cv_text_OCRTesseract_run_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRTesseract_run_MatX_MatX_stringX_vector_Rect_X_vector_string_X_vector_float_X_int(instance: *mut c_void, image: *mut c_void, mask: *mut c_void, output_text: *mut *mut c_void, component_rects: *mut c_void, component_texts: *mut c_void, component_confidences: *mut c_void, component_level: i32) -> Result_void;
		pub fn cv_text_OCRTesseract_run_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRTesseract_run_const__InputArrayX_const__InputArrayX_int_int(instance: *mut c_void, image: *const c_void, mask: *const c_void, min_confidence: i32, component_level: i32) -> Result<*mut c_void>;
		pub fn cv_text_OCRTesseract_setWhiteList_const_StringX(instance: *mut c_void, char_whitelist: *const c_char) -> Result_void;
		pub fn cv_text_OCRTesseract_create_const_charX_const_charX_const_charX_int_int(datapath: *const c_char, language: *const c_char, char_whitelist: *const c_char, oem: i32, psmode: i32) -> Result<*mut c_void>;
		pub fn cv_text_TextDetector_detect_const__InputArrayX_vector_Rect_X_vector_float_X(instance: *mut c_void, input_image: *const c_void, bbox: *mut c_void, confidence: *mut c_void) -> Result_void;
		pub fn cv_text_TextDetectorCNN_detect_const__InputArrayX_vector_Rect_X_vector_float_X(instance: *mut c_void, input_image: *const c_void, bbox: *mut c_void, confidence: *mut c_void) -> Result_void;
		pub fn cv_text_TextDetectorCNN_create_const_StringX_const_StringX_vector_Size_(model_arch_filename: *const c_char, model_weights_filename: *const c_char, detection_sizes: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_text_TextDetectorCNN_create_const_StringX_const_StringX(model_arch_filename: *const c_char, model_weights_filename: *const c_char) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use text_sys::*;

mod video_sys {
	use super::*;

	extern "C" {
		pub fn cv_CamShift_const__InputArrayX_RectX_TermCriteria(prob_image: *const c_void, window: *mut core::Rect, criteria: *const core::TermCriteria) -> Result<*mut c_void>;
		pub fn cv_buildOpticalFlowPyramid_const__InputArrayX_const__OutputArrayX_Size_int_bool_int_int_bool(img: *const c_void, pyramid: *const c_void, win_size: *const core::Size, max_level: i32, with_derivatives: bool, pyr_border: i32, deriv_border: i32, try_reuse_input_image: bool) -> Result<i32>;
		pub fn cv_calcOpticalFlowFarneback_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_double_int_int_int_int_double_int(prev: *const c_void, next: *const c_void, flow: *const c_void, pyr_scale: f64, levels: i32, winsize: i32, iterations: i32, poly_n: i32, poly_sigma: f64, flags: i32) -> Result_void;
		pub fn cv_calcOpticalFlowPyrLK_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX_Size_int_TermCriteria_int_double(prev_img: *const c_void, next_img: *const c_void, prev_pts: *const c_void, next_pts: *const c_void, status: *const c_void, err: *const c_void, win_size: *const core::Size, max_level: i32, criteria: *const core::TermCriteria, flags: i32, min_eig_threshold: f64) -> Result_void;
		pub fn cv_computeECC_const__InputArrayX_const__InputArrayX_const__InputArrayX(template_image: *const c_void, input_image: *const c_void, input_mask: *const c_void) -> Result<f64>;
		pub fn cv_createBackgroundSubtractorKNN_int_double_bool(history: i32, dist2_threshold: f64, detect_shadows: bool) -> Result<*mut c_void>;
		pub fn cv_createBackgroundSubtractorMOG2_int_double_bool(history: i32, var_threshold: f64, detect_shadows: bool) -> Result<*mut c_void>;
		pub fn cv_estimateRigidTransform_const__InputArrayX_const__InputArrayX_bool(src: *const c_void, dst: *const c_void, full_affine: bool) -> Result<*mut c_void>;
		pub fn cv_findTransformECC_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_int_TermCriteria_const__InputArrayX(template_image: *const c_void, input_image: *const c_void, warp_matrix: *const c_void, motion_type: i32, criteria: *const core::TermCriteria, input_mask: *const c_void) -> Result<f64>;
		pub fn cv_findTransformECC_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_int_TermCriteria_const__InputArrayX_int(template_image: *const c_void, input_image: *const c_void, warp_matrix: *const c_void, motion_type: i32, criteria: *const core::TermCriteria, input_mask: *const c_void, gauss_filt_size: i32) -> Result<f64>;
		pub fn cv_meanShift_const__InputArrayX_RectX_TermCriteria(prob_image: *const c_void, window: *mut core::Rect, criteria: *const core::TermCriteria) -> Result<i32>;
		pub fn cv_readOpticalFlow_const_StringX(path: *const c_char) -> Result<*mut c_void>;
		pub fn cv_writeOpticalFlow_const_StringX_const__InputArrayX(path: *const c_char, flow: *const c_void) -> Result<bool>;
		pub fn cv_BackgroundSubtractor_apply_const__InputArrayX_const__OutputArrayX_double(instance: *mut c_void, image: *const c_void, fgmask: *const c_void, learning_rate: f64) -> Result_void;
		pub fn cv_BackgroundSubtractor_getBackgroundImage_const_const__OutputArrayX(instance: *const c_void, background_image: *const c_void) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getHistory_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorKNN_setHistory_int(instance: *mut c_void, history: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getNSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorKNN_setNSamples_int(instance: *mut c_void, _n_n: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getDist2Threshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorKNN_setDist2Threshold_double(instance: *mut c_void, _dist2_threshold: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getkNNSamples_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorKNN_setkNNSamples_int(instance: *mut c_void, _nk_nn: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getDetectShadows_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_BackgroundSubtractorKNN_setDetectShadows_bool(instance: *mut c_void, detect_shadows: bool) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getShadowValue_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorKNN_setShadowValue_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorKNN_getShadowThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorKNN_setShadowThreshold_double(instance: *mut c_void, threshold: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getHistory_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorMOG2_setHistory_int(instance: *mut c_void, history: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getNMixtures_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorMOG2_setNMixtures_int(instance: *mut c_void, nmixtures: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getBackgroundRatio_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setBackgroundRatio_double(instance: *mut c_void, ratio: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getVarThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setVarThreshold_double(instance: *mut c_void, var_threshold: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getVarThresholdGen_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setVarThresholdGen_double(instance: *mut c_void, var_threshold_gen: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getVarInit_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setVarInit_double(instance: *mut c_void, var_init: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getVarMin_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setVarMin_double(instance: *mut c_void, var_min: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getVarMax_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setVarMax_double(instance: *mut c_void, var_max: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getComplexityReductionThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setComplexityReductionThreshold_double(instance: *mut c_void, ct: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getDetectShadows_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_BackgroundSubtractorMOG2_setDetectShadows_bool(instance: *mut c_void, detect_shadows: bool) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getShadowValue_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_BackgroundSubtractorMOG2_setShadowValue_int(instance: *mut c_void, value: i32) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_getShadowThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_BackgroundSubtractorMOG2_setShadowThreshold_double(instance: *mut c_void, threshold: f64) -> Result_void;
		pub fn cv_BackgroundSubtractorMOG2_apply_const__InputArrayX_const__OutputArrayX_double(instance: *mut c_void, image: *const c_void, fgmask: *const c_void, learning_rate: f64) -> Result_void;
		pub fn cv_DISOpticalFlow_getFinestScale_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DISOpticalFlow_setFinestScale_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DISOpticalFlow_getPatchSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DISOpticalFlow_setPatchSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DISOpticalFlow_getPatchStride_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DISOpticalFlow_setPatchStride_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DISOpticalFlow_getGradientDescentIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DISOpticalFlow_setGradientDescentIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DISOpticalFlow_getVariationalRefinementIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_DISOpticalFlow_setVariationalRefinementIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_DISOpticalFlow_getVariationalRefinementAlpha_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_DISOpticalFlow_setVariationalRefinementAlpha_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_DISOpticalFlow_getVariationalRefinementDelta_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_DISOpticalFlow_setVariationalRefinementDelta_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_DISOpticalFlow_getVariationalRefinementGamma_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_DISOpticalFlow_setVariationalRefinementGamma_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_DISOpticalFlow_getUseMeanNormalization_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_DISOpticalFlow_setUseMeanNormalization_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_DISOpticalFlow_getUseSpatialPropagation_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_DISOpticalFlow_setUseSpatialPropagation_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_DISOpticalFlow_create_int(preset: i32) -> Result<*mut c_void>;
		pub fn cv_DenseOpticalFlow_calc_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX(instance: *mut c_void, i0: *const c_void, i1: *const c_void, flow: *const c_void) -> Result_void;
		pub fn cv_DenseOpticalFlow_collectGarbage(instance: *mut c_void) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getNumLevels_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FarnebackOpticalFlow_setNumLevels_int(instance: *mut c_void, num_levels: i32) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getPyrScale_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_FarnebackOpticalFlow_setPyrScale_double(instance: *mut c_void, pyr_scale: f64) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getFastPyramids_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_FarnebackOpticalFlow_setFastPyramids_bool(instance: *mut c_void, fast_pyramids: bool) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getWinSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FarnebackOpticalFlow_setWinSize_int(instance: *mut c_void, win_size: i32) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getNumIters_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FarnebackOpticalFlow_setNumIters_int(instance: *mut c_void, num_iters: i32) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getPolyN_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FarnebackOpticalFlow_setPolyN_int(instance: *mut c_void, poly_n: i32) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getPolySigma_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_FarnebackOpticalFlow_setPolySigma_double(instance: *mut c_void, poly_sigma: f64) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_getFlags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_FarnebackOpticalFlow_setFlags_int(instance: *mut c_void, flags: i32) -> Result_void;
		pub fn cv_FarnebackOpticalFlow_create_int_double_bool_int_int_int_double_int(num_levels: i32, pyr_scale: f64, fast_pyramids: bool, win_size: i32, num_iters: i32, poly_n: i32, poly_sigma: f64, flags: i32) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_statePre(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setStatePre_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_statePost(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setStatePost_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_transitionMatrix(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTransitionMatrix_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_controlMatrix(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setControlMatrix_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_measurementMatrix(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setMeasurementMatrix_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_processNoiseCov(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setProcessNoiseCov_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_measurementNoiseCov(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setMeasurementNoiseCov_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_errorCovPre(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setErrorCovPre_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_gain(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setGain_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_errorCovPost(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setErrorCovPost_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_temp1(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTemp1_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_temp2(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTemp2_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_temp3(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTemp3_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_temp4(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTemp4_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_temp5(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_setTemp5_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_KalmanFilter_KalmanFilter() -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_KalmanFilter_int_int_int_int(dynam_params: i32, measure_params: i32, control_params: i32, typ: i32) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_init_int_int_int_int(instance: *mut c_void, dynam_params: i32, measure_params: i32, control_params: i32, typ: i32) -> Result_void;
		pub fn cv_KalmanFilter_predict_const_MatX(instance: *mut c_void, control: *const c_void) -> Result<*mut c_void>;
		pub fn cv_KalmanFilter_correct_const_MatX(instance: *mut c_void, measurement: *const c_void) -> Result<*mut c_void>;
		pub fn cv_SparseOpticalFlow_calc_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, prev_img: *const c_void, next_img: *const c_void, prev_pts: *const c_void, next_pts: *const c_void, status: *const c_void, err: *const c_void) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_getWinSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_SparsePyrLKOpticalFlow_setWinSize_Size(instance: *mut c_void, win_size: *const core::Size) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_getMaxLevel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparsePyrLKOpticalFlow_setMaxLevel_int(instance: *mut c_void, max_level: i32) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_getTermCriteria_const(instance: *const c_void) -> Result<core::TermCriteria>;
		pub fn cv_SparsePyrLKOpticalFlow_setTermCriteria_TermCriteriaX(instance: *mut c_void, crit: *mut core::TermCriteria) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_getFlags_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_SparsePyrLKOpticalFlow_setFlags_int(instance: *mut c_void, flags: i32) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_getMinEigThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_SparsePyrLKOpticalFlow_setMinEigThreshold_double(instance: *mut c_void, min_eig_threshold: f64) -> Result_void;
		pub fn cv_SparsePyrLKOpticalFlow_create_Size_int_TermCriteria_int_double(win_size: *const core::Size, max_level: i32, crit: *const core::TermCriteria, flags: i32, min_eig_threshold: f64) -> Result<*mut c_void>;
		pub fn cv_VariationalRefinement_calcUV_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX(instance: *mut c_void, i0: *const c_void, i1: *const c_void, flow_u: *const c_void, flow_v: *const c_void) -> Result_void;
		pub fn cv_VariationalRefinement_getFixedPointIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_VariationalRefinement_setFixedPointIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_VariationalRefinement_getSorIterations_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_VariationalRefinement_setSorIterations_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_VariationalRefinement_getOmega_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_VariationalRefinement_setOmega_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_VariationalRefinement_getAlpha_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_VariationalRefinement_setAlpha_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_VariationalRefinement_getDelta_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_VariationalRefinement_setDelta_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_VariationalRefinement_getGamma_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_VariationalRefinement_setGamma_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_VariationalRefinement_create() -> Result<*mut c_void>;
	}
}
pub use video_sys::*;

mod videoio_sys {
	use super::*;

	extern "C" {
		pub fn cv_videoio_registry_getBackendName_VideoCaptureAPIs(api: crate::videoio::VideoCaptureAPIs) -> Result<*mut c_void>;
		pub fn cv_videoio_registry_getBackends() -> Result<*mut c_void>;
		pub fn cv_videoio_registry_getCameraBackends() -> Result<*mut c_void>;
		pub fn cv_videoio_registry_getStreamBackends() -> Result<*mut c_void>;
		pub fn cv_videoio_registry_getWriterBackends() -> Result<*mut c_void>;
		pub fn cv_videoio_registry_hasBackend_VideoCaptureAPIs(api: crate::videoio::VideoCaptureAPIs) -> Result<bool>;
		pub fn cv_VideoCapture_VideoCapture() -> Result<*mut c_void>;
		pub fn cv_VideoCapture_VideoCapture_const_StringX_int(filename: *const c_char, api_preference: i32) -> Result<*mut c_void>;
		pub fn cv_VideoCapture_VideoCapture_int_int(index: i32, api_preference: i32) -> Result<*mut c_void>;
		pub fn cv_VideoCapture_open_const_StringX_int(instance: *mut c_void, filename: *const c_char, api_preference: i32) -> Result<bool>;
		pub fn cv_VideoCapture_open_int_int(instance: *mut c_void, index: i32, api_preference: i32) -> Result<bool>;
		pub fn cv_VideoCapture_isOpened_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_VideoCapture_release(instance: *mut c_void) -> Result_void;
		pub fn cv_VideoCapture_grab(instance: *mut c_void) -> Result<bool>;
		pub fn cv_VideoCapture_retrieve_const__OutputArrayX_int(instance: *mut c_void, image: *const c_void, flag: i32) -> Result<bool>;
		pub fn cv_VideoCapture_read_const__OutputArrayX(instance: *mut c_void, image: *const c_void) -> Result<bool>;
		pub fn cv_VideoCapture_set_int_double(instance: *mut c_void, prop_id: i32, value: f64) -> Result<bool>;
		pub fn cv_VideoCapture_get_const_int(instance: *const c_void, prop_id: i32) -> Result<f64>;
		pub fn cv_VideoCapture_getBackendName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_VideoCapture_setExceptionMode_bool(instance: *mut c_void, enable: bool) -> Result_void;
		pub fn cv_VideoCapture_getExceptionMode(instance: *mut c_void) -> Result<bool>;
		pub fn cv_VideoCapture_waitAny_const_vector_VideoCapture_X_vector_int_X_int64_t(streams: *const c_void, ready_index: *mut c_void, timeout_ns: i64) -> Result<bool>;
		pub fn cv_VideoWriter_VideoWriter() -> Result<*mut c_void>;
		pub fn cv_VideoWriter_VideoWriter_const_StringX_int_double_Size_bool(filename: *const c_char, fourcc: i32, fps: f64, frame_size: *const core::Size, is_color: bool) -> Result<*mut c_void>;
		pub fn cv_VideoWriter_VideoWriter_const_StringX_int_int_double_Size_bool(filename: *const c_char, api_preference: i32, fourcc: i32, fps: f64, frame_size: *const core::Size, is_color: bool) -> Result<*mut c_void>;
		pub fn cv_VideoWriter_open_const_StringX_int_double_Size_bool(instance: *mut c_void, filename: *const c_char, fourcc: i32, fps: f64, frame_size: *const core::Size, is_color: bool) -> Result<bool>;
		pub fn cv_VideoWriter_open_const_StringX_int_int_double_Size_bool(instance: *mut c_void, filename: *const c_char, api_preference: i32, fourcc: i32, fps: f64, frame_size: *const core::Size, is_color: bool) -> Result<bool>;
		pub fn cv_VideoWriter_isOpened_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_VideoWriter_release(instance: *mut c_void) -> Result_void;
		pub fn cv_VideoWriter_write_const__InputArrayX(instance: *mut c_void, image: *const c_void) -> Result_void;
		pub fn cv_VideoWriter_set_int_double(instance: *mut c_void, prop_id: i32, value: f64) -> Result<bool>;
		pub fn cv_VideoWriter_get_const_int(instance: *const c_void, prop_id: i32) -> Result<f64>;
		pub fn cv_VideoWriter_fourcc_char_char_char_char(c1: i8, c2: i8, c3: i8, c4: i8) -> Result<i32>;
		pub fn cv_VideoWriter_getBackendName_const(instance: *const c_void) -> Result<*mut c_void>;
	}
}
pub use videoio_sys::*;

#[cfg(feature = "contrib")]
mod videostab_sys {
	use super::*;

	extern "C" {
		pub fn cv_videostab_calcBlurriness_const_MatX(frame: *const c_void) -> Result<f32>;
		pub fn cv_videostab_calcFlowMask_const_MatX_const_MatX_const_MatX_float_const_MatX_const_MatX_MatX(flow_x: *const c_void, flow_y: *const c_void, errors: *const c_void, max_error: f32, mask0: *const c_void, mask1: *const c_void, flow_mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_completeFrameAccordingToFlow_const_MatX_const_MatX_const_MatX_const_MatX_const_MatX_float_MatX_MatX(flow_mask: *const c_void, flow_x: *const c_void, flow_y: *const c_void, frame1: *const c_void, mask1: *const c_void, dist_thresh: f32, frame0: *mut c_void, mask0: *mut c_void) -> Result_void;
		pub fn cv_videostab_ensureInclusionConstraint_const_MatX_Size_float(m: *const c_void, size: *const core::Size, trim_ratio: f32) -> Result<*mut c_void>;
		pub fn cv_videostab_estimateGlobalMotionLeastSquares_const__InputOutputArrayX_const__InputOutputArrayX_int_floatX(points0: *const c_void, points1: *const c_void, model: i32, rmse: *mut f32) -> Result<*mut c_void>;
		pub fn cv_videostab_estimateGlobalMotionRansac_const__InputArrayX_const__InputArrayX_int_const_RansacParamsX_floatX_intX(points0: *const c_void, points1: *const c_void, model: i32, params: *const c_void, rmse: *mut f32, ninliers: *mut i32) -> Result<*mut c_void>;
		pub fn cv_videostab_estimateOptimalTrimRatio_const_MatX_Size(m: *const c_void, size: *const core::Size) -> Result<f32>;
		pub fn cv_videostab_getMotion_int_int_const_vector_Mat_X(from: i32, to: i32, motions: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_ColorAverageInpainter_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_ColorInpainter_ColorInpainter_int_double(method: i32, radius: f64) -> Result<*mut c_void>;
		pub fn cv_videostab_ColorInpainter_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_ConsistentMosaicInpainter_ConsistentMosaicInpainter() -> Result<*mut c_void>;
		pub fn cv_videostab_ConsistentMosaicInpainter_setStdevThresh_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_ConsistentMosaicInpainter_stdevThresh_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_ConsistentMosaicInpainter_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_DeblurerBase_setRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_DeblurerBase_radius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_DeblurerBase_deblur_int_MatX_const_RangeX(instance: *mut c_void, idx: i32, frame: *mut c_void, range: *const c_void) -> Result_void;
		pub fn cv_videostab_DeblurerBase_setFrames_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_DeblurerBase_frames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_DeblurerBase_setMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_DeblurerBase_motions_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_DeblurerBase_setBlurrinessRates_const_vector_float_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_DeblurerBase_blurrinessRates_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_FastMarchingMethod_FastMarchingMethod() -> Result<*mut c_void>;
		pub fn cv_videostab_FastMarchingMethod_distanceMap_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_FromFileMotionReader_FromFileMotionReader_const_StringX(path: *const c_char) -> Result<*mut c_void>;
		pub fn cv_videostab_FromFileMotionReader_estimate_const_MatX_const_MatX_boolX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_GaussianMotionFilter_GaussianMotionFilter_int_float(radius: i32, stdev: f32) -> Result<*mut c_void>;
		pub fn cv_videostab_GaussianMotionFilter_setParams_int_float(instance: *mut c_void, radius: i32, stdev: f32) -> Result_void;
		pub fn cv_videostab_GaussianMotionFilter_radius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_GaussianMotionFilter_stdev_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_GaussianMotionFilter_stabilize_int_const_vector_Mat_X_const_RangeX(instance: *mut c_void, idx: i32, motions: *const c_void, range: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_IDenseOptFlowEstimator_run_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__OutputArrayX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, flow_x: *const c_void, flow_y: *const c_void, errors: *const c_void) -> Result_void;
		pub fn cv_videostab_IFrameSource_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_videostab_IFrameSource_nextFrame(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_ILog_print_const_charX(instance: *mut c_void, format: *const c_char) -> Result_void;
		pub fn cv_videostab_IMotionStabilizer_stabilize_int_const_vector_Mat_X_const_RangeX_MatX(instance: *mut c_void, size: i32, motions: *const c_void, range: *const c_void, stabilization_motions: *mut c_void) -> Result_void;
		pub fn cv_videostab_IOutlierRejector_process_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, frame_size: *const core::Size, points0: *const c_void, points1: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_ISparseOptFlowEstimator_run_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, points0: *const c_void, points1: *const c_void, status: *const c_void, errors: *const c_void) -> Result_void;
		pub fn cv_videostab_ImageMotionEstimatorBase_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_ImageMotionEstimatorBase_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_ImageMotionEstimatorBase_setFrameMask_const__InputArrayX(instance: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_ImageMotionEstimatorBase_estimate_const_MatX_const_MatX_boolX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_InpainterBase_setRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_InpainterBase_radius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_InpainterBase_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_InpainterBase_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_InpainterBase_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_InpainterBase_setFrames_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpainterBase_frames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_InpainterBase_setMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpainterBase_motions_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_InpainterBase_setStabilizedFrames_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpainterBase_stabilizedFrames_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_InpainterBase_setStabilizationMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpainterBase_stabilizationMotions_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_InpaintingPipeline_pushBack_Ptr_InpainterBase_(instance: *mut c_void, inpainter: *mut c_void) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_videostab_InpaintingPipeline_setRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_setFrames_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_setMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_setStabilizedFrames_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_setStabilizationMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_InpaintingPipeline_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_KeypointBasedMotionEstimator_Ptr_MotionEstimatorBase_(estimator: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_setDetector_Ptr_Feature2D_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_detector_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_setOpticalFlowEstimator_Ptr_ISparseOptFlowEstimator_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_opticalFlowEstimator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_setOutlierRejector_Ptr_IOutlierRejector_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_outlierRejector_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_setFrameMask_const__InputArrayX(instance: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_KeypointBasedMotionEstimator_estimate_const_MatX_const_MatX_boolX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_KeypointBasedMotionEstimator_estimate_const__InputArrayX_const__InputArrayX_boolX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_LogToStdout_print_const_charX(instance: *mut c_void, format: *const c_char) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_LpMotionStabilizer_MotionModel(model: crate::videostab::MotionModel) -> Result<*mut c_void>;
		pub fn cv_videostab_LpMotionStabilizer_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_LpMotionStabilizer_setFrameSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_frameSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_videostab_LpMotionStabilizer_setTrimRatio_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_trimRatio_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_LpMotionStabilizer_setWeight1_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_weight1_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_LpMotionStabilizer_setWeight2_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_weight2_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_LpMotionStabilizer_setWeight3_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_weight3_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_LpMotionStabilizer_setWeight4_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_LpMotionStabilizer_weight4_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_LpMotionStabilizer_stabilize_int_const_vector_Mat_X_const_RangeX_MatX(instance: *mut c_void, size: i32, motions: *const c_void, range: *const c_void, stabilization_motions: *mut c_void) -> Result_void;
		pub fn cv_videostab_MoreAccurateMotionWobbleSuppressor_suppress_int_const_MatX_MatX(instance: *mut c_void, idx: i32, frame: *const c_void, result: *mut c_void) -> Result_void;
		pub fn cv_videostab_MoreAccurateMotionWobbleSuppressorBase_setPeriod_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_MoreAccurateMotionWobbleSuppressorBase_period_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_MotionEstimatorBase_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_MotionEstimatorBase_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_MotionEstimatorBase_estimate_const__InputArrayX_const__InputArrayX_boolX(instance: *mut c_void, points0: *const c_void, points1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionEstimatorL1_MotionEstimatorL1_MotionModel(model: crate::videostab::MotionModel) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionEstimatorL1_estimate_const__InputArrayX_const__InputArrayX_boolX(instance: *mut c_void, points0: *const c_void, points1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionEstimatorRansacL2_MotionEstimatorRansacL2_MotionModel(model: crate::videostab::MotionModel) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionEstimatorRansacL2_setRansacParams_const_RansacParamsX(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_MotionEstimatorRansacL2_ransacParams_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionEstimatorRansacL2_setMinInlierRatio_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_MotionEstimatorRansacL2_minInlierRatio_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_MotionEstimatorRansacL2_estimate_const__InputArrayX_const__InputArrayX_boolX(instance: *mut c_void, points0: *const c_void, points1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionFilterBase_stabilize_int_const_vector_Mat_X_const_RangeX(instance: *mut c_void, idx: i32, motions: *const c_void, range: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionFilterBase_stabilize_int_const_vector_Mat_X_const_RangeX_MatX(instance: *mut c_void, size: i32, motions: *const c_void, range: *const c_void, stabilization_motions: *mut c_void) -> Result_void;
		pub fn cv_videostab_MotionInpainter_MotionInpainter() -> Result<*mut c_void>;
		pub fn cv_videostab_MotionInpainter_setOptFlowEstimator_Ptr_IDenseOptFlowEstimator_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_MotionInpainter_optFlowEstimator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_MotionInpainter_setFlowErrorThreshold_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_MotionInpainter_flowErrorThreshold_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_MotionInpainter_setDistThreshold_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_MotionInpainter_distThresh_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_MotionInpainter_setBorderMode_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_MotionInpainter_borderMode_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_MotionInpainter_inpaint_int_MatX_MatX(instance: *mut c_void, idx: i32, frame: *mut c_void, mask: *mut c_void) -> Result_void;
		pub fn cv_videostab_MotionStabilizationPipeline_pushBack_Ptr_IMotionStabilizer_(instance: *mut c_void, stabilizer: *mut c_void) -> Result_void;
		pub fn cv_videostab_MotionStabilizationPipeline_empty_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_videostab_MotionStabilizationPipeline_stabilize_int_const_vector_Mat_X_const_RangeX_MatX(instance: *mut c_void, size: i32, motions: *const c_void, range: *const c_void, stabilization_motions: *mut c_void) -> Result_void;
		pub fn cv_videostab_NullDeblurer_deblur_int_MatX_const_RangeX(instance: *mut c_void, unnamed: i32, unnamed: *mut c_void, unnamed: *const c_void) -> Result_void;
		pub fn cv_videostab_NullFrameSource_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_videostab_NullFrameSource_nextFrame(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_NullInpainter_inpaint_int_MatX_MatX(instance: *mut c_void, unnamed: i32, unnamed: *mut c_void, unnamed: *mut c_void) -> Result_void;
		pub fn cv_videostab_NullLog_print_const_charX(instance: *mut c_void, unnamed: *const c_char) -> Result_void;
		pub fn cv_videostab_NullOutlierRejector_process_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, frame_size: *const core::Size, points0: *const c_void, points1: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_NullWobbleSuppressor_suppress_int_const_MatX_MatX(instance: *mut c_void, idx: i32, frame: *const c_void, result: *mut c_void) -> Result_void;
		pub fn cv_videostab_OnePassStabilizer_OnePassStabilizer() -> Result<*mut c_void>;
		pub fn cv_videostab_OnePassStabilizer_setMotionFilter_Ptr_MotionFilterBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_OnePassStabilizer_motionFilter_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_OnePassStabilizer_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_videostab_OnePassStabilizer_nextFrame(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_PyrLkOptFlowEstimatorBase_PyrLkOptFlowEstimatorBase() -> Result<*mut c_void>;
		pub fn cv_videostab_PyrLkOptFlowEstimatorBase_setWinSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_videostab_PyrLkOptFlowEstimatorBase_winSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_videostab_PyrLkOptFlowEstimatorBase_setMaxLevel_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_PyrLkOptFlowEstimatorBase_maxLevel_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_RansacParams_size_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_RansacParams_setSize_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_RansacParams_thresh_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_RansacParams_setThresh_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_RansacParams_eps_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_RansacParams_setEps_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_RansacParams_prob_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_RansacParams_setProb_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_RansacParams_RansacParams() -> Result<*mut c_void>;
		pub fn cv_videostab_RansacParams_RansacParams_int_float_float_float(size: i32, thresh: f32, eps: f32, prob: f32) -> Result<*mut c_void>;
		pub fn cv_videostab_RansacParams_niters_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_RansacParams_default2dMotion_MotionModel(model: crate::videostab::MotionModel) -> Result<*mut c_void>;
		pub fn cv_videostab_SparsePyrLkOptFlowEstimator_run_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_const__OutputArrayX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, points0: *const c_void, points1: *const c_void, status: *const c_void, errors: *const c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_setLog_Ptr_ILog_(instance: *mut c_void, ilog: *mut c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_log_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_StabilizerBase_setRadius_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_StabilizerBase_radius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_StabilizerBase_setFrameSource_Ptr_IFrameSource_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_frameSource_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_StabilizerBase_setMaskSource_const_Ptr_IFrameSource_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_maskSource_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_StabilizerBase_setMotionEstimator_Ptr_ImageMotionEstimatorBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_motionEstimator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_StabilizerBase_setDeblurer_Ptr_DeblurerBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_deblurrer_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_StabilizerBase_setTrimRatio_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_StabilizerBase_trimRatio_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_StabilizerBase_setCorrectionForInclusion_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_videostab_StabilizerBase_doCorrectionForInclusion_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_videostab_StabilizerBase_setBorderMode_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_StabilizerBase_borderMode_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_StabilizerBase_setInpainter_Ptr_InpainterBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_StabilizerBase_inpainter_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_ToFileMotionWriter_ToFileMotionWriter_const_StringX_Ptr_ImageMotionEstimatorBase_(path: *const c_char, estimator: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_ToFileMotionWriter_setMotionModel_MotionModel(instance: *mut c_void, val: crate::videostab::MotionModel) -> Result_void;
		pub fn cv_videostab_ToFileMotionWriter_motionModel_const(instance: *const c_void) -> Result<crate::videostab::MotionModel>;
		pub fn cv_videostab_ToFileMotionWriter_setFrameMask_const__InputArrayX(instance: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_ToFileMotionWriter_estimate_const_MatX_const_MatX_boolX(instance: *mut c_void, frame0: *const c_void, frame1: *const c_void, ok: *mut bool) -> Result<*mut c_void>;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_TranslationBasedLocalOutlierRejector() -> Result<*mut c_void>;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_setCellSize_Size(instance: *mut c_void, val: *const core::Size) -> Result_void;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_cellSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_setRansacParams_RansacParams(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_ransacParams_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_TranslationBasedLocalOutlierRejector_process_Size_const__InputArrayX_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, frame_size: *const core::Size, points0: *const c_void, points1: *const c_void, mask: *const c_void) -> Result_void;
		pub fn cv_videostab_TwoPassStabilizer_TwoPassStabilizer() -> Result<*mut c_void>;
		pub fn cv_videostab_TwoPassStabilizer_setMotionStabilizer_Ptr_IMotionStabilizer_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_TwoPassStabilizer_motionStabilizer_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_TwoPassStabilizer_setWobbleSuppressor_Ptr_WobbleSuppressorBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_TwoPassStabilizer_wobbleSuppressor_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_TwoPassStabilizer_setEstimateTrimRatio_bool(instance: *mut c_void, val: bool) -> Result_void;
		pub fn cv_videostab_TwoPassStabilizer_mustEstimateTrimaRatio_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_videostab_TwoPassStabilizer_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_videostab_TwoPassStabilizer_nextFrame(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_VideoFileSource_VideoFileSource_const_StringX_bool(path: *const c_char, volatile_frame: bool) -> Result<*mut c_void>;
		pub fn cv_videostab_VideoFileSource_reset(instance: *mut c_void) -> Result_void;
		pub fn cv_videostab_VideoFileSource_nextFrame(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_VideoFileSource_width(instance: *mut c_void) -> Result<i32>;
		pub fn cv_videostab_VideoFileSource_height(instance: *mut c_void) -> Result<i32>;
		pub fn cv_videostab_VideoFileSource_count(instance: *mut c_void) -> Result<i32>;
		pub fn cv_videostab_VideoFileSource_fps(instance: *mut c_void) -> Result<f64>;
		pub fn cv_videostab_WeightingDeblurer_WeightingDeblurer() -> Result<*mut c_void>;
		pub fn cv_videostab_WeightingDeblurer_setSensitivity_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_videostab_WeightingDeblurer_sensitivity_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_videostab_WeightingDeblurer_deblur_int_MatX_const_RangeX(instance: *mut c_void, idx: i32, frame: *mut c_void, range: *const c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_setMotionEstimator_Ptr_ImageMotionEstimatorBase_(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_motionEstimator_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_WobbleSuppressorBase_suppress_int_const_MatX_MatX(instance: *mut c_void, idx: i32, frame: *const c_void, result: *mut c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_setFrameCount_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_frameCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_videostab_WobbleSuppressorBase_setMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_motions_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_WobbleSuppressorBase_setMotions2_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_motions2_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_videostab_WobbleSuppressorBase_setStabilizationMotions_const_vector_Mat_X(instance: *mut c_void, val: *const c_void) -> Result_void;
		pub fn cv_videostab_WobbleSuppressorBase_stabilizationMotions_const(instance: *const c_void) -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use videostab_sys::*;

mod viz_sys {
	use super::*;

	extern "C" {
		pub fn cv_viz_computeNormals_const_MeshX_const__OutputArrayX(mesh: *const c_void, normals: *const c_void) -> Result_void;
		pub fn cv_viz_getWindowByName_const_StringX(window_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_viz_imshow_const_StringX_const__InputArrayX_const_SizeX(window_name: *const c_char, image: *const c_void, window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_makeCameraPose_const_Vec3dX_const_Vec3dX_const_Vec3dX(position: *const core::Vec3d, focal_point: *const core::Vec3d, y_dir: *const core::Vec3d) -> Result<core::Affine3d>;
		pub fn cv_viz_makeTransformToGlobal_const_Vec3dX_const_Vec3dX_const_Vec3dX_const_Vec3dX(axis_x: *const core::Vec3d, axis_y: *const core::Vec3d, axis_z: *const core::Vec3d, origin: *const core::Vec3d) -> Result<core::Affine3d>;
		pub fn cv_viz_readCloud_const_StringX_const__OutputArrayX_const__OutputArrayX(file: *const c_char, colors: *const c_void, normals: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_readMesh_const_StringX(file: *const c_char) -> Result<*mut c_void>;
		pub fn cv_viz_readPose_const_StringX_Affine3dX_const_StringX(file: *const c_char, pose: *mut core::Affine3d, tag: *const c_char) -> Result<bool>;
		pub fn cv_viz_readTrajectory_const__OutputArrayX_const_StringX_int_int_const_StringX(traj: *const c_void, files_format: *const c_char, start: i32, end: i32, tag: *const c_char) -> Result_void;
		pub fn cv_viz_unregisterAllWindows() -> Result_void;
		pub fn cv_viz_writeCloud_const_StringX_const__InputArrayX_const__InputArrayX_const__InputArrayX_bool(file: *const c_char, cloud: *const c_void, colors: *const c_void, normals: *const c_void, binary: bool) -> Result_void;
		pub fn cv_viz_writePose_const_StringX_const_Affine3dX_const_StringX(file: *const c_char, pose: *const core::Affine3d, tag: *const c_char) -> Result_void;
		pub fn cv_viz_writeTrajectory_const__InputArrayX_const_StringX_int_const_StringX(traj: *const c_void, files_format: *const c_char, start: i32, tag: *const c_char) -> Result_void;
		pub fn cv_viz_Camera_Camera_double_double_double_double_const_SizeX(fx: f64, fy: f64, cx: f64, cy: f64, window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_Camera_Camera_const_Vec2dX_const_SizeX(fov: *const core::Vec2d, window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_Camera_Camera_const_Matx33dX_const_SizeX(k: *const core::Matx33d, window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_Camera_Camera_const_Matx44dX_const_SizeX(proj: *const core::Matx44d, window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_Camera_getClip_const(instance: *const c_void) -> Result<core::Vec2d>;
		pub fn cv_viz_Camera_setClip_const_Vec2dX(instance: *mut c_void, clip: *const core::Vec2d) -> Result_void;
		pub fn cv_viz_Camera_getWindowSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_viz_Camera_setWindowSize_const_SizeX(instance: *mut c_void, window_size: *const core::Size) -> Result_void;
		pub fn cv_viz_Camera_getFov_const(instance: *const c_void) -> Result<core::Vec2d>;
		pub fn cv_viz_Camera_setFov_const_Vec2dX(instance: *mut c_void, fov: *const core::Vec2d) -> Result_void;
		pub fn cv_viz_Camera_getPrincipalPoint_const(instance: *const c_void) -> Result<core::Vec2d>;
		pub fn cv_viz_Camera_getFocalLength_const(instance: *const c_void) -> Result<core::Vec2d>;
		pub fn cv_viz_Camera_computeProjectionMatrix_const_Matx44dX(instance: *const c_void, proj: *mut core::Matx44d) -> Result_void;
		pub fn cv_viz_Camera_KinectCamera_const_SizeX(window_size: *const core::Size) -> Result<*mut c_void>;
		pub fn cv_viz_Color_Color() -> Result<*mut c_void>;
		pub fn cv_viz_Color_Color_double(gray: f64) -> Result<*mut c_void>;
		pub fn cv_viz_Color_Color_double_double_double(blue: f64, green: f64, red: f64) -> Result<*mut c_void>;
		pub fn cv_viz_Color_Color_const_ScalarX(color: *const core::Scalar) -> Result<*mut c_void>;
		pub fn cv_viz_Color_operator_cv_Vec3b_const(instance: *const c_void) -> Result<core::Vec3b>;
		pub fn cv_viz_Color_black() -> Result<*mut c_void>;
		pub fn cv_viz_Color_blue() -> Result<*mut c_void>;
		pub fn cv_viz_Color_green() -> Result<*mut c_void>;
		pub fn cv_viz_Color_red() -> Result<*mut c_void>;
		pub fn cv_viz_Color_cyan() -> Result<*mut c_void>;
		pub fn cv_viz_Color_yellow() -> Result<*mut c_void>;
		pub fn cv_viz_Color_magenta() -> Result<*mut c_void>;
		pub fn cv_viz_Color_white() -> Result<*mut c_void>;
		pub fn cv_viz_Color_gray() -> Result<*mut c_void>;
		pub fn cv_viz_Color_silver() -> Result<*mut c_void>;
		pub fn cv_viz_Color_mlab() -> Result<*mut c_void>;
		pub fn cv_viz_Color_navy() -> Result<*mut c_void>;
		pub fn cv_viz_Color_maroon() -> Result<*mut c_void>;
		pub fn cv_viz_Color_teal() -> Result<*mut c_void>;
		pub fn cv_viz_Color_olive() -> Result<*mut c_void>;
		pub fn cv_viz_Color_purple() -> Result<*mut c_void>;
		pub fn cv_viz_Color_azure() -> Result<*mut c_void>;
		pub fn cv_viz_Color_chartreuse() -> Result<*mut c_void>;
		pub fn cv_viz_Color_rose() -> Result<*mut c_void>;
		pub fn cv_viz_Color_lime() -> Result<*mut c_void>;
		pub fn cv_viz_Color_gold() -> Result<*mut c_void>;
		pub fn cv_viz_Color_orange() -> Result<*mut c_void>;
		pub fn cv_viz_Color_orange_red() -> Result<*mut c_void>;
		pub fn cv_viz_Color_indigo() -> Result<*mut c_void>;
		pub fn cv_viz_Color_brown() -> Result<*mut c_void>;
		pub fn cv_viz_Color_apricot() -> Result<*mut c_void>;
		pub fn cv_viz_Color_pink() -> Result<*mut c_void>;
		pub fn cv_viz_Color_raspberry() -> Result<*mut c_void>;
		pub fn cv_viz_Color_cherry() -> Result<*mut c_void>;
		pub fn cv_viz_Color_violet() -> Result<*mut c_void>;
		pub fn cv_viz_Color_amethyst() -> Result<*mut c_void>;
		pub fn cv_viz_Color_bluberry() -> Result<*mut c_void>;
		pub fn cv_viz_Color_celestial_blue() -> Result<*mut c_void>;
		pub fn cv_viz_Color_turquoise() -> Result<*mut c_void>;
		pub fn cv_viz_Color_not_set() -> Result<*mut c_void>;
		pub fn cv_viz_KeyboardEvent_action_const(instance: *const c_void) -> Result<crate::viz::KeyboardEvent_Action>;
		pub fn cv_viz_KeyboardEvent_setAction_Action(instance: *mut c_void, val: crate::viz::KeyboardEvent_Action) -> Result_void;
		pub fn cv_viz_KeyboardEvent_symbol_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_KeyboardEvent_setSymbol_String(instance: *mut c_void, val: *mut c_char) -> Result_void;
		pub fn cv_viz_KeyboardEvent_code_const(instance: *const c_void) -> Result<u8>;
		pub fn cv_viz_KeyboardEvent_setCode_unsigned_char(instance: *mut c_void, val: u8) -> Result_void;
		pub fn cv_viz_KeyboardEvent_modifiers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_viz_KeyboardEvent_setModifiers_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_viz_KeyboardEvent_KeyboardEvent_Action_const_StringX_unsigned_char_int(action: crate::viz::KeyboardEvent_Action, symbol: *const c_char, code: u8, modifiers: i32) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_cloud(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setCloud_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_colors(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setColors_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_normals(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setNormals_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_polygons(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setPolygons_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_texture(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setTexture_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_tcoords(instance: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Mesh_setTcoords_Mat(instance: *mut c_void, val: *mut c_void) -> Result_void;
		pub fn cv_viz_Mesh_load_const_StringX_int(file: *const c_char, typ: i32) -> Result<*mut c_void>;
		pub fn cv_viz_MouseEvent_type_const(instance: *const c_void) -> Result<crate::viz::MouseEvent_Type>;
		pub fn cv_viz_MouseEvent_setType_Type(instance: *mut c_void, val: crate::viz::MouseEvent_Type) -> Result_void;
		pub fn cv_viz_MouseEvent_button_const(instance: *const c_void) -> Result<crate::viz::MouseEvent_MouseButton>;
		pub fn cv_viz_MouseEvent_setButton_MouseButton(instance: *mut c_void, val: crate::viz::MouseEvent_MouseButton) -> Result_void;
		pub fn cv_viz_MouseEvent_pointer_const(instance: *const c_void) -> Result<core::Point>;
		pub fn cv_viz_MouseEvent_setPointer_Point(instance: *mut c_void, val: *const core::Point) -> Result_void;
		pub fn cv_viz_MouseEvent_modifiers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_viz_MouseEvent_setModifiers_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_viz_MouseEvent_MouseEvent_const_TypeX_const_MouseButtonX_const_PointX_int(typ: *const crate::viz::MouseEvent_Type, button: *const crate::viz::MouseEvent_MouseButton, pointer: *const core::Point, modifiers: i32) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_Viz3d_const_StringX(window_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_Viz3d_const_Viz3dX(unnamed: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_showWidget_const_StringX_const_WidgetX_const_Affine3dX(instance: *mut c_void, id: *const c_char, widget: *const c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Viz3d_removeWidget_const_StringX(instance: *mut c_void, id: *const c_char) -> Result_void;
		pub fn cv_viz_Viz3d_getWidget_const_const_StringX(instance: *const c_void, id: *const c_char) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_removeAllWidgets(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_showImage_const__InputArrayX_const_SizeX(instance: *mut c_void, image: *const c_void, window_size: *const core::Size) -> Result_void;
		pub fn cv_viz_Viz3d_setWidgetPose_const_StringX_const_Affine3dX(instance: *mut c_void, id: *const c_char, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Viz3d_updateWidgetPose_const_StringX_const_Affine3dX(instance: *mut c_void, id: *const c_char, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Viz3d_getWidgetPose_const_const_StringX(instance: *const c_void, id: *const c_char) -> Result<core::Affine3d>;
		pub fn cv_viz_Viz3d_setCamera_const_CameraX(instance: *mut c_void, camera: *const c_void) -> Result_void;
		pub fn cv_viz_Viz3d_getCamera_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_getViewerPose_const(instance: *const c_void) -> Result<core::Affine3d>;
		pub fn cv_viz_Viz3d_setViewerPose_const_Affine3dX(instance: *mut c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Viz3d_resetCameraViewpoint_const_StringX(instance: *mut c_void, id: *const c_char) -> Result_void;
		pub fn cv_viz_Viz3d_resetCamera(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_convertToWindowCoordinates_const_Point3dX_Point3dX(instance: *mut c_void, pt: *const core::Point3d, window_coord: *mut core::Point3d) -> Result_void;
		pub fn cv_viz_Viz3d_converTo3DRay_const_Point3dX_Point3dX_Vec3dX(instance: *mut c_void, window_coord: *const core::Point3d, origin: *mut core::Point3d, direction: *mut core::Vec3d) -> Result_void;
		pub fn cv_viz_Viz3d_getWindowSize_const(instance: *const c_void) -> Result<core::Size>;
		pub fn cv_viz_Viz3d_setWindowSize_const_SizeX(instance: *mut c_void, window_size: *const core::Size) -> Result_void;
		pub fn cv_viz_Viz3d_getWindowName_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_getScreenshot_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Viz3d_saveScreenshot_const_StringX(instance: *mut c_void, file: *const c_char) -> Result_void;
		pub fn cv_viz_Viz3d_setWindowPosition_const_PointX(instance: *mut c_void, window_position: *const core::Point) -> Result_void;
		pub fn cv_viz_Viz3d_setFullScreen_bool(instance: *mut c_void, mode: bool) -> Result_void;
		pub fn cv_viz_Viz3d_setBackgroundColor_const_ColorX_const_ColorX(instance: *mut c_void, color: *const c_void, color2: *const c_void) -> Result_void;
		pub fn cv_viz_Viz3d_setBackgroundTexture_const__InputArrayX(instance: *mut c_void, image: *const c_void) -> Result_void;
		pub fn cv_viz_Viz3d_setBackgroundMeshLab(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_spin(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_spinOnce_int_bool(instance: *mut c_void, time: i32, force_redraw: bool) -> Result_void;
		pub fn cv_viz_Viz3d_setOffScreenRendering(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_removeAllLights(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_addLight_const_Vec3dX_const_Vec3dX_const_ColorX_const_ColorX_const_ColorX_const_ColorX(instance: *mut c_void, position: *const core::Vec3d, focal_point: *const core::Vec3d, color: *const c_void, diffuse_color: *const c_void, ambient_color: *const c_void, specular_color: *const c_void) -> Result_void;
		pub fn cv_viz_Viz3d_wasStopped_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_viz_Viz3d_close(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_registerKeyboardCallback_KeyboardCallback_voidX(instance: *mut c_void, callback: Option<unsafe extern "C" fn(*const c_void, *mut c_void) -> ()>, cookie: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_registerMouseCallback_MouseCallback_voidX(instance: *mut c_void, callback: Option<unsafe extern "C" fn(*const c_void, *mut c_void) -> ()>, cookie: *mut c_void) -> Result_void;
		pub fn cv_viz_Viz3d_setRenderingProperty_const_StringX_int_double(instance: *mut c_void, id: *const c_char, property: i32, value: f64) -> Result_void;
		pub fn cv_viz_Viz3d_getRenderingProperty_const_StringX_int(instance: *mut c_void, id: *const c_char, property: i32) -> Result<f64>;
		pub fn cv_viz_Viz3d_setRepresentation_int(instance: *mut c_void, representation: i32) -> Result_void;
		pub fn cv_viz_Viz3d_setGlobalWarnings_bool(instance: *mut c_void, enabled: bool) -> Result_void;
		pub fn cv_viz_WArrow_WArrow_const_Point3dX_const_Point3dX_double_const_ColorX(pt1: *const core::Point3d, pt2: *const core::Point3d, thickness: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCameraPosition_WCameraPosition_double(scale: f64) -> Result<*mut c_void>;
		pub fn cv_viz_WCameraPosition_WCameraPosition_const_Matx33dX_double_const_ColorX(k: *const core::Matx33d, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCameraPosition_WCameraPosition_const_Vec2dX_double_const_ColorX(fov: *const core::Vec2d, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCameraPosition_WCameraPosition_const_Matx33dX_const__InputArrayX_double_const_ColorX(k: *const core::Matx33d, image: *const c_void, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCameraPosition_WCameraPosition_const_Vec2dX_const__InputArrayX_double_const_ColorX(fov: *const core::Vec2d, image: *const c_void, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCircle_WCircle_double_double_const_ColorX(radius: f64, thickness: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCircle_WCircle_double_const_Point3dX_const_Vec3dX_double_const_ColorX(radius: f64, center: *const core::Point3d, normal: *const core::Vec3d, thickness: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCloud_WCloud_const__InputArrayX_const__InputArrayX(cloud: *const c_void, colors: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCloud_WCloud_const__InputArrayX_const_ColorX(cloud: *const c_void, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCloud_WCloud_const__InputArrayX_const__InputArrayX_const__InputArrayX(cloud: *const c_void, colors: *const c_void, normals: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCloud_WCloud_const__InputArrayX_const_ColorX_const__InputArrayX(cloud: *const c_void, color: *const c_void, normals: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCloudCollection_WCloudCollection() -> Result<*mut c_void>;
		pub fn cv_viz_WCloudCollection_addCloud_const__InputArrayX_const__InputArrayX_const_Affine3dX(instance: *mut c_void, cloud: *const c_void, colors: *const c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_WCloudCollection_addCloud_const__InputArrayX_const_ColorX_const_Affine3dX(instance: *mut c_void, cloud: *const c_void, color: *const c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_WCloudCollection_finalize(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_WCloudNormals_WCloudNormals_const__InputArrayX_const__InputArrayX_int_double_const_ColorX(cloud: *const c_void, normals: *const c_void, level: i32, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCone_WCone_double_double_int_const_ColorX(length: f64, radius: f64, resolution: i32, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCone_WCone_double_const_Point3dX_const_Point3dX_int_const_ColorX(radius: f64, center: *const core::Point3d, tip: *const core::Point3d, resolution: i32, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCoordinateSystem_WCoordinateSystem_double(scale: f64) -> Result<*mut c_void>;
		pub fn cv_viz_WCube_WCube_const_Point3dX_const_Point3dX_bool_const_ColorX(min_point: *const core::Point3d, max_point: *const core::Point3d, wire_frame: bool, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WCylinder_WCylinder_const_Point3dX_const_Point3dX_double_int_const_ColorX(axis_point1: *const core::Point3d, axis_point2: *const core::Point3d, radius: f64, numsides: i32, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WGrid_WGrid_const_Vec2iX_const_Vec2dX_const_ColorX(cells: *const core::Vec2i, cells_spacing: *const core::Vec2d, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WGrid_WGrid_const_Point3dX_const_Vec3dX_const_Vec3dX_const_Vec2iX_const_Vec2dX_const_ColorX(center: *const core::Point3d, normal: *const core::Vec3d, new_yaxis: *const core::Vec3d, cells: *const core::Vec2i, cells_spacing: *const core::Vec2d, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WImage3D_WImage3D_const__InputArrayX_const_Size2dX(image: *const c_void, size: *const core::Size2d) -> Result<*mut c_void>;
		pub fn cv_viz_WImage3D_WImage3D_const__InputArrayX_const_Size2dX_const_Vec3dX_const_Vec3dX_const_Vec3dX(image: *const c_void, size: *const core::Size2d, center: *const core::Vec3d, normal: *const core::Vec3d, up_vector: *const core::Vec3d) -> Result<*mut c_void>;
		pub fn cv_viz_WImage3D_setImage_const__InputArrayX(instance: *mut c_void, image: *const c_void) -> Result_void;
		pub fn cv_viz_WImage3D_setSize_const_SizeX(instance: *mut c_void, size: *const core::Size) -> Result_void;
		pub fn cv_viz_WImageOverlay_WImageOverlay_const__InputArrayX_const_RectX(image: *const c_void, rect: *const core::Rect) -> Result<*mut c_void>;
		pub fn cv_viz_WImageOverlay_setImage_const__InputArrayX(instance: *mut c_void, image: *const c_void) -> Result_void;
		pub fn cv_viz_WLine_WLine_const_Point3dX_const_Point3dX_const_ColorX(pt1: *const core::Point3d, pt2: *const core::Point3d, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WMesh_WMesh_const_MeshX(mesh: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WMesh_WMesh_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX(cloud: *const c_void, polygons: *const c_void, colors: *const c_void, normals: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPaintedCloud_WPaintedCloud_const__InputArrayX(cloud: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPaintedCloud_WPaintedCloud_const__InputArrayX_const_Point3dX_const_Point3dX(cloud: *const c_void, p1: *const core::Point3d, p2: *const core::Point3d) -> Result<*mut c_void>;
		pub fn cv_viz_WPaintedCloud_WPaintedCloud_const__InputArrayX_const_Point3dX_const_Point3dX_const_ColorX_Color(cloud: *const c_void, p1: *const core::Point3d, p2: *const core::Point3d, c1: *const c_void, c2: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPlane_WPlane_const_Size2dX_const_ColorX(size: *const core::Size2d, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPlane_WPlane_const_Point3dX_const_Vec3dX_const_Vec3dX_const_Size2dX_const_ColorX(center: *const core::Point3d, normal: *const core::Vec3d, new_yaxis: *const core::Vec3d, size: *const core::Size2d, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPolyLine_WPolyLine_const__InputArrayX_const__InputArrayX(points: *const c_void, colors: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WPolyLine_WPolyLine_const__InputArrayX_const_ColorX(points: *const c_void, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WSphere_WSphere_const_Point3dX_double_int_const_ColorX(center: *const core::Point3d, radius: f64, sphere_resolution: i32, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WText_WText_const_StringX_const_PointX_int_const_ColorX(text: *const c_char, pos: *const core::Point, font_size: i32, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WText_setText_const_StringX(instance: *mut c_void, text: *const c_char) -> Result_void;
		pub fn cv_viz_WText_getText_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WText3D_WText3D_const_StringX_const_Point3dX_double_bool_const_ColorX(text: *const c_char, position: *const core::Point3d, text_scale: f64, face_camera: bool, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WText3D_setText_const_StringX(instance: *mut c_void, text: *const c_char) -> Result_void;
		pub fn cv_viz_WText3D_getText_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WTrajectory_WTrajectory_const__InputArrayX_int_double_const_ColorX(path: *const c_void, display_mode: i32, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WTrajectoryFrustums_WTrajectoryFrustums_const__InputArrayX_const_Matx33dX_double_const_ColorX(path: *const c_void, k: *const core::Matx33d, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WTrajectoryFrustums_WTrajectoryFrustums_const__InputArrayX_const_Vec2dX_double_const_ColorX(path: *const c_void, fov: *const core::Vec2d, scale: f64, color: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WTrajectorySpheres_WTrajectorySpheres_const__InputArrayX_double_double_const_ColorX_const_ColorX(path: *const c_void, line_length: f64, radius: f64, from: *const c_void, to: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_WWidgetMerger_WWidgetMerger() -> Result<*mut c_void>;
		pub fn cv_viz_WWidgetMerger_addWidget_const_Widget3DX_const_Affine3dX(instance: *mut c_void, widget: *const c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_WWidgetMerger_finalize(instance: *mut c_void) -> Result_void;
		pub fn cv_viz_Widget_Widget() -> Result<*mut c_void>;
		pub fn cv_viz_Widget_Widget_const_WidgetX(other: *const c_void) -> Result<*mut c_void>;
		pub fn cv_viz_Widget_fromPlyFile_const_StringX(file_name: *const c_char) -> Result<*mut c_void>;
		pub fn cv_viz_Widget_setRenderingProperty_int_double(instance: *mut c_void, property: i32, value: f64) -> Result_void;
		pub fn cv_viz_Widget_getRenderingProperty_const_int(instance: *const c_void, property: i32) -> Result<f64>;
		pub fn cv_viz_Widget2D_Widget2D() -> Result<*mut c_void>;
		pub fn cv_viz_Widget2D_setColor_const_ColorX(instance: *mut c_void, color: *const c_void) -> Result_void;
		pub fn cv_viz_Widget3D_Widget3D() -> Result<*mut c_void>;
		pub fn cv_viz_Widget3D_setPose_const_Affine3dX(instance: *mut c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Widget3D_updatePose_const_Affine3dX(instance: *mut c_void, pose: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Widget3D_getPose_const(instance: *const c_void) -> Result<core::Affine3d>;
		pub fn cv_viz_Widget3D_applyTransform_const_Affine3dX(instance: *mut c_void, transform: *const core::Affine3d) -> Result_void;
		pub fn cv_viz_Widget3D_setColor_const_ColorX(instance: *mut c_void, color: *const c_void) -> Result_void;
	}
}
pub use viz_sys::*;

#[cfg(feature = "contrib")]
mod xfeatures2d_sys {
	use super::*;

	extern "C" {
		pub fn cv_xfeatures2d_FASTForPointSet_const__InputArrayX_vector_KeyPoint_X_int_bool_DetectorType(image: *const c_void, keypoints: *mut c_void, threshold: i32, nonmax_suppression: bool, typ: crate::features2d::FastFeatureDetector_DetectorType) -> Result_void;
		pub fn cv_xfeatures2d_matchGMS_const_SizeX_const_SizeX_const_vector_KeyPoint_X_const_vector_KeyPoint_X_const_vector_DMatch_X_vector_DMatch_X_bool_bool_double(size1: *const core::Size, size2: *const core::Size, keypoints1: *const c_void, keypoints2: *const c_void, matches1to2: *const c_void, matches_gms: *mut c_void, with_rotation: bool, with_scale: bool, threshold_factor: f64) -> Result_void;
		pub fn cv_xfeatures2d_matchLOGOS_const_vector_KeyPoint_X_const_vector_KeyPoint_X_const_vector_int_X_const_vector_int_X_vector_DMatch_X(keypoints1: *const c_void, keypoints2: *const c_void, nn1: *const c_void, nn2: *const c_void, matches1to2: *mut c_void) -> Result_void;
		pub fn cv_xfeatures2d_AffineFeature2D_create_Ptr_Feature2D__Ptr_Feature2D_(keypoint_detector: *mut c_void, descriptor_extractor: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_AffineFeature2D_create_Ptr_Feature2D_(keypoint_detector: *mut c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_AffineFeature2D_detect_const__InputArrayX_vector_Elliptic_KeyPoint_X_const__InputArrayX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, mask: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_AffineFeature2D_detectAndCompute_const__InputArrayX_const__InputArrayX_vector_Elliptic_KeyPoint_X_const__OutputArrayX_bool(instance: *mut c_void, image: *const c_void, mask: *const c_void, keypoints: *mut c_void, descriptors: *const c_void, use_provided_keypoints: bool) -> Result_void;
		pub fn cv_xfeatures2d_BoostDesc_create_int_bool_float(desc: i32, use_scale_orientation: bool, scale_factor: f32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_BoostDesc_setUseScaleOrientation_bool(instance: *mut c_void, use_scale_orientation: bool) -> Result_void;
		pub fn cv_xfeatures2d_BoostDesc_getUseScaleOrientation_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_xfeatures2d_BoostDesc_setScaleFactor_float(instance: *mut c_void, scale_factor: f32) -> Result_void;
		pub fn cv_xfeatures2d_BoostDesc_getScaleFactor_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_BriefDescriptorExtractor_create_int_bool(bytes: i32, use_orientation: bool) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_DAISY_create_float_int_int_int_NormalizationType_const__InputArrayX_bool_bool(radius: f32, q_radius: i32, q_theta: i32, q_hist: i32, norm: crate::xfeatures2d::DAISY_NormalizationType, h: *const c_void, interpolation: bool, use_orientation: bool) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_DAISY_compute_const__InputArrayX_vector_KeyPoint_X_const__OutputArrayX(instance: *mut c_void, image: *const c_void, keypoints: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_compute_const__InputArrayX_vector_vector_KeyPoint__X_const__OutputArrayX(instance: *mut c_void, images: *const c_void, keypoints: *mut c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_compute_const__InputArrayX_Rect_const__OutputArrayX(instance: *mut c_void, image: *const c_void, roi: *const core::Rect, descriptors: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_compute_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, image: *const c_void, descriptors: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_GetDescriptor_const_double_double_int_floatX(instance: *const c_void, y: f64, x: f64, orientation: i32, descriptor: *mut f32) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_GetDescriptor_const_double_double_int_floatX_doubleX(instance: *const c_void, y: f64, x: f64, orientation: i32, descriptor: *mut f32, h: *mut f64) -> Result<bool>;
		pub fn cv_xfeatures2d_DAISY_GetUnnormalizedDescriptor_const_double_double_int_floatX(instance: *const c_void, y: f64, x: f64, orientation: i32, descriptor: *mut f32) -> Result_void;
		pub fn cv_xfeatures2d_DAISY_GetUnnormalizedDescriptor_const_double_double_int_floatX_doubleX(instance: *const c_void, y: f64, x: f64, orientation: i32, descriptor: *mut f32, h: *mut f64) -> Result<bool>;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_axes_const(instance: *const c_void) -> Result<core::Size_<f32>>;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_setAxes_Size__float_(instance: *mut c_void, val: *const core::Size_<f32>) -> Result_void;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_si_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_setSi_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_transf_const(instance: *const c_void) -> Result<core::Matx23f>;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_setTransf_Matx23f(instance: *mut c_void, val: *const core::Matx23f) -> Result_void;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_Elliptic_KeyPoint() -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_Elliptic_KeyPoint_Elliptic_KeyPoint_Point2f_float_Size_float_float(pt: *const core::Point2f, angle: f32, axes: *const core::Size, size: f32, si: f32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_FREAK_NB_SCALES_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_FREAK_NB_PAIRS_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_FREAK_NB_ORIENPAIRS_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_FREAK_create_bool_bool_float_int_const_vector_int_X(orientation_normalized: bool, scale_normalized: bool, pattern_scale: f32, n_octaves: i32, selected_pairs: *const c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_HarrisLaplaceFeatureDetector_create_int_float_float_int_int(num_octaves: i32, corn_thresh: f32, dog_thresh: f32, max_corners: i32, num_layers: i32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_LATCH_create_int_bool_int_double(bytes: i32, rotation_invariance: bool, half_ssd_size: i32, sigma: f64) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_LUCID_create_int_int(lucid_kernel: i32, blur_kernel: i32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_MSDDetector_create_int_int_int_int_float_int_float_int_bool(m_patch_radius: i32, m_search_area_radius: i32, m_nms_radius: i32, m_nms_scale_radius: i32, m_th_saliency: f32, m_k_nn: i32, m_scale_factor: f32, m_n_scales: i32, m_compute_orientation: bool) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_create_int_int_int(init_sample_count: i32, init_seed_count: i32, point_distribution: i32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_create_const_vector_Point2f_X_int(init_sampling_points: *const c_void, init_seed_count: i32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_create_const_vector_Point2f_X_const_vector_int_X(init_sampling_points: *const c_void, init_cluster_seed_indexes: *const c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_computeSignature_const_const__InputArrayX_const__OutputArrayX(instance: *const c_void, image: *const c_void, signature: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_computeSignatures_const_const_vector_Mat_X_vector_Mat_X(instance: *const c_void, images: *const c_void, signatures: *mut c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_drawSignature_const__InputArrayX_const__InputArrayX_const__OutputArrayX_float_int(source: *const c_void, signature: *const c_void, result: *const c_void, radius_to_shorter_side_ratio: f32, border_thickness: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_generateInitPoints_vector_Point2f_X_int_int(init_points: *mut c_void, count: i32, point_distribution: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getSampleCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_getGrayscaleBits_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setGrayscaleBits_int(instance: *mut c_void, grayscale_bits: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWindowRadius_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWindowRadius_int(instance: *mut c_void, radius: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightX_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightX_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightY_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightY_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightL_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightL_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightA_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightA_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightB_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightB_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightContrast_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightContrast_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getWeightEntropy_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeightEntropy_float(instance: *mut c_void, weight: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getSamplingPoints_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_setWeight_int_float(instance: *mut c_void, idx: i32, value: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_setWeights_const_vector_float_X(instance: *mut c_void, weights: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_setTranslation_int_float(instance: *mut c_void, idx: i32, value: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_setTranslations_const_vector_float_X(instance: *mut c_void, translations: *const c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_setSamplingPoints_vector_Point2f_(instance: *mut c_void, sampling_points: *mut c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getInitSeedIndexes_const(instance: *const c_void) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignatures_setInitSeedIndexes_vector_int_(instance: *mut c_void, init_seed_indexes: *mut c_void) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getInitSeedCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_getIterationCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setIterationCount_int(instance: *mut c_void, iteration_count: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getMaxClustersCount_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setMaxClustersCount_int(instance: *mut c_void, max_clusters_count: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getClusterMinSize_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setClusterMinSize_int(instance: *mut c_void, cluster_min_size: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getJoiningDistance_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setJoiningDistance_float(instance: *mut c_void, joining_distance: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getDropThreshold_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignatures_setDropThreshold_float(instance: *mut c_void, drop_threshold: f32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignatures_getDistanceFunction_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_PCTSignatures_setDistanceFunction_int(instance: *mut c_void, distance_function: i32) -> Result_void;
		pub fn cv_xfeatures2d_PCTSignaturesSQFD_create_int_int_float(distance_function: i32, similarity_function: i32, similarity_parameter: f32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_PCTSignaturesSQFD_computeQuadraticFormDistance_const_const__InputArrayX_const__InputArrayX(instance: *const c_void, _signature0: *const c_void, _signature1: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_PCTSignaturesSQFD_computeQuadraticFormDistances_const_const_MatX_const_vector_Mat_X_vector_float_X(instance: *const c_void, source_signature: *const c_void, image_signatures: *const c_void, distances: *mut c_void) -> Result_void;
		pub fn cv_xfeatures2d_SIFT_create_int_int_double_double_double(nfeatures: i32, n_octave_layers: i32, contrast_threshold: f64, edge_threshold: f64, sigma: f64) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_SURF_create_double_int_int_bool_bool(hessian_threshold: f64, n_octaves: i32, n_octave_layers: i32, extended: bool, upright: bool) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_SURF_setHessianThreshold_double(instance: *mut c_void, hessian_threshold: f64) -> Result_void;
		pub fn cv_xfeatures2d_SURF_getHessianThreshold_const(instance: *const c_void) -> Result<f64>;
		pub fn cv_xfeatures2d_SURF_setNOctaves_int(instance: *mut c_void, n_octaves: i32) -> Result_void;
		pub fn cv_xfeatures2d_SURF_getNOctaves_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_SURF_setNOctaveLayers_int(instance: *mut c_void, n_octave_layers: i32) -> Result_void;
		pub fn cv_xfeatures2d_SURF_getNOctaveLayers_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xfeatures2d_SURF_setExtended_bool(instance: *mut c_void, extended: bool) -> Result_void;
		pub fn cv_xfeatures2d_SURF_getExtended_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_xfeatures2d_SURF_setUpright_bool(instance: *mut c_void, upright: bool) -> Result_void;
		pub fn cv_xfeatures2d_SURF_getUpright_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_xfeatures2d_StarDetector_create_int_int_int_int_int(max_size: i32, response_threshold: i32, line_threshold_projected: i32, line_threshold_binarized: i32, suppress_nonmax_size: i32) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_VGG_create_int_float_bool_bool_float_bool(desc: i32, isigma: f32, img_normalize: bool, use_scale_orientation: bool, scale_factor: f32, dsc_normalize: bool) -> Result<*mut c_void>;
		pub fn cv_xfeatures2d_VGG_setSigma_float(instance: *mut c_void, isigma: f32) -> Result_void;
		pub fn cv_xfeatures2d_VGG_getSigma_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_VGG_setUseNormalizeImage_bool(instance: *mut c_void, img_normalize: bool) -> Result_void;
		pub fn cv_xfeatures2d_VGG_getUseNormalizeImage_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_xfeatures2d_VGG_setUseScaleOrientation_bool(instance: *mut c_void, use_scale_orientation: bool) -> Result_void;
		pub fn cv_xfeatures2d_VGG_getUseScaleOrientation_const(instance: *const c_void) -> Result<bool>;
		pub fn cv_xfeatures2d_VGG_setScaleFactor_float(instance: *mut c_void, scale_factor: f32) -> Result_void;
		pub fn cv_xfeatures2d_VGG_getScaleFactor_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xfeatures2d_VGG_setUseNormalizeDescriptor_bool(instance: *mut c_void, dsc_normalize: bool) -> Result_void;
		pub fn cv_xfeatures2d_VGG_getUseNormalizeDescriptor_const(instance: *const c_void) -> Result<bool>;
	}
}
#[cfg(feature = "contrib")]
pub use xfeatures2d_sys::*;

#[cfg(feature = "contrib")]
mod xobjdetect_sys {
	use super::*;

	extern "C" {
		pub fn cv_xobjdetect_WBDetector_read_const_FileNodeX(instance: *mut c_void, node: *const c_void) -> Result_void;
		pub fn cv_xobjdetect_WBDetector_write_const_FileStorageX(instance: *const c_void, fs: *mut c_void) -> Result_void;
		pub fn cv_xobjdetect_WBDetector_train_const_stringX_const_stringX(instance: *mut c_void, pos_samples: *const c_char, neg_imgs: *const c_char) -> Result_void;
		pub fn cv_xobjdetect_WBDetector_detect_const_MatX_vector_Rect_X_vector_double_X(instance: *mut c_void, img: *const c_void, bboxes: *mut c_void, confidences: *mut c_void) -> Result_void;
		pub fn cv_xobjdetect_WBDetector_create() -> Result<*mut c_void>;
	}
}
#[cfg(feature = "contrib")]
pub use xobjdetect_sys::*;

#[cfg(feature = "contrib")]
mod xphoto_sys {
	use super::*;

	extern "C" {
		pub fn cv_xphoto_applyChannelGains_const__InputArrayX_const__OutputArrayX_float_float_float(src: *const c_void, dst: *const c_void, gain_b: f32, gain_g: f32, gain_r: f32) -> Result_void;
		pub fn cv_xphoto_bm3dDenoising_const__InputArrayX_const__InputOutputArrayX_const__OutputArrayX_float_int_int_int_int_int_int_float_int_int_int(src: *const c_void, dst_step1: *const c_void, dst_step2: *const c_void, h: f32, template_window_size: i32, search_window_size: i32, block_matching_step1: i32, block_matching_step2: i32, group_size: i32, sliding_step: i32, beta: f32, norm_type: i32, step: i32, transform_type: i32) -> Result_void;
		pub fn cv_xphoto_bm3dDenoising_const__InputArrayX_const__OutputArrayX_float_int_int_int_int_int_int_float_int_int_int(src: *const c_void, dst: *const c_void, h: f32, template_window_size: i32, search_window_size: i32, block_matching_step1: i32, block_matching_step2: i32, group_size: i32, sliding_step: i32, beta: f32, norm_type: i32, step: i32, transform_type: i32) -> Result_void;
		pub fn cv_xphoto_createGrayworldWB() -> Result<*mut c_void>;
		pub fn cv_xphoto_createLearningBasedWB_const_StringX(path_to_model: *const c_char) -> Result<*mut c_void>;
		pub fn cv_xphoto_createSimpleWB() -> Result<*mut c_void>;
		pub fn cv_xphoto_createTonemapDurand_float_float_float_float_float(gamma: f32, contrast: f32, saturation: f32, sigma_color: f32, sigma_space: f32) -> Result<*mut c_void>;
		pub fn cv_xphoto_dctDenoising_const_MatX_MatX_double_int(src: *const c_void, dst: *mut c_void, sigma: f64, psize: i32) -> Result_void;
		pub fn cv_xphoto_inpaint_const_MatX_const_MatX_MatX_int(src: *const c_void, mask: *const c_void, dst: *mut c_void, algorithm_type: i32) -> Result_void;
		pub fn cv_xphoto_oilPainting_const__InputArrayX_const__OutputArrayX_int_int(src: *const c_void, dst: *const c_void, size: i32, dyn_ratio: i32) -> Result_void;
		pub fn cv_xphoto_oilPainting_const__InputArrayX_const__OutputArrayX_int_int_int(src: *const c_void, dst: *const c_void, size: i32, dyn_ratio: i32, code: i32) -> Result_void;
		pub fn cv_xphoto_GrayworldWB_getSaturationThreshold_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_GrayworldWB_setSaturationThreshold_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_LearningBasedWB_extractSimpleFeatures_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void) -> Result_void;
		pub fn cv_xphoto_LearningBasedWB_getRangeMaxVal_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xphoto_LearningBasedWB_setRangeMaxVal_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_xphoto_LearningBasedWB_getSaturationThreshold_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_LearningBasedWB_setSaturationThreshold_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_LearningBasedWB_getHistBinNum_const(instance: *const c_void) -> Result<i32>;
		pub fn cv_xphoto_LearningBasedWB_setHistBinNum_int(instance: *mut c_void, val: i32) -> Result_void;
		pub fn cv_xphoto_SimpleWB_getInputMin_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_SimpleWB_setInputMin_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_SimpleWB_getInputMax_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_SimpleWB_setInputMax_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_SimpleWB_getOutputMin_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_SimpleWB_setOutputMin_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_SimpleWB_getOutputMax_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_SimpleWB_setOutputMax_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_SimpleWB_getP_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_SimpleWB_setP_float(instance: *mut c_void, val: f32) -> Result_void;
		pub fn cv_xphoto_TonemapDurand_getSaturation_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_TonemapDurand_setSaturation_float(instance: *mut c_void, saturation: f32) -> Result_void;
		pub fn cv_xphoto_TonemapDurand_getContrast_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_TonemapDurand_setContrast_float(instance: *mut c_void, contrast: f32) -> Result_void;
		pub fn cv_xphoto_TonemapDurand_getSigmaSpace_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_TonemapDurand_setSigmaSpace_float(instance: *mut c_void, sigma_space: f32) -> Result_void;
		pub fn cv_xphoto_TonemapDurand_getSigmaColor_const(instance: *const c_void) -> Result<f32>;
		pub fn cv_xphoto_TonemapDurand_setSigmaColor_float(instance: *mut c_void, sigma_color: f32) -> Result_void;
		pub fn cv_xphoto_WhiteBalancer_balanceWhite_const__InputArrayX_const__OutputArrayX(instance: *mut c_void, src: *const c_void, dst: *const c_void) -> Result_void;
	}
}
#[cfg(feature = "contrib")]
pub use xphoto_sys::*;

pub use crate::manual::sys::*;