3#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
4# pragma GCC system_header
10#include "../namespace.hpp"
22#pragma region Symbology enums
26 CVCRS_DataMatrix = 101,
31 CVCRS_MicroPDF417 = 106,
38 CVCRS_Interleaved2of5 = 113,
44 CVCRS_GS1DataBar14 = 119,
45 CVCRS_GS1DataBarStacked = 120,
46 CVCRS_GS1DataBarLimited = 121,
47 CVCRS_GS1DataBarExpanded = 122,
48 CVCRS_GS1DataBarExpandedStacked = 123,
52 CVCRS_GridMatrix = 130,
57 CVCRS_MSIPlessey = 143,
60 CVCRS_Pharmacode = 146,
61 CVCRS_Matrix2of5 = 147,
62 CVCRS_Straight2of5 = 148,
65 CVCRS_CodablockF = 151,
66 CVCRS_HongKong2of5 = 152,
67 CVCRS_USPSPostnet = 153,
68 CVCRS_USPSPlanet = 154,
69 CVCRS_USPSIntelligentMail = 155,
70 CVCRS_UPUIDTags = 156,
71 CVCRS_AustralianPost = 157,
72 CVCRS_DutchPost = 158,
73 CVCRS_JapanPost = 159,
74 CVCRS_RoyalMail = 160,
75 CVCRS_KoreaPost = 161,
78 CVCRS_CanadaPost = 164,
83 enum CVCRValueSymbology
85 CVCRVS_GoCode = (1 << 0),
86 CVCRVS_DataMatrix = (1 << 1),
88 CVCRVS_Aztec = (1 << 3),
89 CVCRVS_MaxiCode = (1 << 4),
90 CVCRVS_PDF417 = (1 << 5),
91 CVCRVS_MicroPDF417 = (1 << 6),
92 CVCRVS_CCA = (1 << 7),
93 CVCRVS_CCB = (1 << 8),
94 CVCRVS_CCC = (1 << 9),
95 CVCRVS_Code39 = (1 << 10),
96 CVCRVS_Interleaved2of5 = (1 << 11),
97 CVCRVS_CodaBar = (1 << 12),
98 CVCRVS_Code128 = (1 << 13),
99 CVCRVS_Code93 = (1 << 14),
100 CVCRVS_UPCA = (1 << 15),
101 CVCRVS_UPCE = (1 << 16),
102 CVCRVS_EAN13 = (1 << 17),
103 CVCRVS_EAN8 = (1 << 18),
104 CVCRVS_GS1DataBar14 = (1 << 19),
105 CVCRVS_GS1DataBar14Stacked = (1 << 20),
106 CVCRVS_GS1DataBar14Limited = (1 << 21),
107 CVCRVS_GS1DataBar14Expanded = (1 << 22),
108 CVCRVS_GS1DataBar14ExpandedStacked = (1 << 23),
109 CVCRVS_HanXin = (1 << 24),
110 CVCRVS_MicroQR = (1 << 25),
111 CVCRVS_QRModel1 = (1 << 26),
112 CVCRVS_GridMatrix = (1 << 27),
113 CVCRVS_DotCode = (1 << 28),
114 CVCRVS_QRConfigCode = (1 << 29),
115 CVCRVS_CustumNC = (1 << 30)
118 enum CVCRValueSymbologyEx
120 CVCRVSE_Extended = 0,
121 CVCRVSE_Code11 = (1 << 0),
122 CVCRVSE_Code32 = (1 << 1),
123 CVCRVSE_Plessey = (1 << 2),
124 CVCRVSE_MSIPlessey = (1 << 3),
125 CVCRVSE_Telepen = (1 << 4),
126 CVCRVSE_Trioptic = (1 << 5),
127 CVCRVSE_Pharmacode = (1 << 6),
128 CVCRVSE_Matrix2of5 = (1 << 7),
129 CVCRVSE_Straight2of5 = (1 << 8),
130 CVCRVSE_Code49 = (1 << 9),
131 CVCRVSE_Code16K = (1 << 10),
132 CVCRVSE_CodablockF = (1 << 11),
133 CVCRVSE_USPSPostnet = (1 << 12),
134 CVCRVSE_USPSPlanet = (1 << 13),
135 CVCRVSE_USPSIntelligentMail = (1 << 14),
136 CVCRVSE_AustralianPost = (1 << 15),
137 CVCRVSE_DutchPost = (1 << 16),
138 CVCRVSE_JapanPost = (1 << 17),
139 CVCRVSE_RoyalMail = (1 << 18),
140 CVCRVSE_UPUIDTags = (1 << 19),
141 CVCRVSE_KoreaPost = (1 << 20),
142 CVCRVSE_HongKong2of5 = (1 << 21),
143 CVCRVSE_NEC2of5 = (1 << 22),
144 CVCRVSE_IATA2of5 = (1 << 23),
145 CVCRVSE_CanadaPost = (1 << 24),
146 CVCRVSE_BC412 = (1 << 25),
147 CVCRVSE_TLC39 = (1 << 26),
148 CVCRVSE_Pro1 = (1 << 31)
152#pragma region Properties
153 enum CVCRSymbologyPropertiesDataMatrix
156 CVCRSPDM_Polarity = 209,
157 CVCRSPDM_Mirror = 217,
158 CVCRSPDM_RectExtended = 225,
161 CVCRSPDM_SendEccCodeWords = 268,
163 CVCRSPDM_MinimumSize = 542,
164 CVCRSPDM_MaximumSize = 543,
165 CVCRSPDM_MinFixedPatternQuality = 544,
166 CVCRSPDM_MinNumModule = 545,
167 CVCRSPDM_MaxNumModule = 546,
168 CVCRSPDM_MaxModuleSize = 547,
169 CVCRSPDM_MaxLineFilterSize = 548,
170 CVCRSPDM_SearchThickBorder = 619
173 enum CVCRSymbologyPropertiesQR
175 CVCRSPQR_Polarity = 210,
176 CVCRSPQR_Mirror = 218,
179 CVCRSPQR_SendEccCodeWords = 268,
181 CVCRSPQR_PreciseCornerQR = 608
184enum CVCRSymbologyPropertiesUPCE
186 CVCRSPUE_Expansion = 207,
187 CVCRSPUE_StripNumberSystem = 255,
188 CVCRSPUE_StripChar = 257,
192 CVCRSPUE_SendAimModifier = 270,
194 CVCRSPUE_Supplemental2digit = 279,
195 CVCRSPUE_Supplemental5digit = 283,
196 CVCRSPUE_SupplementalAddSpace = 287,
197 CVCRSPUE_SupplementalRequired = 291,
198 CVCRSPUE_UPCE1 = 294,
199 CVCRSPUE_RejectUPCEPartial = 613,
203 CVCRSPUE_CompositeRequired = 298
206 enum CVCRSymbologyPropertiesUPCA
208 CVCRSPUA_ConvertToEAN13 = 250,
209 CVCRSPUA_StripNumberSystem = 254,
210 CVCRSPUA_StripChar = 256,
214 CVCRSPUA_SendAimModifier = 270,
216 CVCRSPUA_Supplemental2digit = 278,
217 CVCRSPUA_Supplemental5digit = 282,
218 CVCRSPUA_SupplementalAddSpace = 286,
219 CVCRSPUA_SupplementalRequired = 290,
223 CVCRSPUA_CompositeRequired = 298,
226 enum CVCRSymbologyPropertiesEAN8
228 CVCRSPE8_ConvertToEAN13 = 251,
229 CVCRSPE8_StripChar = 259,
233 CVCRSPE8_SendAimModifier = 270,
235 CVCRSPE8_Supplemental2digit = 281,
236 CVCRSPE8_Supplemental5digit = 285,
237 CVCRSPE8_SupplementalAddSpace = 289,
238 CVCRSPE8_SupplementalRequired = 293,
242 CVCRSPE8_CompositeRequired = 298
245 enum CVCRSymbologyPropertiesEAN13
247 CVCRSPE13_ConvertBooklandToISBN = 252,
248 CVCRSPE13_ConvertBooklandToISSN = 253,
249 CVCRSPE13_StripChar = 258,
253 CVCRSPE13_SendAimModifier = 270,
255 CVCRSPE13_Supplemental2digit = 280,
256 CVCRSPE13_Supplemental5digit = 284,
257 CVCRSPE13_SupplementalAddSpace = 288,
258 CVCRSPE13_SupplementalRequired = 292,
262 CVCRSPE13_CompositeRequired = 298,
265 enum CVCRSymbologyPropertiesCode128
267 CVCRSPC128_MinLength = 502,
268 CVCRSPC128_MaxLength = 522,
269 CVCRSPC128_PoorStartA = 670,
270 CVCRSPC128_PoorStartB = 671,
271 CVCRSPC128_PoorStartC = 672,
272 CVCRSPC128_EnhanceMethod1 = 673,
273 CVCRSPC128_EnhanceMethod2 = 674
276 enum CVCRSymbologyPropertiesCode39
278 CVCRSPC39_CheckSum = 200,
279 CVCRSPC39_FullASCII = 203,
280 CVCRSPC39_SendStartStop = 261,
281 CVCRSPC39_MinLength = 500,
282 CVCRSPC39_MaxLength = 520
285 enum CVCRSymbologyPropertiesCode93
287 CVCRSPC93_MinLength = 503,
288 CVCRSPC93_MaxLength = 523
291enum CVCRSymbologyPropertiesInterleaved2of5
293 CVCRSPI25_CheckSum = 201,
294 CVCRSPI25_MinLength = 204,
295 CVCRSPI25_RejectPartial = 296,
296 CVCRSPI25_MaxLength = 519
299 enum CVCRSymbologyPropertiesRoyalMail
301 CVCRSPRM_SendCheckChar = 272
304 enum CVCRSymbologyPropertiesAustraliaPost
306 CVCRSPAP_StripCheckChars = 273
309 enum CVCRSymbologyPropertiesPharmacode
311 CVCRSPP_MinNumBars = 243,
312 CVCRSPP_MaxNumBars = 244,
313 CVCRSPP_MinValue = 245,
314 CVCRSPP_MaxValue = 246,
315 CVCRSPP_RevDec = 247,
316 CVCRSPP_ColorBars = 248
319 enum CVCRSymbologyPropertiesCode11
321 CVCRSPC11_CheckSum = 239,
322 CVCRSPC11_StripChar = 249
327#pragma region Performance Properties
328enum CVCRPerformanceProperties
330 CVCRPP_PreprocessType = 43,
331 CVCRPP_StopDecode = 301,
332 CVCRPP_TimeLimitDecode = 310,
333 CVCRPP_SecurityLevel = 311,
335 CVCRPP_TargetTolerancePercent = 313,
336 CVCRPP_TargetLocation = 314,
337 CVCRPP_CodeSearchSpeed = 315,
338 CVCRPP_TimeLimitLocate = 318,
339 CVCRPP_EnsureROI = 350,
340 CVCRPP_LowContrast = 355,
341 CVCRPP_BasicInkjet = 370,
342 CVCRPP_MultiCodeSpeedUp = 373,
343 CVCRPP_CustomPerformance = 375,
344 CVCRPP_DetectorDensity = 376
347#pragma region Possible Values for Performance Properties
349enum CVCRPreProcessType
354 CVCRPPT_EnhanceDpmImage,
355 CVCRPPT_EnhanceCurvedDotPeen,
356 CVCRPPT_Deblur1dMethod1,
357 CVCRPPT_Deblur1dMethod2,
363 CVCRPPT_EnhanceContrast
367enum CVCRDecodeSecurityLevel
379enum CVCRCodeSearchSpeed
388enum CVCRCustomPerformance
393 CVCRCP_ExtendedRange2D,
398#pragma region Result Properties
399 enum CVCRResultProperties
401 CVCRRP_Corners = 400,
403 CVCRRP_SymbolType = 402,
406 CVCRRP_SymbolModifier = 405,
407 CVCRRP_Linkage = 406,
408 CVCRRP_Quality = 407,
409 CVCRRP_DeltaTime = 410,
410 CVCRRP_TotalTime = 411,
411 CVCRRP_SymbolTypeEx = 412,
412 CVCRRP_LocateTime = 413,
413 CVCRRP_DecodeTime = 414,
414 CVCRRP_DecodeOutputFormat = 419,
416 CVCRRP_MiscProperty = 431,
417 CVCRRP_SymbPosIDString =
419 CVCRRP_SymbPosIDLength = 436,
420 CVCRRP_FormattedString = 437,
422 CVCRRP_FormattedLength = 438
425 enum CVCRResultProperties2D
427 CVCRRP2D_ECCError = 408,
428 CVCRRP2D_ECCErasure = 409,
429 CVCRRP2D_SymbolHeightWidth = 433,
430 CVCRRP2D_SymbolRowsColumns = 434
433 enum CVCRResultPropertiesDataMatrix
436 CVCRRPDM_NumCodeWords = 421,
437 CVCRRPDM_CodeWordsBeforeECC = 422,
438 CVCRRPDM_CodeWordsAfterECC = 423,
439 CVCRRPDM_NumCodeWordsBlocks = 424,
440 CVCRRPDM_NumCodeWordsLongBlocks = 425,
441 CVCRRPDM_NumDataCodeWords = 426,
442 CVCRRPDM_NumECCodeWords = 427
445 enum CVCRResultPropertiesQR
448 CVCRRPQR_NumCodeWords = 421,
449 CVCRRPQR_CodeWordsBeforeECC = 422,
450 CVCRRPQR_CodeWordsAfterECC = 423,
451 CVCRRPQR_NumCodeWordsBlocks = 424,
452 CVCRRPQR_NumCodeWordsLongBlocks = 425,
453 CVCRRPQR_NumDataCodeWords = 426,
454 CVCRRPQR_NumECCodeWords = 427,
455 CVCRRPQR_StructAppendPosition = 428,
456 CVCRRPQR_StructAppendTotal = 429,
457 CVCRRPQR_StructAppendParity = 430
461 typedef struct CVCRPoint
467 enum CVCRCompositeType
470 CVCRCT_CCA = CVCRValueSymbology::CVCRVS_CCA,
471 CVCRCT_CCB = CVCRValueSymbology::CVCRVS_CCB,
472 CVCRCT_CCC = CVCRValueSymbology::CVCRVS_CCC,
475 enum CVCRResultPropertyInt
477 CVCRRPI_Symbology = 0,
478 CVCRRPI_IsExtendedSymbology,
479 CVCRRPI_DecodeStatus,
482 CVCRRPI_CompositeType,
484 CVCRRPI_ErrorCorrectionCodewords,
485 CVCRRPI_ErrorCorrectionErasureCodewords
488 enum CVCRResultPropertyDouble
494 typedef void *CVCRDecoder;
495 typedef void *CVCRDecoderResult;
497 CVB_DEF_CAPI(cvbres_t, CVCRCreateDecoder, (CVCRDecoder &Decoder))
500 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyInt, (CVCRDecoder Decoder,
int Property,
int &Value))
501 CVB_DEF_CAPI(cvbres_t, CVCRSetPropertyInt, (CVCRDecoder Decoder,
int Property,
int Value))
503 CVB_DEF_CAPI(cvbres_t, CVCRDecodeMultiImageWithResultRect,
504 (CVCRDecoder Decoder, IMG Image, cvbdim_t PlaneIndex, cvbdim_t Left, cvbdim_t Top, cvbdim_t Right,
505 cvbdim_t Bottom, cvbint64_t
Timeout,
size_t NumSymbols, CVCRDecoderResult &DecoderResult))
506 CVB_DEF_CAPI(cvbres_t, CVCRDecodeMultiImageParallelizableRect, (CVCRDecoder Decoder, IMG Image, cvbdim_t PlaneIndex, cvbdim_t Left,
507 cvbdim_t Top, cvbdim_t Right, cvbdim_t Bottom,
size_t NumSymbols,
508 CVCRDecoderResult &DecoderResult))
510 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultCount, (CVCRDecoderResult DecoderResult,
size_t &NumDetectedCodes))
511 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultInt, (CVCRDecoderResult DecoderResult,
size_t Index,
enum CVCRResultPropertyInt Property,
513 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultDouble, (CVCRDecoderResult DecoderResult,
size_t Index,
enum CVCRResultPropertyDouble Property,
515 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultCenter, (CVCRDecoderResult DecoderResult,
size_t Index, CVCRPoint &Value))
516 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultCorners, (CVCRDecoderResult DecoderResult,
size_t Index, CVCRPoint Value[4]))
518 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultData, (CVCRDecoderResult DecoderResult,
size_t Index,
char *Buffer,
size_t &Size))
519 CVB_DEF_CAPI(cvbres_t, CVCRGetDecoderResultDataW, (CVCRDecoderResult DecoderResult,
size_t Index,
wchar_t *Buffer,
size_t &Size))
520 inline cvbres_t _ppCVCRGetDecoderResultDataTyped(CVCRDecoderResult DecoderResult,
size_t Index,
char *Buffer,
523 return CVCRGetDecoderResultData(DecoderResult, Index, Buffer, Size);
525 inline cvbres_t _ppCVCRGetDecoderResultDataTyped(CVCRDecoderResult DecoderResult,
size_t Index,
wchar_t *Buffer,
528 return CVCRGetDecoderResultDataW(DecoderResult, Index, Buffer, Size);
533 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyIntMulti, (CVCRDecoder Decoder,
int Property,
size_t Index,
int &Value))
534 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyStringMulti, (CVCRDecoder Decoder,
int Property,
size_t Index,
char *Buffer,
size_t &Size))
535 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyIntsMulti, (CVCRDecoder Decoder,
int Property,
size_t Index,
void *Buffer,
size_t &Size))
536 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyStringMultiW, (CVCRDecoder Decoder,
int Property,
size_t Index,
wchar_t *Buffer,
size_t &Size))
538 inline cvbres_t _ppCVCRGetPropertyStringMultiTyped(CVCRDecoder Decoder,
int Property,
size_t Index,
char *Buffer,
size_t &Size)
540 return CVCRGetPropertyStringMulti(Decoder, Property, Index, Buffer, Size);
542 inline cvbres_t _ppCVCRGetPropertyStringMultiTyped(CVCRDecoder Decoder,
int Property,
size_t Index,
wchar_t *Buffer,
size_t &Size)
544 return CVCRGetPropertyStringMultiW(Decoder, Property, Index, Buffer, Size);
548 CVB_DEF_CAPI(cvbres_t, CVCRDecodeMultiImageRect, (CVCRDecoder Decoder, IMG Image, cvbdim_t PlaneIndex, cvbdim_t Left, cvbdim_t Top,
549 cvbdim_t Right, cvbdim_t Bottom, cvbint64_t
Timeout,
size_t NumSymbols,
550 size_t &NumSymbolsDetected))
554#pragma region not used yet
555 CVB_DEF_CAPI(cvbres_t, CVCRSetPropertyString, (CVCRDecoder Decoder,
int Property,
char *Buffer,
size_t Size))
556 CVB_DEF_CAPI(cvbres_t, CVCRSetPropertyStringW, (CVCRDecoder Decoder,
int Property,
wchar_t *Buffer,
size_t Size))
557 CVB_DEF_CAPI(cvbres_t, CVCRSetPropertyBuffer, (CVCRDecoder Decoder,
int Property,
void *Buffer,
size_t Size))
558 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyString, (CVCRDecoder Decoder,
int Property,
char *Buffer,
size_t &Size))
559 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyStringW, (CVCRDecoder Decoder,
int Property,
wchar_t *Buffer,
size_t &Size))
560 CVB_DEF_CAPI(cvbres_t, CVCRGetPropertyBuffer, (CVCRDecoder Decoder,
int Property,
void *Buffer,
size_t &Size))
562 inline cvbres_t _ppCVCRGetPropertyStringTyped(CVCRDecoder Decoder,
int Property,
char *Buffer,
size_t &Size)
564 return CVCRGetPropertyString(Decoder, Property, Buffer, Size);
567 inline cvbres_t _ppCVCRGetPropertyStringTyped(CVCRDecoder Decoder,
int Property,
wchar_t *Buffer,
size_t &Size)
569 return CVCRGetPropertyStringW(Decoder, Property, Buffer, Size);
572 inline cvbres_t _ppCVCRSetPropertyStringTyped(CVCRDecoder Decoder,
int Property,
char *Buffer,
int Size)
574 return CVCRSetPropertyString(Decoder, Property, Buffer, Size);
577 inline cvbres_t _ppCVCRSetPropertyStringTyped(CVCRDecoder Decoder,
int Property,
wchar_t *Buffer,
int Size)
579 return CVCRSetPropertyStringW(Decoder, Property, Buffer, Size);
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
@ Timeout
A timeout occurred, no image buffer has been returned.
Definition global.hpp:400