Videoio.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600
  1. using OpenCVForUnity.CoreModule;
  2. using OpenCVForUnity.UtilsModule;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Runtime.InteropServices;
  6. namespace OpenCVForUnity.VideoioModule
  7. {
  8. // C++: class Videoio
  9. public class Videoio
  10. {
  11. // C++: enum <unnamed>
  12. public const int CAP_PROP_DC1394_OFF = -4;
  13. public const int CAP_PROP_DC1394_MODE_MANUAL = -3;
  14. public const int CAP_PROP_DC1394_MODE_AUTO = -2;
  15. public const int CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1;
  16. public const int CAP_PROP_DC1394_MAX = 31;
  17. public const int CAP_OPENNI_DEPTH_GENERATOR = 1 << 31;
  18. public const int CAP_OPENNI_IMAGE_GENERATOR = 1 << 30;
  19. public const int CAP_OPENNI_IR_GENERATOR = 1 << 29;
  20. public const int CAP_OPENNI_GENERATORS_MASK = CAP_OPENNI_DEPTH_GENERATOR + CAP_OPENNI_IMAGE_GENERATOR + CAP_OPENNI_IR_GENERATOR;
  21. public const int CAP_PROP_OPENNI_OUTPUT_MODE = 100;
  22. public const int CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101;
  23. public const int CAP_PROP_OPENNI_BASELINE = 102;
  24. public const int CAP_PROP_OPENNI_FOCAL_LENGTH = 103;
  25. public const int CAP_PROP_OPENNI_REGISTRATION = 104;
  26. public const int CAP_PROP_OPENNI_REGISTRATION_ON = CAP_PROP_OPENNI_REGISTRATION;
  27. public const int CAP_PROP_OPENNI_APPROX_FRAME_SYNC = 105;
  28. public const int CAP_PROP_OPENNI_MAX_BUFFER_SIZE = 106;
  29. public const int CAP_PROP_OPENNI_CIRCLE_BUFFER = 107;
  30. public const int CAP_PROP_OPENNI_MAX_TIME_DURATION = 108;
  31. public const int CAP_PROP_OPENNI_GENERATOR_PRESENT = 109;
  32. public const int CAP_PROP_OPENNI2_SYNC = 110;
  33. public const int CAP_PROP_OPENNI2_MIRROR = 111;
  34. public const int CAP_OPENNI_IMAGE_GENERATOR_PRESENT = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT;
  35. public const int CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_OUTPUT_MODE;
  36. public const int CAP_OPENNI_DEPTH_GENERATOR_PRESENT = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT;
  37. public const int CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_BASELINE;
  38. public const int CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_FOCAL_LENGTH;
  39. public const int CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_REGISTRATION;
  40. public const int CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION;
  41. public const int CAP_OPENNI_IR_GENERATOR_PRESENT = CAP_OPENNI_IR_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT;
  42. public const int CAP_OPENNI_DEPTH_MAP = 0;
  43. public const int CAP_OPENNI_POINT_CLOUD_MAP = 1;
  44. public const int CAP_OPENNI_DISPARITY_MAP = 2;
  45. public const int CAP_OPENNI_DISPARITY_MAP_32F = 3;
  46. public const int CAP_OPENNI_VALID_DEPTH_MASK = 4;
  47. public const int CAP_OPENNI_BGR_IMAGE = 5;
  48. public const int CAP_OPENNI_GRAY_IMAGE = 6;
  49. public const int CAP_OPENNI_IR_IMAGE = 7;
  50. public const int CAP_OPENNI_VGA_30HZ = 0;
  51. public const int CAP_OPENNI_SXGA_15HZ = 1;
  52. public const int CAP_OPENNI_SXGA_30HZ = 2;
  53. public const int CAP_OPENNI_QVGA_30HZ = 3;
  54. public const int CAP_OPENNI_QVGA_60HZ = 4;
  55. public const int CAP_PROP_GSTREAMER_QUEUE_LENGTH = 200;
  56. public const int CAP_PROP_PVAPI_MULTICASTIP = 300;
  57. public const int CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301;
  58. public const int CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302;
  59. public const int CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303;
  60. public const int CAP_PROP_PVAPI_BINNINGX = 304;
  61. public const int CAP_PROP_PVAPI_BINNINGY = 305;
  62. public const int CAP_PROP_PVAPI_PIXELFORMAT = 306;
  63. public const int CAP_PVAPI_FSTRIGMODE_FREERUN = 0;
  64. public const int CAP_PVAPI_FSTRIGMODE_SYNCIN1 = 1;
  65. public const int CAP_PVAPI_FSTRIGMODE_SYNCIN2 = 2;
  66. public const int CAP_PVAPI_FSTRIGMODE_FIXEDRATE = 3;
  67. public const int CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4;
  68. public const int CAP_PVAPI_DECIMATION_OFF = 1;
  69. public const int CAP_PVAPI_DECIMATION_2OUTOF4 = 2;
  70. public const int CAP_PVAPI_DECIMATION_2OUTOF8 = 4;
  71. public const int CAP_PVAPI_DECIMATION_2OUTOF16 = 8;
  72. public const int CAP_PVAPI_PIXELFORMAT_MONO8 = 1;
  73. public const int CAP_PVAPI_PIXELFORMAT_MONO16 = 2;
  74. public const int CAP_PVAPI_PIXELFORMAT_BAYER8 = 3;
  75. public const int CAP_PVAPI_PIXELFORMAT_BAYER16 = 4;
  76. public const int CAP_PVAPI_PIXELFORMAT_RGB24 = 5;
  77. public const int CAP_PVAPI_PIXELFORMAT_BGR24 = 6;
  78. public const int CAP_PVAPI_PIXELFORMAT_RGBA32 = 7;
  79. public const int CAP_PVAPI_PIXELFORMAT_BGRA32 = 8;
  80. public const int CAP_PROP_XI_DOWNSAMPLING = 400;
  81. public const int CAP_PROP_XI_DATA_FORMAT = 401;
  82. public const int CAP_PROP_XI_OFFSET_X = 402;
  83. public const int CAP_PROP_XI_OFFSET_Y = 403;
  84. public const int CAP_PROP_XI_TRG_SOURCE = 404;
  85. public const int CAP_PROP_XI_TRG_SOFTWARE = 405;
  86. public const int CAP_PROP_XI_GPI_SELECTOR = 406;
  87. public const int CAP_PROP_XI_GPI_MODE = 407;
  88. public const int CAP_PROP_XI_GPI_LEVEL = 408;
  89. public const int CAP_PROP_XI_GPO_SELECTOR = 409;
  90. public const int CAP_PROP_XI_GPO_MODE = 410;
  91. public const int CAP_PROP_XI_LED_SELECTOR = 411;
  92. public const int CAP_PROP_XI_LED_MODE = 412;
  93. public const int CAP_PROP_XI_MANUAL_WB = 413;
  94. public const int CAP_PROP_XI_AUTO_WB = 414;
  95. public const int CAP_PROP_XI_AEAG = 415;
  96. public const int CAP_PROP_XI_EXP_PRIORITY = 416;
  97. public const int CAP_PROP_XI_AE_MAX_LIMIT = 417;
  98. public const int CAP_PROP_XI_AG_MAX_LIMIT = 418;
  99. public const int CAP_PROP_XI_AEAG_LEVEL = 419;
  100. public const int CAP_PROP_XI_TIMEOUT = 420;
  101. public const int CAP_PROP_XI_EXPOSURE = 421;
  102. public const int CAP_PROP_XI_EXPOSURE_BURST_COUNT = 422;
  103. public const int CAP_PROP_XI_GAIN_SELECTOR = 423;
  104. public const int CAP_PROP_XI_GAIN = 424;
  105. public const int CAP_PROP_XI_DOWNSAMPLING_TYPE = 426;
  106. public const int CAP_PROP_XI_BINNING_SELECTOR = 427;
  107. public const int CAP_PROP_XI_BINNING_VERTICAL = 428;
  108. public const int CAP_PROP_XI_BINNING_HORIZONTAL = 429;
  109. public const int CAP_PROP_XI_BINNING_PATTERN = 430;
  110. public const int CAP_PROP_XI_DECIMATION_SELECTOR = 431;
  111. public const int CAP_PROP_XI_DECIMATION_VERTICAL = 432;
  112. public const int CAP_PROP_XI_DECIMATION_HORIZONTAL = 433;
  113. public const int CAP_PROP_XI_DECIMATION_PATTERN = 434;
  114. public const int CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR = 587;
  115. public const int CAP_PROP_XI_TEST_PATTERN = 588;
  116. public const int CAP_PROP_XI_IMAGE_DATA_FORMAT = 435;
  117. public const int CAP_PROP_XI_SHUTTER_TYPE = 436;
  118. public const int CAP_PROP_XI_SENSOR_TAPS = 437;
  119. public const int CAP_PROP_XI_AEAG_ROI_OFFSET_X = 439;
  120. public const int CAP_PROP_XI_AEAG_ROI_OFFSET_Y = 440;
  121. public const int CAP_PROP_XI_AEAG_ROI_WIDTH = 441;
  122. public const int CAP_PROP_XI_AEAG_ROI_HEIGHT = 442;
  123. public const int CAP_PROP_XI_BPC = 445;
  124. public const int CAP_PROP_XI_WB_KR = 448;
  125. public const int CAP_PROP_XI_WB_KG = 449;
  126. public const int CAP_PROP_XI_WB_KB = 450;
  127. public const int CAP_PROP_XI_WIDTH = 451;
  128. public const int CAP_PROP_XI_HEIGHT = 452;
  129. public const int CAP_PROP_XI_REGION_SELECTOR = 589;
  130. public const int CAP_PROP_XI_REGION_MODE = 595;
  131. public const int CAP_PROP_XI_LIMIT_BANDWIDTH = 459;
  132. public const int CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460;
  133. public const int CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461;
  134. public const int CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH = 462;
  135. public const int CAP_PROP_XI_OUTPUT_DATA_PACKING = 463;
  136. public const int CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE = 464;
  137. public const int CAP_PROP_XI_IS_COOLED = 465;
  138. public const int CAP_PROP_XI_COOLING = 466;
  139. public const int CAP_PROP_XI_TARGET_TEMP = 467;
  140. public const int CAP_PROP_XI_CHIP_TEMP = 468;
  141. public const int CAP_PROP_XI_HOUS_TEMP = 469;
  142. public const int CAP_PROP_XI_HOUS_BACK_SIDE_TEMP = 590;
  143. public const int CAP_PROP_XI_SENSOR_BOARD_TEMP = 596;
  144. public const int CAP_PROP_XI_CMS = 470;
  145. public const int CAP_PROP_XI_APPLY_CMS = 471;
  146. public const int CAP_PROP_XI_IMAGE_IS_COLOR = 474;
  147. public const int CAP_PROP_XI_COLOR_FILTER_ARRAY = 475;
  148. public const int CAP_PROP_XI_GAMMAY = 476;
  149. public const int CAP_PROP_XI_GAMMAC = 477;
  150. public const int CAP_PROP_XI_SHARPNESS = 478;
  151. public const int CAP_PROP_XI_CC_MATRIX_00 = 479;
  152. public const int CAP_PROP_XI_CC_MATRIX_01 = 480;
  153. public const int CAP_PROP_XI_CC_MATRIX_02 = 481;
  154. public const int CAP_PROP_XI_CC_MATRIX_03 = 482;
  155. public const int CAP_PROP_XI_CC_MATRIX_10 = 483;
  156. public const int CAP_PROP_XI_CC_MATRIX_11 = 484;
  157. public const int CAP_PROP_XI_CC_MATRIX_12 = 485;
  158. public const int CAP_PROP_XI_CC_MATRIX_13 = 486;
  159. public const int CAP_PROP_XI_CC_MATRIX_20 = 487;
  160. public const int CAP_PROP_XI_CC_MATRIX_21 = 488;
  161. public const int CAP_PROP_XI_CC_MATRIX_22 = 489;
  162. public const int CAP_PROP_XI_CC_MATRIX_23 = 490;
  163. public const int CAP_PROP_XI_CC_MATRIX_30 = 491;
  164. public const int CAP_PROP_XI_CC_MATRIX_31 = 492;
  165. public const int CAP_PROP_XI_CC_MATRIX_32 = 493;
  166. public const int CAP_PROP_XI_CC_MATRIX_33 = 494;
  167. public const int CAP_PROP_XI_DEFAULT_CC_MATRIX = 495;
  168. public const int CAP_PROP_XI_TRG_SELECTOR = 498;
  169. public const int CAP_PROP_XI_ACQ_FRAME_BURST_COUNT = 499;
  170. public const int CAP_PROP_XI_DEBOUNCE_EN = 507;
  171. public const int CAP_PROP_XI_DEBOUNCE_T0 = 508;
  172. public const int CAP_PROP_XI_DEBOUNCE_T1 = 509;
  173. public const int CAP_PROP_XI_DEBOUNCE_POL = 510;
  174. public const int CAP_PROP_XI_LENS_MODE = 511;
  175. public const int CAP_PROP_XI_LENS_APERTURE_VALUE = 512;
  176. public const int CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE = 513;
  177. public const int CAP_PROP_XI_LENS_FOCUS_MOVE = 514;
  178. public const int CAP_PROP_XI_LENS_FOCUS_DISTANCE = 515;
  179. public const int CAP_PROP_XI_LENS_FOCAL_LENGTH = 516;
  180. public const int CAP_PROP_XI_LENS_FEATURE_SELECTOR = 517;
  181. public const int CAP_PROP_XI_LENS_FEATURE = 518;
  182. public const int CAP_PROP_XI_DEVICE_MODEL_ID = 521;
  183. public const int CAP_PROP_XI_DEVICE_SN = 522;
  184. public const int CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA = 529;
  185. public const int CAP_PROP_XI_IMAGE_PAYLOAD_SIZE = 530;
  186. public const int CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT = 531;
  187. public const int CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ = 532;
  188. public const int CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX = 533;
  189. public const int CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT = 534;
  190. public const int CAP_PROP_XI_FRAMERATE = 535;
  191. public const int CAP_PROP_XI_COUNTER_SELECTOR = 536;
  192. public const int CAP_PROP_XI_COUNTER_VALUE = 537;
  193. public const int CAP_PROP_XI_ACQ_TIMING_MODE = 538;
  194. public const int CAP_PROP_XI_AVAILABLE_BANDWIDTH = 539;
  195. public const int CAP_PROP_XI_BUFFER_POLICY = 540;
  196. public const int CAP_PROP_XI_LUT_EN = 541;
  197. public const int CAP_PROP_XI_LUT_INDEX = 542;
  198. public const int CAP_PROP_XI_LUT_VALUE = 543;
  199. public const int CAP_PROP_XI_TRG_DELAY = 544;
  200. public const int CAP_PROP_XI_TS_RST_MODE = 545;
  201. public const int CAP_PROP_XI_TS_RST_SOURCE = 546;
  202. public const int CAP_PROP_XI_IS_DEVICE_EXIST = 547;
  203. public const int CAP_PROP_XI_ACQ_BUFFER_SIZE = 548;
  204. public const int CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT = 549;
  205. public const int CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE = 550;
  206. public const int CAP_PROP_XI_BUFFERS_QUEUE_SIZE = 551;
  207. public const int CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT = 552;
  208. public const int CAP_PROP_XI_RECENT_FRAME = 553;
  209. public const int CAP_PROP_XI_DEVICE_RESET = 554;
  210. public const int CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555;
  211. public const int CAP_PROP_XI_ROW_FPN_CORRECTION = 591;
  212. public const int CAP_PROP_XI_SENSOR_MODE = 558;
  213. public const int CAP_PROP_XI_HDR = 559;
  214. public const int CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560;
  215. public const int CAP_PROP_XI_HDR_T1 = 561;
  216. public const int CAP_PROP_XI_HDR_T2 = 562;
  217. public const int CAP_PROP_XI_KNEEPOINT1 = 563;
  218. public const int CAP_PROP_XI_KNEEPOINT2 = 564;
  219. public const int CAP_PROP_XI_IMAGE_BLACK_LEVEL = 565;
  220. public const int CAP_PROP_XI_HW_REVISION = 571;
  221. public const int CAP_PROP_XI_DEBUG_LEVEL = 572;
  222. public const int CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573;
  223. public const int CAP_PROP_XI_FFS_FILE_ID = 594;
  224. public const int CAP_PROP_XI_FFS_FILE_SIZE = 580;
  225. public const int CAP_PROP_XI_FREE_FFS_SIZE = 581;
  226. public const int CAP_PROP_XI_USED_FFS_SIZE = 582;
  227. public const int CAP_PROP_XI_FFS_ACCESS_KEY = 583;
  228. public const int CAP_PROP_XI_SENSOR_FEATURE_SELECTOR = 585;
  229. public const int CAP_PROP_XI_SENSOR_FEATURE_VALUE = 586;
  230. public const int CAP_PROP_ARAVIS_AUTOTRIGGER = 600;
  231. public const int CAP_PROP_IOS_DEVICE_FOCUS = 9001;
  232. public const int CAP_PROP_IOS_DEVICE_EXPOSURE = 9002;
  233. public const int CAP_PROP_IOS_DEVICE_FLASH = 9003;
  234. public const int CAP_PROP_IOS_DEVICE_WHITEBALANCE = 9004;
  235. public const int CAP_PROP_IOS_DEVICE_TORCH = 9005;
  236. public const int CAP_PROP_GIGA_FRAME_OFFSET_X = 10001;
  237. public const int CAP_PROP_GIGA_FRAME_OFFSET_Y = 10002;
  238. public const int CAP_PROP_GIGA_FRAME_WIDTH_MAX = 10003;
  239. public const int CAP_PROP_GIGA_FRAME_HEIGH_MAX = 10004;
  240. public const int CAP_PROP_GIGA_FRAME_SENS_WIDTH = 10005;
  241. public const int CAP_PROP_GIGA_FRAME_SENS_HEIGH = 10006;
  242. public const int CAP_PROP_INTELPERC_PROFILE_COUNT = 11001;
  243. public const int CAP_PROP_INTELPERC_PROFILE_IDX = 11002;
  244. public const int CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE = 11003;
  245. public const int CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE = 11004;
  246. public const int CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD = 11005;
  247. public const int CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ = 11006;
  248. public const int CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT = 11007;
  249. public const int CAP_INTELPERC_DEPTH_GENERATOR = 1 << 29;
  250. public const int CAP_INTELPERC_IMAGE_GENERATOR = 1 << 28;
  251. public const int CAP_INTELPERC_IR_GENERATOR = 1 << 27;
  252. public const int CAP_INTELPERC_GENERATORS_MASK = CAP_INTELPERC_DEPTH_GENERATOR + CAP_INTELPERC_IMAGE_GENERATOR + CAP_INTELPERC_IR_GENERATOR;
  253. public const int CAP_INTELPERC_DEPTH_MAP = 0;
  254. public const int CAP_INTELPERC_UVDEPTH_MAP = 1;
  255. public const int CAP_INTELPERC_IR_MAP = 2;
  256. public const int CAP_INTELPERC_IMAGE = 3;
  257. public const int CAP_PROP_GPHOTO2_PREVIEW = 17001;
  258. public const int CAP_PROP_GPHOTO2_WIDGET_ENUMERATE = 17002;
  259. public const int CAP_PROP_GPHOTO2_RELOAD_CONFIG = 17003;
  260. public const int CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE = 17004;
  261. public const int CAP_PROP_GPHOTO2_COLLECT_MSGS = 17005;
  262. public const int CAP_PROP_GPHOTO2_FLUSH_MSGS = 17006;
  263. public const int CAP_PROP_SPEED = 17007;
  264. public const int CAP_PROP_APERTURE = 17008;
  265. public const int CAP_PROP_EXPOSUREPROGRAM = 17009;
  266. public const int CAP_PROP_VIEWFINDER = 17010;
  267. public const int CAP_PROP_IMAGES_BASE = 18000;
  268. public const int CAP_PROP_IMAGES_LAST = 19000;
  269. // C++: enum cv.VideoAccelerationType
  270. public const int VIDEO_ACCELERATION_NONE = 0;
  271. public const int VIDEO_ACCELERATION_ANY = 1;
  272. public const int VIDEO_ACCELERATION_D3D11 = 2;
  273. public const int VIDEO_ACCELERATION_VAAPI = 3;
  274. public const int VIDEO_ACCELERATION_MFX = 4;
  275. // C++: enum cv.VideoCaptureAPIs
  276. public const int CAP_ANY = 0;
  277. public const int CAP_VFW = 200;
  278. public const int CAP_V4L = 200;
  279. public const int CAP_V4L2 = CAP_V4L;
  280. public const int CAP_FIREWIRE = 300;
  281. public const int CAP_FIREWARE = CAP_FIREWIRE;
  282. public const int CAP_IEEE1394 = CAP_FIREWIRE;
  283. public const int CAP_DC1394 = CAP_FIREWIRE;
  284. public const int CAP_CMU1394 = CAP_FIREWIRE;
  285. public const int CAP_QT = 500;
  286. public const int CAP_UNICAP = 600;
  287. public const int CAP_DSHOW = 700;
  288. public const int CAP_PVAPI = 800;
  289. public const int CAP_OPENNI = 900;
  290. public const int CAP_OPENNI_ASUS = 910;
  291. public const int CAP_ANDROID = 1000;
  292. public const int CAP_XIAPI = 1100;
  293. public const int CAP_AVFOUNDATION = 1200;
  294. public const int CAP_GIGANETIX = 1300;
  295. public const int CAP_MSMF = 1400;
  296. public const int CAP_WINRT = 1410;
  297. public const int CAP_INTELPERC = 1500;
  298. public const int CAP_REALSENSE = 1500;
  299. public const int CAP_OPENNI2 = 1600;
  300. public const int CAP_OPENNI2_ASUS = 1610;
  301. public const int CAP_OPENNI2_ASTRA = 1620;
  302. public const int CAP_GPHOTO2 = 1700;
  303. public const int CAP_GSTREAMER = 1800;
  304. public const int CAP_FFMPEG = 1900;
  305. public const int CAP_IMAGES = 2000;
  306. public const int CAP_ARAVIS = 2100;
  307. public const int CAP_OPENCV_MJPEG = 2200;
  308. public const int CAP_INTEL_MFX = 2300;
  309. public const int CAP_XINE = 2400;
  310. public const int CAP_UEYE = 2500;
  311. public const int CAP_OBSENSOR = 2600;
  312. // C++: enum cv.VideoCaptureOBSensorDataType
  313. public const int CAP_OBSENSOR_DEPTH_MAP = 0;
  314. public const int CAP_OBSENSOR_BGR_IMAGE = 1;
  315. public const int CAP_OBSENSOR_IR_IMAGE = 2;
  316. // C++: enum cv.VideoCaptureOBSensorGenerators
  317. public const int CAP_OBSENSOR_DEPTH_GENERATOR = 1 << 29;
  318. public const int CAP_OBSENSOR_IMAGE_GENERATOR = 1 << 28;
  319. public const int CAP_OBSENSOR_IR_GENERATOR = 1 << 27;
  320. public const int CAP_OBSENSOR_GENERATORS_MASK = CAP_OBSENSOR_DEPTH_GENERATOR + CAP_OBSENSOR_IMAGE_GENERATOR + CAP_OBSENSOR_IR_GENERATOR;
  321. // C++: enum cv.VideoCaptureOBSensorProperties
  322. public const int CAP_PROP_OBSENSOR_INTRINSIC_FX = 26001;
  323. public const int CAP_PROP_OBSENSOR_INTRINSIC_FY = 26002;
  324. public const int CAP_PROP_OBSENSOR_INTRINSIC_CX = 26003;
  325. public const int CAP_PROP_OBSENSOR_INTRINSIC_CY = 26004;
  326. // C++: enum cv.VideoCaptureProperties
  327. public const int CAP_PROP_POS_MSEC = 0;
  328. public const int CAP_PROP_POS_FRAMES = 1;
  329. public const int CAP_PROP_POS_AVI_RATIO = 2;
  330. public const int CAP_PROP_FRAME_WIDTH = 3;
  331. public const int CAP_PROP_FRAME_HEIGHT = 4;
  332. public const int CAP_PROP_FPS = 5;
  333. public const int CAP_PROP_FOURCC = 6;
  334. public const int CAP_PROP_FRAME_COUNT = 7;
  335. public const int CAP_PROP_FORMAT = 8;
  336. public const int CAP_PROP_MODE = 9;
  337. public const int CAP_PROP_BRIGHTNESS = 10;
  338. public const int CAP_PROP_CONTRAST = 11;
  339. public const int CAP_PROP_SATURATION = 12;
  340. public const int CAP_PROP_HUE = 13;
  341. public const int CAP_PROP_GAIN = 14;
  342. public const int CAP_PROP_EXPOSURE = 15;
  343. public const int CAP_PROP_CONVERT_RGB = 16;
  344. public const int CAP_PROP_WHITE_BALANCE_BLUE_U = 17;
  345. public const int CAP_PROP_RECTIFICATION = 18;
  346. public const int CAP_PROP_MONOCHROME = 19;
  347. public const int CAP_PROP_SHARPNESS = 20;
  348. public const int CAP_PROP_AUTO_EXPOSURE = 21;
  349. public const int CAP_PROP_GAMMA = 22;
  350. public const int CAP_PROP_TEMPERATURE = 23;
  351. public const int CAP_PROP_TRIGGER = 24;
  352. public const int CAP_PROP_TRIGGER_DELAY = 25;
  353. public const int CAP_PROP_WHITE_BALANCE_RED_V = 26;
  354. public const int CAP_PROP_ZOOM = 27;
  355. public const int CAP_PROP_FOCUS = 28;
  356. public const int CAP_PROP_GUID = 29;
  357. public const int CAP_PROP_ISO_SPEED = 30;
  358. public const int CAP_PROP_BACKLIGHT = 32;
  359. public const int CAP_PROP_PAN = 33;
  360. public const int CAP_PROP_TILT = 34;
  361. public const int CAP_PROP_ROLL = 35;
  362. public const int CAP_PROP_IRIS = 36;
  363. public const int CAP_PROP_SETTINGS = 37;
  364. public const int CAP_PROP_BUFFERSIZE = 38;
  365. public const int CAP_PROP_AUTOFOCUS = 39;
  366. public const int CAP_PROP_SAR_NUM = 40;
  367. public const int CAP_PROP_SAR_DEN = 41;
  368. public const int CAP_PROP_BACKEND = 42;
  369. public const int CAP_PROP_CHANNEL = 43;
  370. public const int CAP_PROP_AUTO_WB = 44;
  371. public const int CAP_PROP_WB_TEMPERATURE = 45;
  372. public const int CAP_PROP_CODEC_PIXEL_FORMAT = 46;
  373. public const int CAP_PROP_BITRATE = 47;
  374. public const int CAP_PROP_ORIENTATION_META = 48;
  375. public const int CAP_PROP_ORIENTATION_AUTO = 49;
  376. public const int CAP_PROP_HW_ACCELERATION = 50;
  377. public const int CAP_PROP_HW_DEVICE = 51;
  378. public const int CAP_PROP_HW_ACCELERATION_USE_OPENCL = 52;
  379. public const int CAP_PROP_OPEN_TIMEOUT_MSEC = 53;
  380. public const int CAP_PROP_READ_TIMEOUT_MSEC = 54;
  381. public const int CAP_PROP_STREAM_OPEN_TIME_USEC = 55;
  382. public const int CAP_PROP_VIDEO_TOTAL_CHANNELS = 56;
  383. public const int CAP_PROP_VIDEO_STREAM = 57;
  384. public const int CAP_PROP_AUDIO_STREAM = 58;
  385. public const int CAP_PROP_AUDIO_POS = 59;
  386. public const int CAP_PROP_AUDIO_SHIFT_NSEC = 60;
  387. public const int CAP_PROP_AUDIO_DATA_DEPTH = 61;
  388. public const int CAP_PROP_AUDIO_SAMPLES_PER_SECOND = 62;
  389. public const int CAP_PROP_AUDIO_BASE_INDEX = 63;
  390. public const int CAP_PROP_AUDIO_TOTAL_CHANNELS = 64;
  391. public const int CAP_PROP_AUDIO_TOTAL_STREAMS = 65;
  392. public const int CAP_PROP_AUDIO_SYNCHRONIZE = 66;
  393. public const int CAP_PROP_LRF_HAS_KEY_FRAME = 67;
  394. public const int CAP_PROP_CODEC_EXTRADATA_INDEX = 68;
  395. public const int CAP_PROP_FRAME_TYPE = 69;
  396. public const int CAP_PROP_N_THREADS = 70;
  397. // C++: enum cv.VideoWriterProperties
  398. public const int VIDEOWRITER_PROP_QUALITY = 1;
  399. public const int VIDEOWRITER_PROP_FRAMEBYTES = 2;
  400. public const int VIDEOWRITER_PROP_NSTRIPES = 3;
  401. public const int VIDEOWRITER_PROP_IS_COLOR = 4;
  402. public const int VIDEOWRITER_PROP_DEPTH = 5;
  403. public const int VIDEOWRITER_PROP_HW_ACCELERATION = 6;
  404. public const int VIDEOWRITER_PROP_HW_DEVICE = 7;
  405. public const int VIDEOWRITER_PROP_HW_ACCELERATION_USE_OPENCL = 8;
  406. //
  407. // C++: String cv::videoio_registry::getBackendName(VideoCaptureAPIs api)
  408. //
  409. /**
  410. * Returns backend API name or "UnknownVideoAPI(xxx)"
  411. * param api backend ID (#VideoCaptureAPIs)
  412. * return automatically generated
  413. */
  414. public static string getBackendName(int api)
  415. {
  416. string retVal = Marshal.PtrToStringAnsi(DisposableObject.ThrowIfNullIntPtr(videoio_Videoio_getBackendName_10(api)));
  417. return retVal;
  418. }
  419. //
  420. // C++: vector_VideoCaptureAPIs cv::videoio_registry::getBackends()
  421. //
  422. // Return type 'vector_VideoCaptureAPIs' is not supported, skipping the function
  423. //
  424. // C++: vector_VideoCaptureAPIs cv::videoio_registry::getCameraBackends()
  425. //
  426. // Return type 'vector_VideoCaptureAPIs' is not supported, skipping the function
  427. //
  428. // C++: vector_VideoCaptureAPIs cv::videoio_registry::getStreamBackends()
  429. //
  430. // Return type 'vector_VideoCaptureAPIs' is not supported, skipping the function
  431. //
  432. // C++: vector_VideoCaptureAPIs cv::videoio_registry::getWriterBackends()
  433. //
  434. // Return type 'vector_VideoCaptureAPIs' is not supported, skipping the function
  435. //
  436. // C++: bool cv::videoio_registry::hasBackend(VideoCaptureAPIs api)
  437. //
  438. /**
  439. * Returns true if backend is available
  440. * param api automatically generated
  441. * return automatically generated
  442. */
  443. public static bool hasBackend(int api)
  444. {
  445. return videoio_Videoio_hasBackend_10(api);
  446. }
  447. //
  448. // C++: bool cv::videoio_registry::isBackendBuiltIn(VideoCaptureAPIs api)
  449. //
  450. /**
  451. * Returns true if backend is built in (false if backend is used as plugin)
  452. * param api automatically generated
  453. * return automatically generated
  454. */
  455. public static bool isBackendBuiltIn(int api)
  456. {
  457. return videoio_Videoio_isBackendBuiltIn_10(api);
  458. }
  459. //
  460. // C++: string cv::videoio_registry::getCameraBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  461. //
  462. /**
  463. * Returns description and ABI/API version of videoio plugin's camera interface
  464. * param api automatically generated
  465. * param version_ABI automatically generated
  466. * param version_API automatically generated
  467. * return automatically generated
  468. */
  469. public static string getCameraBackendPluginVersion(int api, int[] version_ABI, int[] version_API)
  470. {
  471. double[] version_ABI_out = new double[1];
  472. double[] version_API_out = new double[1];
  473. string retVal = Marshal.PtrToStringAnsi(DisposableObject.ThrowIfNullIntPtr(videoio_Videoio_getCameraBackendPluginVersion_10(api, version_ABI_out, version_API_out)));
  474. if (version_ABI != null) version_ABI[0] = (int)version_ABI_out[0];
  475. if (version_API != null) version_API[0] = (int)version_API_out[0];
  476. return retVal;
  477. }
  478. //
  479. // C++: string cv::videoio_registry::getStreamBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  480. //
  481. /**
  482. * Returns description and ABI/API version of videoio plugin's stream capture interface
  483. * param api automatically generated
  484. * param version_ABI automatically generated
  485. * param version_API automatically generated
  486. * return automatically generated
  487. */
  488. public static string getStreamBackendPluginVersion(int api, int[] version_ABI, int[] version_API)
  489. {
  490. double[] version_ABI_out = new double[1];
  491. double[] version_API_out = new double[1];
  492. string retVal = Marshal.PtrToStringAnsi(DisposableObject.ThrowIfNullIntPtr(videoio_Videoio_getStreamBackendPluginVersion_10(api, version_ABI_out, version_API_out)));
  493. if (version_ABI != null) version_ABI[0] = (int)version_ABI_out[0];
  494. if (version_API != null) version_API[0] = (int)version_API_out[0];
  495. return retVal;
  496. }
  497. //
  498. // C++: string cv::videoio_registry::getWriterBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  499. //
  500. /**
  501. * Returns description and ABI/API version of videoio plugin's writer interface
  502. * param api automatically generated
  503. * param version_ABI automatically generated
  504. * param version_API automatically generated
  505. * return automatically generated
  506. */
  507. public static string getWriterBackendPluginVersion(int api, int[] version_ABI, int[] version_API)
  508. {
  509. double[] version_ABI_out = new double[1];
  510. double[] version_API_out = new double[1];
  511. string retVal = Marshal.PtrToStringAnsi(DisposableObject.ThrowIfNullIntPtr(videoio_Videoio_getWriterBackendPluginVersion_10(api, version_ABI_out, version_API_out)));
  512. if (version_ABI != null) version_ABI[0] = (int)version_ABI_out[0];
  513. if (version_API != null) version_API[0] = (int)version_API_out[0];
  514. return retVal;
  515. }
  516. #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
  517. const string LIBNAME = "__Internal";
  518. #else
  519. const string LIBNAME = "opencvforunity";
  520. #endif
  521. // C++: String cv::videoio_registry::getBackendName(VideoCaptureAPIs api)
  522. [DllImport(LIBNAME)]
  523. private static extern IntPtr videoio_Videoio_getBackendName_10(int api);
  524. // C++: bool cv::videoio_registry::hasBackend(VideoCaptureAPIs api)
  525. [DllImport(LIBNAME)]
  526. [return: MarshalAs(UnmanagedType.U1)]
  527. private static extern bool videoio_Videoio_hasBackend_10(int api);
  528. // C++: bool cv::videoio_registry::isBackendBuiltIn(VideoCaptureAPIs api)
  529. [DllImport(LIBNAME)]
  530. [return: MarshalAs(UnmanagedType.U1)]
  531. private static extern bool videoio_Videoio_isBackendBuiltIn_10(int api);
  532. // C++: string cv::videoio_registry::getCameraBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  533. [DllImport(LIBNAME)]
  534. private static extern IntPtr videoio_Videoio_getCameraBackendPluginVersion_10(int api, double[] version_ABI_out, double[] version_API_out);
  535. // C++: string cv::videoio_registry::getStreamBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  536. [DllImport(LIBNAME)]
  537. private static extern IntPtr videoio_Videoio_getStreamBackendPluginVersion_10(int api, double[] version_ABI_out, double[] version_API_out);
  538. // C++: string cv::videoio_registry::getWriterBackendPluginVersion(VideoCaptureAPIs api, int& version_ABI, int& version_API)
  539. [DllImport(LIBNAME)]
  540. private static extern IntPtr videoio_Videoio_getWriterBackendPluginVersion_10(int api, double[] version_ABI_out, double[] version_API_out);
  541. }
  542. }