koichi12 commited on
Commit
d353357
·
verified ·
1 Parent(s): 4d5d235

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. .venv/lib/python3.11/site-packages/cv2/Error/__init__.pyi +118 -0
  3. .venv/lib/python3.11/site-packages/cv2/__pycache__/__init__.cpython-311.pyc +0 -0
  4. .venv/lib/python3.11/site-packages/cv2/__pycache__/config-3.cpython-311.pyc +0 -0
  5. .venv/lib/python3.11/site-packages/cv2/__pycache__/config.cpython-311.pyc +0 -0
  6. .venv/lib/python3.11/site-packages/cv2/__pycache__/load_config_py2.cpython-311.pyc +0 -0
  7. .venv/lib/python3.11/site-packages/cv2/__pycache__/load_config_py3.cpython-311.pyc +0 -0
  8. .venv/lib/python3.11/site-packages/cv2/__pycache__/version.cpython-311.pyc +0 -0
  9. .venv/lib/python3.11/site-packages/cv2/aruco/__init__.pyi +303 -0
  10. .venv/lib/python3.11/site-packages/cv2/barcode/__init__.pyi +39 -0
  11. .venv/lib/python3.11/site-packages/cv2/cuda/__init__.pyi +511 -0
  12. .venv/lib/python3.11/site-packages/cv2/data/__init__.py +3 -0
  13. .venv/lib/python3.11/site-packages/cv2/data/__pycache__/__init__.cpython-311.pyc +0 -0
  14. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_eye.xml +0 -0
  15. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_eye_tree_eyeglasses.xml +0 -0
  16. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalcatface_extended.xml +0 -0
  17. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt.xml +0 -0
  18. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt2.xml +0 -0
  19. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt_tree.xml +0 -0
  20. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_default.xml +0 -0
  21. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_lefteye_2splits.xml +0 -0
  22. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_license_plate_rus_16stages.xml +1404 -0
  23. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_lowerbody.xml +0 -0
  24. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_profileface.xml +0 -0
  25. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_righteye_2splits.xml +0 -0
  26. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_russian_plate_number.xml +2656 -0
  27. .venv/lib/python3.11/site-packages/cv2/data/haarcascade_upperbody.xml +0 -0
  28. .venv/lib/python3.11/site-packages/cv2/detail/__init__.pyi +600 -0
  29. .venv/lib/python3.11/site-packages/cv2/dnn/__init__.pyi +534 -0
  30. .venv/lib/python3.11/site-packages/cv2/fisheye/__init__.pyi +83 -0
  31. .venv/lib/python3.11/site-packages/cv2/flann/__init__.pyi +64 -0
  32. .venv/lib/python3.11/site-packages/cv2/gapi/__init__.py +323 -0
  33. .venv/lib/python3.11/site-packages/cv2/gapi/__init__.pyi +349 -0
  34. .venv/lib/python3.11/site-packages/cv2/gapi/__pycache__/__init__.cpython-311.pyc +0 -0
  35. .venv/lib/python3.11/site-packages/cv2/gapi/core/__init__.pyi +7 -0
  36. .venv/lib/python3.11/site-packages/cv2/gapi/core/cpu/__init__.pyi +9 -0
  37. .venv/lib/python3.11/site-packages/cv2/gapi/core/fluid/__init__.pyi +9 -0
  38. .venv/lib/python3.11/site-packages/cv2/gapi/core/ocl/__init__.pyi +9 -0
  39. .venv/lib/python3.11/site-packages/cv2/gapi/imgproc/__init__.pyi +5 -0
  40. .venv/lib/python3.11/site-packages/cv2/gapi/imgproc/fluid/__init__.pyi +9 -0
  41. .venv/lib/python3.11/site-packages/cv2/gapi/oak/__init__.pyi +37 -0
  42. .venv/lib/python3.11/site-packages/cv2/gapi/ov/__init__.pyi +74 -0
  43. .venv/lib/python3.11/site-packages/cv2/gapi/own/__init__.pyi +5 -0
  44. .venv/lib/python3.11/site-packages/cv2/gapi/own/detail/__init__.pyi +10 -0
  45. .venv/lib/python3.11/site-packages/cv2/gapi/render/__init__.pyi +5 -0
  46. .venv/lib/python3.11/site-packages/cv2/gapi/render/ocv/__init__.pyi +9 -0
  47. .venv/lib/python3.11/site-packages/cv2/gapi/streaming/__init__.pyi +42 -0
  48. .venv/lib/python3.11/site-packages/cv2/gapi/video/__init__.pyi +10 -0
  49. .venv/lib/python3.11/site-packages/cv2/ipp/__init__.pyi +14 -0
  50. .venv/lib/python3.11/site-packages/cv2/mat_wrapper/__init__.py +40 -0
.gitattributes CHANGED
@@ -251,3 +251,4 @@ tuning-competition-baseline/.venv/lib/python3.11/site-packages/torch/_inductor/_
251
  .venv/lib/python3.11/site-packages/pycparser/ply/__pycache__/yacc.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
252
  .venv/lib/python3.11/site-packages/torchvision.libs/libpng16.7f72a3c5.so.16 filter=lfs diff=lfs merge=lfs -text
253
  .venv/lib/python3.11/site-packages/msgspec/_core.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
 
 
251
  .venv/lib/python3.11/site-packages/pycparser/ply/__pycache__/yacc.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
252
  .venv/lib/python3.11/site-packages/torchvision.libs/libpng16.7f72a3c5.so.16 filter=lfs diff=lfs merge=lfs -text
253
  .venv/lib/python3.11/site-packages/msgspec/_core.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
254
+ .venv/lib/python3.11/site-packages/vllm/_moe_C.abi3.so filter=lfs diff=lfs merge=lfs -text
.venv/lib/python3.11/site-packages/cv2/Error/__init__.pyi ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ # Enumerations
4
+ StsOk: int
5
+ STS_OK: int
6
+ StsBackTrace: int
7
+ STS_BACK_TRACE: int
8
+ StsError: int
9
+ STS_ERROR: int
10
+ StsInternal: int
11
+ STS_INTERNAL: int
12
+ StsNoMem: int
13
+ STS_NO_MEM: int
14
+ StsBadArg: int
15
+ STS_BAD_ARG: int
16
+ StsBadFunc: int
17
+ STS_BAD_FUNC: int
18
+ StsNoConv: int
19
+ STS_NO_CONV: int
20
+ StsAutoTrace: int
21
+ STS_AUTO_TRACE: int
22
+ HeaderIsNull: int
23
+ HEADER_IS_NULL: int
24
+ BadImageSize: int
25
+ BAD_IMAGE_SIZE: int
26
+ BadOffset: int
27
+ BAD_OFFSET: int
28
+ BadDataPtr: int
29
+ BAD_DATA_PTR: int
30
+ BadStep: int
31
+ BAD_STEP: int
32
+ BadModelOrChSeq: int
33
+ BAD_MODEL_OR_CH_SEQ: int
34
+ BadNumChannels: int
35
+ BAD_NUM_CHANNELS: int
36
+ BadNumChannel1U: int
37
+ BAD_NUM_CHANNEL1U: int
38
+ BadDepth: int
39
+ BAD_DEPTH: int
40
+ BadAlphaChannel: int
41
+ BAD_ALPHA_CHANNEL: int
42
+ BadOrder: int
43
+ BAD_ORDER: int
44
+ BadOrigin: int
45
+ BAD_ORIGIN: int
46
+ BadAlign: int
47
+ BAD_ALIGN: int
48
+ BadCallBack: int
49
+ BAD_CALL_BACK: int
50
+ BadTileSize: int
51
+ BAD_TILE_SIZE: int
52
+ BadCOI: int
53
+ BAD_COI: int
54
+ BadROISize: int
55
+ BAD_ROISIZE: int
56
+ MaskIsTiled: int
57
+ MASK_IS_TILED: int
58
+ StsNullPtr: int
59
+ STS_NULL_PTR: int
60
+ StsVecLengthErr: int
61
+ STS_VEC_LENGTH_ERR: int
62
+ StsFilterStructContentErr: int
63
+ STS_FILTER_STRUCT_CONTENT_ERR: int
64
+ StsKernelStructContentErr: int
65
+ STS_KERNEL_STRUCT_CONTENT_ERR: int
66
+ StsFilterOffsetErr: int
67
+ STS_FILTER_OFFSET_ERR: int
68
+ StsBadSize: int
69
+ STS_BAD_SIZE: int
70
+ StsDivByZero: int
71
+ STS_DIV_BY_ZERO: int
72
+ StsInplaceNotSupported: int
73
+ STS_INPLACE_NOT_SUPPORTED: int
74
+ StsObjectNotFound: int
75
+ STS_OBJECT_NOT_FOUND: int
76
+ StsUnmatchedFormats: int
77
+ STS_UNMATCHED_FORMATS: int
78
+ StsBadFlag: int
79
+ STS_BAD_FLAG: int
80
+ StsBadPoint: int
81
+ STS_BAD_POINT: int
82
+ StsBadMask: int
83
+ STS_BAD_MASK: int
84
+ StsUnmatchedSizes: int
85
+ STS_UNMATCHED_SIZES: int
86
+ StsUnsupportedFormat: int
87
+ STS_UNSUPPORTED_FORMAT: int
88
+ StsOutOfRange: int
89
+ STS_OUT_OF_RANGE: int
90
+ StsParseError: int
91
+ STS_PARSE_ERROR: int
92
+ StsNotImplemented: int
93
+ STS_NOT_IMPLEMENTED: int
94
+ StsBadMemBlock: int
95
+ STS_BAD_MEM_BLOCK: int
96
+ StsAssert: int
97
+ STS_ASSERT: int
98
+ GpuNotSupported: int
99
+ GPU_NOT_SUPPORTED: int
100
+ GpuApiCallError: int
101
+ GPU_API_CALL_ERROR: int
102
+ OpenGlNotSupported: int
103
+ OPEN_GL_NOT_SUPPORTED: int
104
+ OpenGlApiCallError: int
105
+ OPEN_GL_API_CALL_ERROR: int
106
+ OpenCLApiCallError: int
107
+ OPEN_CLAPI_CALL_ERROR: int
108
+ OpenCLDoubleNotSupported: int
109
+ OPEN_CLDOUBLE_NOT_SUPPORTED: int
110
+ OpenCLInitError: int
111
+ OPEN_CLINIT_ERROR: int
112
+ OpenCLNoAMDBlasFft: int
113
+ OPEN_CLNO_AMDBLAS_FFT: int
114
+ Code = int
115
+ """One of [StsOk, STS_OK, StsBackTrace, STS_BACK_TRACE, StsError, STS_ERROR, StsInternal, STS_INTERNAL, StsNoMem, STS_NO_MEM, StsBadArg, STS_BAD_ARG, StsBadFunc, STS_BAD_FUNC, StsNoConv, STS_NO_CONV, StsAutoTrace, STS_AUTO_TRACE, HeaderIsNull, HEADER_IS_NULL, BadImageSize, BAD_IMAGE_SIZE, BadOffset, BAD_OFFSET, BadDataPtr, BAD_DATA_PTR, BadStep, BAD_STEP, BadModelOrChSeq, BAD_MODEL_OR_CH_SEQ, BadNumChannels, BAD_NUM_CHANNELS, BadNumChannel1U, BAD_NUM_CHANNEL1U, BadDepth, BAD_DEPTH, BadAlphaChannel, BAD_ALPHA_CHANNEL, BadOrder, BAD_ORDER, BadOrigin, BAD_ORIGIN, BadAlign, BAD_ALIGN, BadCallBack, BAD_CALL_BACK, BadTileSize, BAD_TILE_SIZE, BadCOI, BAD_COI, BadROISize, BAD_ROISIZE, MaskIsTiled, MASK_IS_TILED, StsNullPtr, STS_NULL_PTR, StsVecLengthErr, STS_VEC_LENGTH_ERR, StsFilterStructContentErr, STS_FILTER_STRUCT_CONTENT_ERR, StsKernelStructContentErr, STS_KERNEL_STRUCT_CONTENT_ERR, StsFilterOffsetErr, STS_FILTER_OFFSET_ERR, StsBadSize, STS_BAD_SIZE, StsDivByZero, STS_DIV_BY_ZERO, StsInplaceNotSupported, STS_INPLACE_NOT_SUPPORTED, StsObjectNotFound, STS_OBJECT_NOT_FOUND, StsUnmatchedFormats, STS_UNMATCHED_FORMATS, StsBadFlag, STS_BAD_FLAG, StsBadPoint, STS_BAD_POINT, StsBadMask, STS_BAD_MASK, StsUnmatchedSizes, STS_UNMATCHED_SIZES, StsUnsupportedFormat, STS_UNSUPPORTED_FORMAT, StsOutOfRange, STS_OUT_OF_RANGE, StsParseError, STS_PARSE_ERROR, StsNotImplemented, STS_NOT_IMPLEMENTED, StsBadMemBlock, STS_BAD_MEM_BLOCK, StsAssert, STS_ASSERT, GpuNotSupported, GPU_NOT_SUPPORTED, GpuApiCallError, GPU_API_CALL_ERROR, OpenGlNotSupported, OPEN_GL_NOT_SUPPORTED, OpenGlApiCallError, OPEN_GL_API_CALL_ERROR, OpenCLApiCallError, OPEN_CLAPI_CALL_ERROR, OpenCLDoubleNotSupported, OPEN_CLDOUBLE_NOT_SUPPORTED, OpenCLInitError, OPEN_CLINIT_ERROR, OpenCLNoAMDBlasFft, OPEN_CLNO_AMDBLAS_FFT]"""
116
+
117
+
118
+
.venv/lib/python3.11/site-packages/cv2/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (10.8 kB). View file
 
.venv/lib/python3.11/site-packages/cv2/__pycache__/config-3.cpython-311.pyc ADDED
Binary file (1.25 kB). View file
 
.venv/lib/python3.11/site-packages/cv2/__pycache__/config.cpython-311.pyc ADDED
Binary file (410 Bytes). View file
 
.venv/lib/python3.11/site-packages/cv2/__pycache__/load_config_py2.cpython-311.pyc ADDED
Binary file (520 Bytes). View file
 
.venv/lib/python3.11/site-packages/cv2/__pycache__/load_config_py3.cpython-311.pyc ADDED
Binary file (965 Bytes). View file
 
.venv/lib/python3.11/site-packages/cv2/__pycache__/version.cpython-311.pyc ADDED
Binary file (278 Bytes). View file
 
.venv/lib/python3.11/site-packages/cv2/aruco/__init__.pyi ADDED
@@ -0,0 +1,303 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Enumerations
9
+ CORNER_REFINE_NONE: int
10
+ CORNER_REFINE_SUBPIX: int
11
+ CORNER_REFINE_CONTOUR: int
12
+ CORNER_REFINE_APRILTAG: int
13
+ CornerRefineMethod = int
14
+ """One of [CORNER_REFINE_NONE, CORNER_REFINE_SUBPIX, CORNER_REFINE_CONTOUR, CORNER_REFINE_APRILTAG]"""
15
+
16
+ DICT_4X4_50: int
17
+ DICT_4X4_100: int
18
+ DICT_4X4_250: int
19
+ DICT_4X4_1000: int
20
+ DICT_5X5_50: int
21
+ DICT_5X5_100: int
22
+ DICT_5X5_250: int
23
+ DICT_5X5_1000: int
24
+ DICT_6X6_50: int
25
+ DICT_6X6_100: int
26
+ DICT_6X6_250: int
27
+ DICT_6X6_1000: int
28
+ DICT_7X7_50: int
29
+ DICT_7X7_100: int
30
+ DICT_7X7_250: int
31
+ DICT_7X7_1000: int
32
+ DICT_ARUCO_ORIGINAL: int
33
+ DICT_APRILTAG_16h5: int
34
+ DICT_APRILTAG_16H5: int
35
+ DICT_APRILTAG_25h9: int
36
+ DICT_APRILTAG_25H9: int
37
+ DICT_APRILTAG_36h10: int
38
+ DICT_APRILTAG_36H10: int
39
+ DICT_APRILTAG_36h11: int
40
+ DICT_APRILTAG_36H11: int
41
+ DICT_ARUCO_MIP_36h12: int
42
+ DICT_ARUCO_MIP_36H12: int
43
+ PredefinedDictionaryType = int
44
+ """One of [DICT_4X4_50, DICT_4X4_100, DICT_4X4_250, DICT_4X4_1000, DICT_5X5_50, DICT_5X5_100, DICT_5X5_250, DICT_5X5_1000, DICT_6X6_50, DICT_6X6_100, DICT_6X6_250, DICT_6X6_1000, DICT_7X7_50, DICT_7X7_100, DICT_7X7_250, DICT_7X7_1000, DICT_ARUCO_ORIGINAL, DICT_APRILTAG_16h5, DICT_APRILTAG_16H5, DICT_APRILTAG_25h9, DICT_APRILTAG_25H9, DICT_APRILTAG_36h10, DICT_APRILTAG_36H10, DICT_APRILTAG_36h11, DICT_APRILTAG_36H11, DICT_ARUCO_MIP_36h12, DICT_ARUCO_MIP_36H12]"""
45
+
46
+
47
+
48
+ # Classes
49
+ class Board:
50
+ # Functions
51
+ @_typing.overload
52
+ def __init__(self, objPoints: _typing.Sequence[cv2.typing.MatLike], dictionary: Dictionary, ids: cv2.typing.MatLike) -> None: ...
53
+ @_typing.overload
54
+ def __init__(self, objPoints: _typing.Sequence[cv2.UMat], dictionary: Dictionary, ids: cv2.UMat) -> None: ...
55
+
56
+ def getDictionary(self) -> Dictionary: ...
57
+
58
+ def getObjPoints(self) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point3f]]: ...
59
+
60
+ def getIds(self) -> _typing.Sequence[int]: ...
61
+
62
+ def getRightBottomCorner(self) -> cv2.typing.Point3f: ...
63
+
64
+ @_typing.overload
65
+ def matchImagePoints(self, detectedCorners: _typing.Sequence[cv2.typing.MatLike], detectedIds: cv2.typing.MatLike, objPoints: cv2.typing.MatLike | None = ..., imgPoints: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
66
+ @_typing.overload
67
+ def matchImagePoints(self, detectedCorners: _typing.Sequence[cv2.UMat], detectedIds: cv2.UMat, objPoints: cv2.UMat | None = ..., imgPoints: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
68
+
69
+ @_typing.overload
70
+ def generateImage(self, outSize: cv2.typing.Size, img: cv2.typing.MatLike | None = ..., marginSize: int = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
71
+ @_typing.overload
72
+ def generateImage(self, outSize: cv2.typing.Size, img: cv2.UMat | None = ..., marginSize: int = ..., borderBits: int = ...) -> cv2.UMat: ...
73
+
74
+
75
+ class GridBoard(Board):
76
+ # Functions
77
+ @_typing.overload
78
+ def __init__(self, size: cv2.typing.Size, markerLength: float, markerSeparation: float, dictionary: Dictionary, ids: cv2.typing.MatLike | None = ...) -> None: ...
79
+ @_typing.overload
80
+ def __init__(self, size: cv2.typing.Size, markerLength: float, markerSeparation: float, dictionary: Dictionary, ids: cv2.UMat | None = ...) -> None: ...
81
+
82
+ def getGridSize(self) -> cv2.typing.Size: ...
83
+
84
+ def getMarkerLength(self) -> float: ...
85
+
86
+ def getMarkerSeparation(self) -> float: ...
87
+
88
+
89
+ class CharucoBoard(Board):
90
+ # Functions
91
+ @_typing.overload
92
+ def __init__(self, size: cv2.typing.Size, squareLength: float, markerLength: float, dictionary: Dictionary, ids: cv2.typing.MatLike | None = ...) -> None: ...
93
+ @_typing.overload
94
+ def __init__(self, size: cv2.typing.Size, squareLength: float, markerLength: float, dictionary: Dictionary, ids: cv2.UMat | None = ...) -> None: ...
95
+
96
+ def setLegacyPattern(self, legacyPattern: bool) -> None: ...
97
+
98
+ def getLegacyPattern(self) -> bool: ...
99
+
100
+ def getChessboardSize(self) -> cv2.typing.Size: ...
101
+
102
+ def getSquareLength(self) -> float: ...
103
+
104
+ def getMarkerLength(self) -> float: ...
105
+
106
+ def getChessboardCorners(self) -> _typing.Sequence[cv2.typing.Point3f]: ...
107
+
108
+ @_typing.overload
109
+ def checkCharucoCornersCollinear(self, charucoIds: cv2.typing.MatLike) -> bool: ...
110
+ @_typing.overload
111
+ def checkCharucoCornersCollinear(self, charucoIds: cv2.UMat) -> bool: ...
112
+
113
+
114
+ class DetectorParameters:
115
+ adaptiveThreshWinSizeMin: int
116
+ adaptiveThreshWinSizeMax: int
117
+ adaptiveThreshWinSizeStep: int
118
+ adaptiveThreshConstant: float
119
+ minMarkerPerimeterRate: float
120
+ maxMarkerPerimeterRate: float
121
+ polygonalApproxAccuracyRate: float
122
+ minCornerDistanceRate: float
123
+ minDistanceToBorder: int
124
+ minMarkerDistanceRate: float
125
+ minGroupDistance: float
126
+ cornerRefinementMethod: int
127
+ cornerRefinementWinSize: int
128
+ relativeCornerRefinmentWinSize: float
129
+ cornerRefinementMaxIterations: int
130
+ cornerRefinementMinAccuracy: float
131
+ markerBorderBits: int
132
+ perspectiveRemovePixelPerCell: int
133
+ perspectiveRemoveIgnoredMarginPerCell: float
134
+ maxErroneousBitsInBorderRate: float
135
+ minOtsuStdDev: float
136
+ errorCorrectionRate: float
137
+ aprilTagQuadDecimate: float
138
+ aprilTagQuadSigma: float
139
+ aprilTagMinClusterPixels: int
140
+ aprilTagMaxNmaxima: int
141
+ aprilTagCriticalRad: float
142
+ aprilTagMaxLineFitMse: float
143
+ aprilTagMinWhiteBlackDiff: int
144
+ aprilTagDeglitch: int
145
+ detectInvertedMarker: bool
146
+ useAruco3Detection: bool
147
+ minSideLengthCanonicalImg: int
148
+ minMarkerLengthRatioOriginalImg: float
149
+
150
+ # Functions
151
+ def __init__(self) -> None: ...
152
+
153
+ def readDetectorParameters(self, fn: cv2.FileNode) -> bool: ...
154
+
155
+ def writeDetectorParameters(self, fs: cv2.FileStorage, name: str = ...) -> bool: ...
156
+
157
+
158
+ class RefineParameters:
159
+ minRepDistance: float
160
+ errorCorrectionRate: float
161
+ checkAllOrders: bool
162
+
163
+ # Functions
164
+ def __init__(self, minRepDistance: float = ..., errorCorrectionRate: float = ..., checkAllOrders: bool = ...) -> None: ...
165
+
166
+ def readRefineParameters(self, fn: cv2.FileNode) -> bool: ...
167
+
168
+ def writeRefineParameters(self, fs: cv2.FileStorage, name: str = ...) -> bool: ...
169
+
170
+
171
+ class ArucoDetector(cv2.Algorithm):
172
+ # Functions
173
+ def __init__(self, dictionary: Dictionary = ..., detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
174
+
175
+ @_typing.overload
176
+ def detectMarkers(self, image: cv2.typing.MatLike, corners: _typing.Sequence[cv2.typing.MatLike] | None = ..., ids: cv2.typing.MatLike | None = ..., rejectedImgPoints: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike]]: ...
177
+ @_typing.overload
178
+ def detectMarkers(self, image: cv2.UMat, corners: _typing.Sequence[cv2.UMat] | None = ..., ids: cv2.UMat | None = ..., rejectedImgPoints: _typing.Sequence[cv2.UMat] | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, _typing.Sequence[cv2.UMat]]: ...
179
+
180
+ @_typing.overload
181
+ def refineDetectedMarkers(self, image: cv2.typing.MatLike, board: Board, detectedCorners: _typing.Sequence[cv2.typing.MatLike], detectedIds: cv2.typing.MatLike, rejectedCorners: _typing.Sequence[cv2.typing.MatLike], cameraMatrix: cv2.typing.MatLike | None = ..., distCoeffs: cv2.typing.MatLike | None = ..., recoveredIdxs: cv2.typing.MatLike | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
182
+ @_typing.overload
183
+ def refineDetectedMarkers(self, image: cv2.UMat, board: Board, detectedCorners: _typing.Sequence[cv2.UMat], detectedIds: cv2.UMat, rejectedCorners: _typing.Sequence[cv2.UMat], cameraMatrix: cv2.UMat | None = ..., distCoeffs: cv2.UMat | None = ..., recoveredIdxs: cv2.UMat | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
184
+
185
+ def getDictionary(self) -> Dictionary: ...
186
+
187
+ def setDictionary(self, dictionary: Dictionary) -> None: ...
188
+
189
+ def getDetectorParameters(self) -> DetectorParameters: ...
190
+
191
+ def setDetectorParameters(self, detectorParameters: DetectorParameters) -> None: ...
192
+
193
+ def getRefineParameters(self) -> RefineParameters: ...
194
+
195
+ def setRefineParameters(self, refineParameters: RefineParameters) -> None: ...
196
+
197
+ def write(self, fs: cv2.FileStorage, name: str) -> None: ...
198
+
199
+ def read(self, fn: cv2.FileNode) -> None: ...
200
+
201
+
202
+ class Dictionary:
203
+ bytesList: cv2.typing.MatLike
204
+ markerSize: int
205
+ maxCorrectionBits: int
206
+
207
+ # Functions
208
+ @_typing.overload
209
+ def __init__(self) -> None: ...
210
+ @_typing.overload
211
+ def __init__(self, bytesList: cv2.typing.MatLike, _markerSize: int, maxcorr: int = ...) -> None: ...
212
+
213
+ def readDictionary(self, fn: cv2.FileNode) -> bool: ...
214
+
215
+ def writeDictionary(self, fs: cv2.FileStorage, name: str = ...) -> None: ...
216
+
217
+ def identify(self, onlyBits: cv2.typing.MatLike, maxCorrectionRate: float) -> tuple[bool, int, int]: ...
218
+
219
+ @_typing.overload
220
+ def getDistanceToId(self, bits: cv2.typing.MatLike, id: int, allRotations: bool = ...) -> int: ...
221
+ @_typing.overload
222
+ def getDistanceToId(self, bits: cv2.UMat, id: int, allRotations: bool = ...) -> int: ...
223
+
224
+ @_typing.overload
225
+ def generateImageMarker(self, id: int, sidePixels: int, _img: cv2.typing.MatLike | None = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
226
+ @_typing.overload
227
+ def generateImageMarker(self, id: int, sidePixels: int, _img: cv2.UMat | None = ..., borderBits: int = ...) -> cv2.UMat: ...
228
+
229
+ @staticmethod
230
+ def getByteListFromBits(bits: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
231
+
232
+ @staticmethod
233
+ def getBitsFromByteList(byteList: cv2.typing.MatLike, markerSize: int) -> cv2.typing.MatLike: ...
234
+
235
+
236
+ class CharucoParameters:
237
+ cameraMatrix: cv2.typing.MatLike
238
+ distCoeffs: cv2.typing.MatLike
239
+ minMarkers: int
240
+ tryRefineMarkers: bool
241
+
242
+ # Functions
243
+ def __init__(self) -> None: ...
244
+
245
+
246
+ class CharucoDetector(cv2.Algorithm):
247
+ # Functions
248
+ def __init__(self, board: CharucoBoard, charucoParams: CharucoParameters = ..., detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
249
+
250
+ def getBoard(self) -> CharucoBoard: ...
251
+
252
+ def setBoard(self, board: CharucoBoard) -> None: ...
253
+
254
+ def getCharucoParameters(self) -> CharucoParameters: ...
255
+
256
+ def setCharucoParameters(self, charucoParameters: CharucoParameters) -> None: ...
257
+
258
+ def getDetectorParameters(self) -> DetectorParameters: ...
259
+
260
+ def setDetectorParameters(self, detectorParameters: DetectorParameters) -> None: ...
261
+
262
+ def getRefineParameters(self) -> RefineParameters: ...
263
+
264
+ def setRefineParameters(self, refineParameters: RefineParameters) -> None: ...
265
+
266
+ @_typing.overload
267
+ def detectBoard(self, image: cv2.typing.MatLike, charucoCorners: cv2.typing.MatLike | None = ..., charucoIds: cv2.typing.MatLike | None = ..., markerCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., markerIds: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
268
+ @_typing.overload
269
+ def detectBoard(self, image: cv2.UMat, charucoCorners: cv2.UMat | None = ..., charucoIds: cv2.UMat | None = ..., markerCorners: _typing.Sequence[cv2.UMat] | None = ..., markerIds: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
270
+
271
+ @_typing.overload
272
+ def detectDiamonds(self, image: cv2.typing.MatLike, diamondCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., diamondIds: cv2.typing.MatLike | None = ..., markerCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., markerIds: cv2.typing.MatLike | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
273
+ @_typing.overload
274
+ def detectDiamonds(self, image: cv2.UMat, diamondCorners: _typing.Sequence[cv2.UMat] | None = ..., diamondIds: cv2.UMat | None = ..., markerCorners: _typing.Sequence[cv2.UMat] | None = ..., markerIds: cv2.UMat | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
275
+
276
+
277
+
278
+ # Functions
279
+ @_typing.overload
280
+ def drawDetectedCornersCharuco(image: cv2.typing.MatLike, charucoCorners: cv2.typing.MatLike, charucoIds: cv2.typing.MatLike | None = ..., cornerColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
281
+ @_typing.overload
282
+ def drawDetectedCornersCharuco(image: cv2.UMat, charucoCorners: cv2.UMat, charucoIds: cv2.UMat | None = ..., cornerColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
283
+
284
+ @_typing.overload
285
+ def drawDetectedDiamonds(image: cv2.typing.MatLike, diamondCorners: _typing.Sequence[cv2.typing.MatLike], diamondIds: cv2.typing.MatLike | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
286
+ @_typing.overload
287
+ def drawDetectedDiamonds(image: cv2.UMat, diamondCorners: _typing.Sequence[cv2.UMat], diamondIds: cv2.UMat | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
288
+
289
+ @_typing.overload
290
+ def drawDetectedMarkers(image: cv2.typing.MatLike, corners: _typing.Sequence[cv2.typing.MatLike], ids: cv2.typing.MatLike | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
291
+ @_typing.overload
292
+ def drawDetectedMarkers(image: cv2.UMat, corners: _typing.Sequence[cv2.UMat], ids: cv2.UMat | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
293
+
294
+ def extendDictionary(nMarkers: int, markerSize: int, baseDictionary: Dictionary = ..., randomSeed: int = ...) -> Dictionary: ...
295
+
296
+ @_typing.overload
297
+ def generateImageMarker(dictionary: Dictionary, id: int, sidePixels: int, img: cv2.typing.MatLike | None = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
298
+ @_typing.overload
299
+ def generateImageMarker(dictionary: Dictionary, id: int, sidePixels: int, img: cv2.UMat | None = ..., borderBits: int = ...) -> cv2.UMat: ...
300
+
301
+ def getPredefinedDictionary(dict: int) -> Dictionary: ...
302
+
303
+
.venv/lib/python3.11/site-packages/cv2/barcode/__init__.pyi ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Classes
9
+ class BarcodeDetector(cv2.GraphicalCodeDetector):
10
+ # Functions
11
+ @_typing.overload
12
+ def __init__(self) -> None: ...
13
+ @_typing.overload
14
+ def __init__(self, prototxt_path: str, model_path: str) -> None: ...
15
+
16
+ @_typing.overload
17
+ def decodeWithType(self, img: cv2.typing.MatLike, points: cv2.typing.MatLike) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str]]: ...
18
+ @_typing.overload
19
+ def decodeWithType(self, img: cv2.UMat, points: cv2.UMat) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str]]: ...
20
+
21
+ @_typing.overload
22
+ def detectAndDecodeWithType(self, img: cv2.typing.MatLike, points: cv2.typing.MatLike | None = ...) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str], cv2.typing.MatLike]: ...
23
+ @_typing.overload
24
+ def detectAndDecodeWithType(self, img: cv2.UMat, points: cv2.UMat | None = ...) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str], cv2.UMat]: ...
25
+
26
+ def getDownsamplingThreshold(self) -> float: ...
27
+
28
+ def setDownsamplingThreshold(self, thresh: float) -> BarcodeDetector: ...
29
+
30
+ def getDetectorScales(self) -> _typing.Sequence[float]: ...
31
+
32
+ def setDetectorScales(self, sizes: _typing.Sequence[float]) -> BarcodeDetector: ...
33
+
34
+ def getGradientThreshold(self) -> float: ...
35
+
36
+ def setGradientThreshold(self, thresh: float) -> BarcodeDetector: ...
37
+
38
+
39
+
.venv/lib/python3.11/site-packages/cv2/cuda/__init__.pyi ADDED
@@ -0,0 +1,511 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Enumerations
9
+ FEATURE_SET_COMPUTE_10: int
10
+ FEATURE_SET_COMPUTE_11: int
11
+ FEATURE_SET_COMPUTE_12: int
12
+ FEATURE_SET_COMPUTE_13: int
13
+ FEATURE_SET_COMPUTE_20: int
14
+ FEATURE_SET_COMPUTE_21: int
15
+ FEATURE_SET_COMPUTE_30: int
16
+ FEATURE_SET_COMPUTE_32: int
17
+ FEATURE_SET_COMPUTE_35: int
18
+ FEATURE_SET_COMPUTE_50: int
19
+ GLOBAL_ATOMICS: int
20
+ SHARED_ATOMICS: int
21
+ NATIVE_DOUBLE: int
22
+ WARP_SHUFFLE_FUNCTIONS: int
23
+ DYNAMIC_PARALLELISM: int
24
+ FeatureSet = int
25
+ """One of [FEATURE_SET_COMPUTE_10, FEATURE_SET_COMPUTE_11, FEATURE_SET_COMPUTE_12, FEATURE_SET_COMPUTE_13, FEATURE_SET_COMPUTE_20, FEATURE_SET_COMPUTE_21, FEATURE_SET_COMPUTE_30, FEATURE_SET_COMPUTE_32, FEATURE_SET_COMPUTE_35, FEATURE_SET_COMPUTE_50, GLOBAL_ATOMICS, SHARED_ATOMICS, NATIVE_DOUBLE, WARP_SHUFFLE_FUNCTIONS, DYNAMIC_PARALLELISM]"""
26
+
27
+
28
+ HostMem_PAGE_LOCKED: int
29
+ HOST_MEM_PAGE_LOCKED: int
30
+ HostMem_SHARED: int
31
+ HOST_MEM_SHARED: int
32
+ HostMem_WRITE_COMBINED: int
33
+ HOST_MEM_WRITE_COMBINED: int
34
+ HostMem_AllocType = int
35
+ """One of [HostMem_PAGE_LOCKED, HOST_MEM_PAGE_LOCKED, HostMem_SHARED, HOST_MEM_SHARED, HostMem_WRITE_COMBINED, HOST_MEM_WRITE_COMBINED]"""
36
+
37
+ Event_DEFAULT: int
38
+ EVENT_DEFAULT: int
39
+ Event_BLOCKING_SYNC: int
40
+ EVENT_BLOCKING_SYNC: int
41
+ Event_DISABLE_TIMING: int
42
+ EVENT_DISABLE_TIMING: int
43
+ Event_INTERPROCESS: int
44
+ EVENT_INTERPROCESS: int
45
+ Event_CreateFlags = int
46
+ """One of [Event_DEFAULT, EVENT_DEFAULT, Event_BLOCKING_SYNC, EVENT_BLOCKING_SYNC, Event_DISABLE_TIMING, EVENT_DISABLE_TIMING, Event_INTERPROCESS, EVENT_INTERPROCESS]"""
47
+
48
+ DeviceInfo_ComputeModeDefault: int
49
+ DEVICE_INFO_COMPUTE_MODE_DEFAULT: int
50
+ DeviceInfo_ComputeModeExclusive: int
51
+ DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE: int
52
+ DeviceInfo_ComputeModeProhibited: int
53
+ DEVICE_INFO_COMPUTE_MODE_PROHIBITED: int
54
+ DeviceInfo_ComputeModeExclusiveProcess: int
55
+ DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE_PROCESS: int
56
+ DeviceInfo_ComputeMode = int
57
+ """One of [DeviceInfo_ComputeModeDefault, DEVICE_INFO_COMPUTE_MODE_DEFAULT, DeviceInfo_ComputeModeExclusive, DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE, DeviceInfo_ComputeModeProhibited, DEVICE_INFO_COMPUTE_MODE_PROHIBITED, DeviceInfo_ComputeModeExclusiveProcess, DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE_PROCESS]"""
58
+
59
+
60
+ # Classes
61
+ class GpuMat:
62
+ @property
63
+ def step(self) -> int: ...
64
+
65
+ # Classes
66
+ class Allocator:
67
+ ...
68
+
69
+
70
+ # Functions
71
+ @_typing.overload
72
+ def __init__(self, allocator: GpuMat.Allocator = ...) -> None: ...
73
+ @_typing.overload
74
+ def __init__(self, rows: int, cols: int, type: int, allocator: GpuMat.Allocator = ...) -> None: ...
75
+ @_typing.overload
76
+ def __init__(self, size: cv2.typing.Size, type: int, allocator: GpuMat.Allocator = ...) -> None: ...
77
+ @_typing.overload
78
+ def __init__(self, rows: int, cols: int, type: int, s: cv2.typing.Scalar, allocator: GpuMat.Allocator = ...) -> None: ...
79
+ @_typing.overload
80
+ def __init__(self, size: cv2.typing.Size, type: int, s: cv2.typing.Scalar, allocator: GpuMat.Allocator = ...) -> None: ...
81
+ @_typing.overload
82
+ def __init__(self, m: GpuMat) -> None: ...
83
+ @_typing.overload
84
+ def __init__(self, m: GpuMat, rowRange: cv2.typing.Range, colRange: cv2.typing.Range) -> None: ...
85
+ @_typing.overload
86
+ def __init__(self, m: GpuMat, roi: cv2.typing.Rect) -> None: ...
87
+ @_typing.overload
88
+ def __init__(self, arr: cv2.typing.MatLike, allocator: GpuMat.Allocator = ...) -> None: ...
89
+ @_typing.overload
90
+ def __init__(self, arr: GpuMat, allocator: GpuMat.Allocator = ...) -> None: ...
91
+ @_typing.overload
92
+ def __init__(self, arr: cv2.UMat, allocator: GpuMat.Allocator = ...) -> None: ...
93
+
94
+ @staticmethod
95
+ def defaultAllocator() -> GpuMat.Allocator: ...
96
+
97
+ @staticmethod
98
+ def setDefaultAllocator(allocator: GpuMat.Allocator) -> None: ...
99
+
100
+ @staticmethod
101
+ def getStdAllocator() -> GpuMat.Allocator: ...
102
+
103
+ @_typing.overload
104
+ def create(self, rows: int, cols: int, type: int) -> None: ...
105
+ @_typing.overload
106
+ def create(self, size: cv2.typing.Size, type: int) -> None: ...
107
+
108
+ def release(self) -> None: ...
109
+
110
+ def swap(self, mat: GpuMat) -> None: ...
111
+
112
+ @_typing.overload
113
+ def upload(self, arr: cv2.typing.MatLike) -> None: ...
114
+ @_typing.overload
115
+ def upload(self, arr: GpuMat) -> None: ...
116
+ @_typing.overload
117
+ def upload(self, arr: cv2.UMat) -> None: ...
118
+ @_typing.overload
119
+ def upload(self, arr: cv2.typing.MatLike, stream: Stream) -> None: ...
120
+ @_typing.overload
121
+ def upload(self, arr: GpuMat, stream: Stream) -> None: ...
122
+ @_typing.overload
123
+ def upload(self, arr: cv2.UMat, stream: Stream) -> None: ...
124
+
125
+ @_typing.overload
126
+ def download(self, dst: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
127
+ @_typing.overload
128
+ def download(self, dst: GpuMat | None = ...) -> GpuMat: ...
129
+ @_typing.overload
130
+ def download(self, dst: cv2.UMat | None = ...) -> cv2.UMat: ...
131
+ @_typing.overload
132
+ def download(self, stream: Stream, dst: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
133
+ @_typing.overload
134
+ def download(self, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
135
+ @_typing.overload
136
+ def download(self, stream: Stream, dst: cv2.UMat | None = ...) -> cv2.UMat: ...
137
+
138
+ def clone(self) -> GpuMat: ...
139
+
140
+ @_typing.overload
141
+ def copyTo(self, dst: GpuMat | None = ...) -> GpuMat: ...
142
+ @_typing.overload
143
+ def copyTo(self, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
144
+ @_typing.overload
145
+ def copyTo(self, mask: GpuMat, dst: GpuMat | None = ...) -> GpuMat: ...
146
+ @_typing.overload
147
+ def copyTo(self, mask: GpuMat, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
148
+
149
+ @_typing.overload
150
+ def setTo(self, s: cv2.typing.Scalar) -> GpuMat: ...
151
+ @_typing.overload
152
+ def setTo(self, s: cv2.typing.Scalar, stream: Stream) -> GpuMat: ...
153
+ @_typing.overload
154
+ def setTo(self, s: cv2.typing.Scalar, mask: cv2.typing.MatLike) -> GpuMat: ...
155
+ @_typing.overload
156
+ def setTo(self, s: cv2.typing.Scalar, mask: GpuMat) -> GpuMat: ...
157
+ @_typing.overload
158
+ def setTo(self, s: cv2.typing.Scalar, mask: cv2.UMat) -> GpuMat: ...
159
+ @_typing.overload
160
+ def setTo(self, s: cv2.typing.Scalar, mask: cv2.typing.MatLike, stream: Stream) -> GpuMat: ...
161
+ @_typing.overload
162
+ def setTo(self, s: cv2.typing.Scalar, mask: GpuMat, stream: Stream) -> GpuMat: ...
163
+ @_typing.overload
164
+ def setTo(self, s: cv2.typing.Scalar, mask: cv2.UMat, stream: Stream) -> GpuMat: ...
165
+
166
+ @_typing.overload
167
+ def convertTo(self, rtype: int, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
168
+ @_typing.overload
169
+ def convertTo(self, rtype: int, dst: GpuMat | None = ..., alpha: float = ..., beta: float = ...) -> GpuMat: ...
170
+ @_typing.overload
171
+ def convertTo(self, rtype: int, alpha: float, beta: float, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
172
+
173
+ def assignTo(self, m: GpuMat, type: int = ...) -> None: ...
174
+
175
+ def row(self, y: int) -> GpuMat: ...
176
+
177
+ def col(self, x: int) -> GpuMat: ...
178
+
179
+ @_typing.overload
180
+ def rowRange(self, startrow: int, endrow: int) -> GpuMat: ...
181
+ @_typing.overload
182
+ def rowRange(self, r: cv2.typing.Range) -> GpuMat: ...
183
+
184
+ @_typing.overload
185
+ def colRange(self, startcol: int, endcol: int) -> GpuMat: ...
186
+ @_typing.overload
187
+ def colRange(self, r: cv2.typing.Range) -> GpuMat: ...
188
+
189
+ def reshape(self, cn: int, rows: int = ...) -> GpuMat: ...
190
+
191
+ def locateROI(self, wholeSize: cv2.typing.Size, ofs: cv2.typing.Point) -> None: ...
192
+
193
+ def adjustROI(self, dtop: int, dbottom: int, dleft: int, dright: int) -> GpuMat: ...
194
+
195
+ def isContinuous(self) -> bool: ...
196
+
197
+ def elemSize(self) -> int: ...
198
+
199
+ def elemSize1(self) -> int: ...
200
+
201
+ def type(self) -> int: ...
202
+
203
+ def depth(self) -> int: ...
204
+
205
+ def channels(self) -> int: ...
206
+
207
+ def step1(self) -> int: ...
208
+
209
+ def size(self) -> cv2.typing.Size: ...
210
+
211
+ def empty(self) -> bool: ...
212
+
213
+ def cudaPtr(self) -> cv2.typing.IntPointer: ...
214
+
215
+ def updateContinuityFlag(self) -> None: ...
216
+
217
+
218
+ class GpuData:
219
+ ...
220
+
221
+ class GpuMatND:
222
+ ...
223
+
224
+ class BufferPool:
225
+ # Functions
226
+ def __init__(self, stream: Stream) -> None: ...
227
+
228
+ @_typing.overload
229
+ def getBuffer(self, rows: int, cols: int, type: int) -> GpuMat: ...
230
+ @_typing.overload
231
+ def getBuffer(self, size: cv2.typing.Size, type: int) -> GpuMat: ...
232
+
233
+ def getAllocator(self) -> GpuMat.Allocator: ...
234
+
235
+
236
+ class HostMem:
237
+ @property
238
+ def step(self) -> int: ...
239
+
240
+ # Functions
241
+ @_typing.overload
242
+ def __init__(self, alloc_type: HostMem_AllocType = ...) -> None: ...
243
+ @_typing.overload
244
+ def __init__(self, rows: int, cols: int, type: int, alloc_type: HostMem_AllocType = ...) -> None: ...
245
+ @_typing.overload
246
+ def __init__(self, size: cv2.typing.Size, type: int, alloc_type: HostMem_AllocType = ...) -> None: ...
247
+ @_typing.overload
248
+ def __init__(self, arr: cv2.typing.MatLike, alloc_type: HostMem_AllocType = ...) -> None: ...
249
+ @_typing.overload
250
+ def __init__(self, arr: GpuMat, alloc_type: HostMem_AllocType = ...) -> None: ...
251
+ @_typing.overload
252
+ def __init__(self, arr: cv2.UMat, alloc_type: HostMem_AllocType = ...) -> None: ...
253
+
254
+ def swap(self, b: HostMem) -> None: ...
255
+
256
+ def clone(self) -> HostMem: ...
257
+
258
+ def create(self, rows: int, cols: int, type: int) -> None: ...
259
+
260
+ def reshape(self, cn: int, rows: int = ...) -> HostMem: ...
261
+
262
+ def createMatHeader(self) -> cv2.typing.MatLike: ...
263
+
264
+ def isContinuous(self) -> bool: ...
265
+
266
+ def elemSize(self) -> int: ...
267
+
268
+ def elemSize1(self) -> int: ...
269
+
270
+ def type(self) -> int: ...
271
+
272
+ def depth(self) -> int: ...
273
+
274
+ def channels(self) -> int: ...
275
+
276
+ def step1(self) -> int: ...
277
+
278
+ def size(self) -> cv2.typing.Size: ...
279
+
280
+ def empty(self) -> bool: ...
281
+
282
+
283
+ class Stream:
284
+ # Functions
285
+ @_typing.overload
286
+ def __init__(self) -> None: ...
287
+ @_typing.overload
288
+ def __init__(self, allocator: GpuMat.Allocator) -> None: ...
289
+ @_typing.overload
290
+ def __init__(self, cudaFlags: int) -> None: ...
291
+
292
+ def queryIfComplete(self) -> bool: ...
293
+
294
+ def waitForCompletion(self) -> None: ...
295
+
296
+ def waitEvent(self, event: Event) -> None: ...
297
+
298
+ @classmethod
299
+ def Null(cls) -> Stream: ...
300
+
301
+ def cudaPtr(self) -> cv2.typing.IntPointer: ...
302
+
303
+
304
+ class Event:
305
+ # Functions
306
+ def __init__(self, flags: Event_CreateFlags = ...) -> None: ...
307
+
308
+ def record(self, stream: Stream = ...) -> None: ...
309
+
310
+ def queryIfComplete(self) -> bool: ...
311
+
312
+ def waitForCompletion(self) -> None: ...
313
+
314
+ @staticmethod
315
+ def elapsedTime(start: Event, end: Event) -> float: ...
316
+
317
+
318
+ class TargetArchs:
319
+ # Functions
320
+ @staticmethod
321
+ def has(major: int, minor: int) -> bool: ...
322
+
323
+ @staticmethod
324
+ def hasPtx(major: int, minor: int) -> bool: ...
325
+
326
+ @staticmethod
327
+ def hasBin(major: int, minor: int) -> bool: ...
328
+
329
+ @staticmethod
330
+ def hasEqualOrLessPtx(major: int, minor: int) -> bool: ...
331
+
332
+ @staticmethod
333
+ def hasEqualOrGreater(major: int, minor: int) -> bool: ...
334
+
335
+ @staticmethod
336
+ def hasEqualOrGreaterPtx(major: int, minor: int) -> bool: ...
337
+
338
+ @staticmethod
339
+ def hasEqualOrGreaterBin(major: int, minor: int) -> bool: ...
340
+
341
+
342
+ class DeviceInfo:
343
+ # Functions
344
+ @_typing.overload
345
+ def __init__(self) -> None: ...
346
+ @_typing.overload
347
+ def __init__(self, device_id: int) -> None: ...
348
+
349
+ def deviceID(self) -> int: ...
350
+
351
+ def totalGlobalMem(self) -> int: ...
352
+
353
+ def sharedMemPerBlock(self) -> int: ...
354
+
355
+ def regsPerBlock(self) -> int: ...
356
+
357
+ def warpSize(self) -> int: ...
358
+
359
+ def memPitch(self) -> int: ...
360
+
361
+ def maxThreadsPerBlock(self) -> int: ...
362
+
363
+ def maxThreadsDim(self) -> cv2.typing.Vec3i: ...
364
+
365
+ def maxGridSize(self) -> cv2.typing.Vec3i: ...
366
+
367
+ def clockRate(self) -> int: ...
368
+
369
+ def totalConstMem(self) -> int: ...
370
+
371
+ def majorVersion(self) -> int: ...
372
+
373
+ def minorVersion(self) -> int: ...
374
+
375
+ def textureAlignment(self) -> int: ...
376
+
377
+ def texturePitchAlignment(self) -> int: ...
378
+
379
+ def multiProcessorCount(self) -> int: ...
380
+
381
+ def kernelExecTimeoutEnabled(self) -> bool: ...
382
+
383
+ def integrated(self) -> bool: ...
384
+
385
+ def canMapHostMemory(self) -> bool: ...
386
+
387
+ def computeMode(self) -> DeviceInfo_ComputeMode: ...
388
+
389
+ def maxTexture1D(self) -> int: ...
390
+
391
+ def maxTexture1DMipmap(self) -> int: ...
392
+
393
+ def maxTexture1DLinear(self) -> int: ...
394
+
395
+ def maxTexture2D(self) -> cv2.typing.Vec2i: ...
396
+
397
+ def maxTexture2DMipmap(self) -> cv2.typing.Vec2i: ...
398
+
399
+ def maxTexture2DLinear(self) -> cv2.typing.Vec3i: ...
400
+
401
+ def maxTexture2DGather(self) -> cv2.typing.Vec2i: ...
402
+
403
+ def maxTexture3D(self) -> cv2.typing.Vec3i: ...
404
+
405
+ def maxTextureCubemap(self) -> int: ...
406
+
407
+ def maxTexture1DLayered(self) -> cv2.typing.Vec2i: ...
408
+
409
+ def maxTexture2DLayered(self) -> cv2.typing.Vec3i: ...
410
+
411
+ def maxTextureCubemapLayered(self) -> cv2.typing.Vec2i: ...
412
+
413
+ def maxSurface1D(self) -> int: ...
414
+
415
+ def maxSurface2D(self) -> cv2.typing.Vec2i: ...
416
+
417
+ def maxSurface3D(self) -> cv2.typing.Vec3i: ...
418
+
419
+ def maxSurface1DLayered(self) -> cv2.typing.Vec2i: ...
420
+
421
+ def maxSurface2DLayered(self) -> cv2.typing.Vec3i: ...
422
+
423
+ def maxSurfaceCubemap(self) -> int: ...
424
+
425
+ def maxSurfaceCubemapLayered(self) -> cv2.typing.Vec2i: ...
426
+
427
+ def surfaceAlignment(self) -> int: ...
428
+
429
+ def concurrentKernels(self) -> bool: ...
430
+
431
+ def ECCEnabled(self) -> bool: ...
432
+
433
+ def pciBusID(self) -> int: ...
434
+
435
+ def pciDeviceID(self) -> int: ...
436
+
437
+ def pciDomainID(self) -> int: ...
438
+
439
+ def tccDriver(self) -> bool: ...
440
+
441
+ def asyncEngineCount(self) -> int: ...
442
+
443
+ def unifiedAddressing(self) -> bool: ...
444
+
445
+ def memoryClockRate(self) -> int: ...
446
+
447
+ def memoryBusWidth(self) -> int: ...
448
+
449
+ def l2CacheSize(self) -> int: ...
450
+
451
+ def maxThreadsPerMultiProcessor(self) -> int: ...
452
+
453
+ def queryMemory(self, totalMemory: int, freeMemory: int) -> None: ...
454
+
455
+ def freeMemory(self) -> int: ...
456
+
457
+ def totalMemory(self) -> int: ...
458
+
459
+ def isCompatible(self) -> bool: ...
460
+
461
+
462
+
463
+ # Functions
464
+ @_typing.overload
465
+ def createContinuous(rows: int, cols: int, type: int, arr: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
466
+ @_typing.overload
467
+ def createContinuous(rows: int, cols: int, type: int, arr: GpuMat | None = ...) -> GpuMat: ...
468
+ @_typing.overload
469
+ def createContinuous(rows: int, cols: int, type: int, arr: cv2.UMat | None = ...) -> cv2.UMat: ...
470
+
471
+ @_typing.overload
472
+ def createGpuMatFromCudaMemory(rows: int, cols: int, type: int, cudaMemoryAddress: int, step: int = ...) -> GpuMat: ...
473
+ @_typing.overload
474
+ def createGpuMatFromCudaMemory(size: cv2.typing.Size, type: int, cudaMemoryAddress: int, step: int = ...) -> GpuMat: ...
475
+
476
+ @_typing.overload
477
+ def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
478
+ @_typing.overload
479
+ def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: GpuMat | None = ...) -> GpuMat: ...
480
+ @_typing.overload
481
+ def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: cv2.UMat | None = ...) -> cv2.UMat: ...
482
+
483
+ def fastNlMeansDenoising(src: GpuMat, h: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., stream: Stream = ...) -> GpuMat: ...
484
+
485
+ def fastNlMeansDenoisingColored(src: GpuMat, h_luminance: float, photo_render: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., stream: Stream = ...) -> GpuMat: ...
486
+
487
+ def getCudaEnabledDeviceCount() -> int: ...
488
+
489
+ def getDevice() -> int: ...
490
+
491
+ def nonLocalMeans(src: GpuMat, h: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., borderMode: int = ..., stream: Stream = ...) -> GpuMat: ...
492
+
493
+ def printCudaDeviceInfo(device: int) -> None: ...
494
+
495
+ def printShortCudaDeviceInfo(device: int) -> None: ...
496
+
497
+ def registerPageLocked(m: cv2.typing.MatLike) -> None: ...
498
+
499
+ def resetDevice() -> None: ...
500
+
501
+ def setBufferPoolConfig(deviceId: int, stackSize: int, stackCount: int) -> None: ...
502
+
503
+ def setBufferPoolUsage(on: bool) -> None: ...
504
+
505
+ def setDevice(device: int) -> None: ...
506
+
507
+ def unregisterPageLocked(m: cv2.typing.MatLike) -> None: ...
508
+
509
+ def wrapStream(cudaStreamMemoryAddress: int) -> Stream: ...
510
+
511
+
.venv/lib/python3.11/site-packages/cv2/data/__init__.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ import os
2
+
3
+ haarcascades = os.path.join(os.path.dirname(__file__), "")
.venv/lib/python3.11/site-packages/cv2/data/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (382 Bytes). View file
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_eye.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_eye_tree_eyeglasses.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalcatface_extended.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt2.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_alt_tree.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_frontalface_default.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_lefteye_2splits.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_license_plate_rus_16stages.xml ADDED
@@ -0,0 +1,1404 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <opencv_storage>
3
+ <!-- Automatically converted from haarcascade2, window size = 64x16 -->
4
+ <haarcascade_pltzzz64x16_16STG type_id="opencv-haar-classifier">
5
+ <size>
6
+ 64 16</size>
7
+ <stages>
8
+ <_>
9
+ <!-- stage 0 -->
10
+ <trees>
11
+ <_>
12
+ <!-- tree 0 -->
13
+ <_>
14
+ <!-- root node -->
15
+ <feature>
16
+ <rects>
17
+ <_>
18
+ 32 2 8 6 -1.</_>
19
+ <_>
20
+ 32 4 8 2 3.</_></rects>
21
+ <tilted>0</tilted></feature>
22
+ <threshold>1.6915600746870041e-002</threshold>
23
+ <left_val>-9.5547717809677124e-001</left_val>
24
+ <right_val>8.9129137992858887e-001</right_val></_></_>
25
+ <_>
26
+ <!-- tree 1 -->
27
+ <_>
28
+ <!-- root node -->
29
+ <feature>
30
+ <rects>
31
+ <_>
32
+ 0 4 6 10 -1.</_>
33
+ <_>
34
+ 3 4 3 10 2.</_></rects>
35
+ <tilted>0</tilted></feature>
36
+ <threshold>2.4228349328041077e-002</threshold>
37
+ <left_val>-9.2089319229125977e-001</left_val>
38
+ <right_val>8.8723921775817871e-001</right_val></_></_>
39
+ <_>
40
+ <!-- tree 2 -->
41
+ <_>
42
+ <!-- root node -->
43
+ <feature>
44
+ <rects>
45
+ <_>
46
+ 55 0 8 6 -1.</_>
47
+ <_>
48
+ 55 0 4 3 2.</_>
49
+ <_>
50
+ 59 3 4 3 2.</_></rects>
51
+ <tilted>0</tilted></feature>
52
+ <threshold>-1.0168660432100296e-002</threshold>
53
+ <left_val>8.8940089941024780e-001</left_val>
54
+ <right_val>-7.7847331762313843e-001</right_val></_></_>
55
+ <_>
56
+ <!-- tree 3 -->
57
+ <_>
58
+ <!-- root node -->
59
+ <feature>
60
+ <rects>
61
+ <_>
62
+ 44 7 4 9 -1.</_>
63
+ <_>
64
+ 44 10 4 3 3.</_></rects>
65
+ <tilted>0</tilted></feature>
66
+ <threshold>2.0863260142505169e-003</threshold>
67
+ <left_val>-8.7998157739639282e-001</left_val>
68
+ <right_val>5.8651781082153320e-001</right_val></_></_></trees>
69
+ <stage_threshold>-2.0683259963989258e+000</stage_threshold>
70
+ <parent>-1</parent>
71
+ <next>-1</next></_>
72
+ <_>
73
+ <!-- stage 1 -->
74
+ <trees>
75
+ <_>
76
+ <!-- tree 0 -->
77
+ <_>
78
+ <!-- root node -->
79
+ <feature>
80
+ <rects>
81
+ <_>
82
+ 29 1 16 4 -1.</_>
83
+ <_>
84
+ 29 3 16 2 2.</_></rects>
85
+ <tilted>0</tilted></feature>
86
+ <threshold>2.9062159359455109e-002</threshold>
87
+ <left_val>-8.7765061855316162e-001</left_val>
88
+ <right_val>8.5373121500015259e-001</right_val></_></_>
89
+ <_>
90
+ <!-- tree 1 -->
91
+ <_>
92
+ <!-- root node -->
93
+ <feature>
94
+ <rects>
95
+ <_>
96
+ 0 5 9 8 -1.</_>
97
+ <_>
98
+ 3 5 3 8 3.</_></rects>
99
+ <tilted>0</tilted></feature>
100
+ <threshold>2.3903399705886841e-002</threshold>
101
+ <left_val>-9.2079448699951172e-001</left_val>
102
+ <right_val>7.5155001878738403e-001</right_val></_></_>
103
+ <_>
104
+ <!-- tree 2 -->
105
+ <_>
106
+ <!-- root node -->
107
+ <feature>
108
+ <rects>
109
+ <_>
110
+ 44 0 20 14 -1.</_>
111
+ <_>
112
+ 44 0 10 7 2.</_>
113
+ <_>
114
+ 54 7 10 7 2.</_></rects>
115
+ <tilted>0</tilted></feature>
116
+ <threshold>-3.5404648631811142e-002</threshold>
117
+ <left_val>6.7834627628326416e-001</left_val>
118
+ <right_val>-9.0937072038650513e-001</right_val></_></_>
119
+ <_>
120
+ <!-- tree 3 -->
121
+ <_>
122
+ <!-- root node -->
123
+ <feature>
124
+ <rects>
125
+ <_>
126
+ 41 7 6 9 -1.</_>
127
+ <_>
128
+ 43 7 2 9 3.</_></rects>
129
+ <tilted>0</tilted></feature>
130
+ <threshold>6.2988721765577793e-003</threshold>
131
+ <left_val>-8.1054258346557617e-001</left_val>
132
+ <right_val>5.8985030651092529e-001</right_val></_></_>
133
+ <_>
134
+ <!-- tree 4 -->
135
+ <_>
136
+ <!-- root node -->
137
+ <feature>
138
+ <rects>
139
+ <_>
140
+ 0 4 21 4 -1.</_>
141
+ <_>
142
+ 7 4 7 4 3.</_></rects>
143
+ <tilted>0</tilted></feature>
144
+ <threshold>3.4959490876644850e-003</threshold>
145
+ <left_val>-9.7632282972335815e-001</left_val>
146
+ <right_val>4.5473039150238037e-001</right_val></_></_></trees>
147
+ <stage_threshold>-1.6632349491119385e+000</stage_threshold>
148
+ <parent>0</parent>
149
+ <next>-1</next></_>
150
+ <_>
151
+ <!-- stage 2 -->
152
+ <trees>
153
+ <_>
154
+ <!-- tree 0 -->
155
+ <_>
156
+ <!-- root node -->
157
+ <feature>
158
+ <rects>
159
+ <_>
160
+ 31 2 11 6 -1.</_>
161
+ <_>
162
+ 31 4 11 2 3.</_></rects>
163
+ <tilted>0</tilted></feature>
164
+ <threshold>2.3864099755883217e-002</threshold>
165
+ <left_val>-9.3137168884277344e-001</left_val>
166
+ <right_val>8.2478952407836914e-001</right_val></_></_>
167
+ <_>
168
+ <!-- tree 1 -->
169
+ <_>
170
+ <!-- root node -->
171
+ <feature>
172
+ <rects>
173
+ <_>
174
+ 56 3 6 11 -1.</_>
175
+ <_>
176
+ 59 3 3 11 2.</_></rects>
177
+ <tilted>0</tilted></feature>
178
+ <threshold>-2.5775209069252014e-002</threshold>
179
+ <left_val>8.5526448488235474e-001</left_val>
180
+ <right_val>-8.7574672698974609e-001</right_val></_></_>
181
+ <_>
182
+ <!-- tree 2 -->
183
+ <_>
184
+ <!-- root node -->
185
+ <feature>
186
+ <rects>
187
+ <_>
188
+ 32 14 32 2 -1.</_>
189
+ <_>
190
+ 32 15 32 1 2.</_></rects>
191
+ <tilted>0</tilted></feature>
192
+ <threshold>-1.0646049864590168e-002</threshold>
193
+ <left_val>8.5167151689529419e-001</left_val>
194
+ <right_val>-6.7789041996002197e-001</right_val></_></_>
195
+ <_>
196
+ <!-- tree 3 -->
197
+ <_>
198
+ <!-- root node -->
199
+ <feature>
200
+ <rects>
201
+ <_>
202
+ 0 2 8 14 -1.</_>
203
+ <_>
204
+ 4 2 4 14 2.</_></rects>
205
+ <tilted>0</tilted></feature>
206
+ <threshold>2.7000989764928818e-002</threshold>
207
+ <left_val>-8.0041092634201050e-001</left_val>
208
+ <right_val>6.4893317222595215e-001</right_val></_></_>
209
+ <_>
210
+ <!-- tree 4 -->
211
+ <_>
212
+ <!-- root node -->
213
+ <feature>
214
+ <rects>
215
+ <_>
216
+ 19 0 22 6 -1.</_>
217
+ <_>
218
+ 19 0 11 3 2.</_>
219
+ <_>
220
+ 30 3 11 3 2.</_></rects>
221
+ <tilted>0</tilted></feature>
222
+ <threshold>5.2989721298217773e-003</threshold>
223
+ <left_val>-9.5342522859573364e-001</left_val>
224
+ <right_val>5.0140267610549927e-001</right_val></_></_></trees>
225
+ <stage_threshold>-1.3346730470657349e+000</stage_threshold>
226
+ <parent>1</parent>
227
+ <next>-1</next></_>
228
+ <_>
229
+ <!-- stage 3 -->
230
+ <trees>
231
+ <_>
232
+ <!-- tree 0 -->
233
+ <_>
234
+ <!-- root node -->
235
+ <feature>
236
+ <rects>
237
+ <_>
238
+ 56 0 6 6 -1.</_>
239
+ <_>
240
+ 56 0 3 3 2.</_>
241
+ <_>
242
+ 59 3 3 3 2.</_></rects>
243
+ <tilted>0</tilted></feature>
244
+ <threshold>-6.9233630783855915e-003</threshold>
245
+ <left_val>8.2654470205307007e-001</left_val>
246
+ <right_val>-8.5396027565002441e-001</right_val></_></_>
247
+ <_>
248
+ <!-- tree 1 -->
249
+ <_>
250
+ <!-- root node -->
251
+ <feature>
252
+ <rects>
253
+ <_>
254
+ 32 0 14 12 -1.</_>
255
+ <_>
256
+ 32 0 7 6 2.</_>
257
+ <_>
258
+ 39 6 7 6 2.</_></rects>
259
+ <tilted>0</tilted></feature>
260
+ <threshold>1.2539249658584595e-001</threshold>
261
+ <left_val>-1.2996139936149120e-002</left_val>
262
+ <right_val>-3.2377028808593750e+003</right_val></_></_>
263
+ <_>
264
+ <!-- tree 2 -->
265
+ <_>
266
+ <!-- root node -->
267
+ <feature>
268
+ <rects>
269
+ <_>
270
+ 2 1 43 4 -1.</_>
271
+ <_>
272
+ 2 3 43 2 2.</_></rects>
273
+ <tilted>0</tilted></feature>
274
+ <threshold>6.3474893569946289e-002</threshold>
275
+ <left_val>-6.4648061990737915e-001</left_val>
276
+ <right_val>8.2302427291870117e-001</right_val></_></_>
277
+ <_>
278
+ <!-- tree 3 -->
279
+ <_>
280
+ <!-- root node -->
281
+ <feature>
282
+ <rects>
283
+ <_>
284
+ 34 10 30 5 -1.</_>
285
+ <_>
286
+ 44 10 10 5 3.</_></rects>
287
+ <tilted>0</tilted></feature>
288
+ <threshold>4.2217150330543518e-002</threshold>
289
+ <left_val>-7.5190877914428711e-001</left_val>
290
+ <right_val>6.3705182075500488e-001</right_val></_></_>
291
+ <_>
292
+ <!-- tree 4 -->
293
+ <_>
294
+ <!-- root node -->
295
+ <feature>
296
+ <rects>
297
+ <_>
298
+ 0 9 9 5 -1.</_>
299
+ <_>
300
+ 3 9 3 5 3.</_></rects>
301
+ <tilted>0</tilted></feature>
302
+ <threshold>2.0000640302896500e-002</threshold>
303
+ <left_val>-6.2077498435974121e-001</left_val>
304
+ <right_val>6.1317932605743408e-001</right_val></_></_></trees>
305
+ <stage_threshold>-1.6521669626235962e+000</stage_threshold>
306
+ <parent>2</parent>
307
+ <next>-1</next></_>
308
+ <_>
309
+ <!-- stage 4 -->
310
+ <trees>
311
+ <_>
312
+ <!-- tree 0 -->
313
+ <_>
314
+ <!-- root node -->
315
+ <feature>
316
+ <rects>
317
+ <_>
318
+ 2 1 43 6 -1.</_>
319
+ <_>
320
+ 2 3 43 2 3.</_></rects>
321
+ <tilted>0</tilted></feature>
322
+ <threshold>9.2297486960887909e-002</threshold>
323
+ <left_val>-7.2764229774475098e-001</left_val>
324
+ <right_val>8.0554759502410889e-001</right_val></_></_>
325
+ <_>
326
+ <!-- tree 1 -->
327
+ <_>
328
+ <!-- root node -->
329
+ <feature>
330
+ <rects>
331
+ <_>
332
+ 53 4 9 8 -1.</_>
333
+ <_>
334
+ 56 4 3 8 3.</_></rects>
335
+ <tilted>0</tilted></feature>
336
+ <threshold>2.7613969519734383e-002</threshold>
337
+ <left_val>-7.0769268274307251e-001</left_val>
338
+ <right_val>7.3315787315368652e-001</right_val></_></_>
339
+ <_>
340
+ <!-- tree 2 -->
341
+ <_>
342
+ <!-- root node -->
343
+ <feature>
344
+ <rects>
345
+ <_>
346
+ 36 4 14 8 -1.</_>
347
+ <_>
348
+ 36 4 7 4 2.</_>
349
+ <_>
350
+ 43 8 7 4 2.</_></rects>
351
+ <tilted>0</tilted></feature>
352
+ <threshold>1.2465449981391430e-002</threshold>
353
+ <left_val>-8.4359270334243774e-001</left_val>
354
+ <right_val>5.7046437263488770e-001</right_val></_></_>
355
+ <_>
356
+ <!-- tree 3 -->
357
+ <_>
358
+ <!-- root node -->
359
+ <feature>
360
+ <rects>
361
+ <_>
362
+ 14 14 49 2 -1.</_>
363
+ <_>
364
+ 14 15 49 1 2.</_></rects>
365
+ <tilted>0</tilted></feature>
366
+ <threshold>-2.3886829614639282e-002</threshold>
367
+ <left_val>8.2656508684158325e-001</left_val>
368
+ <right_val>-5.2783298492431641e-001</right_val></_></_></trees>
369
+ <stage_threshold>-1.4523630142211914e+000</stage_threshold>
370
+ <parent>3</parent>
371
+ <next>-1</next></_>
372
+ <_>
373
+ <!-- stage 5 -->
374
+ <trees>
375
+ <_>
376
+ <!-- tree 0 -->
377
+ <_>
378
+ <!-- root node -->
379
+ <feature>
380
+ <rects>
381
+ <_>
382
+ 0 5 4 9 -1.</_>
383
+ <_>
384
+ 2 5 2 9 2.</_></rects>
385
+ <tilted>0</tilted></feature>
386
+ <threshold>1.8821349367499352e-002</threshold>
387
+ <left_val>-8.1122857332229614e-001</left_val>
388
+ <right_val>6.9127470254898071e-001</right_val></_></_>
389
+ <_>
390
+ <!-- tree 1 -->
391
+ <_>
392
+ <!-- root node -->
393
+ <feature>
394
+ <rects>
395
+ <_>
396
+ 21 1 38 4 -1.</_>
397
+ <_>
398
+ 21 3 38 2 2.</_></rects>
399
+ <tilted>0</tilted></feature>
400
+ <threshold>6.1703320592641830e-002</threshold>
401
+ <left_val>-7.6482647657394409e-001</left_val>
402
+ <right_val>6.4212161302566528e-001</right_val></_></_>
403
+ <_>
404
+ <!-- tree 2 -->
405
+ <_>
406
+ <!-- root node -->
407
+ <feature>
408
+ <rects>
409
+ <_>
410
+ 44 12 18 3 -1.</_>
411
+ <_>
412
+ 53 12 9 3 2.</_></rects>
413
+ <tilted>0</tilted></feature>
414
+ <threshold>-1.6298670321702957e-002</threshold>
415
+ <left_val>5.0207728147506714e-001</left_val>
416
+ <right_val>-8.4020161628723145e-001</right_val></_></_>
417
+ <_>
418
+ <!-- tree 3 -->
419
+ <_>
420
+ <!-- root node -->
421
+ <feature>
422
+ <rects>
423
+ <_>
424
+ 10 4 9 3 -1.</_>
425
+ <_>
426
+ 13 4 3 3 3.</_></rects>
427
+ <tilted>0</tilted></feature>
428
+ <threshold>-4.9458951689302921e-003</threshold>
429
+ <left_val>6.1991941928863525e-001</left_val>
430
+ <right_val>-6.1633539199829102e-001</right_val></_></_>
431
+ <_>
432
+ <!-- tree 4 -->
433
+ <_>
434
+ <!-- root node -->
435
+ <feature>
436
+ <rects>
437
+ <_>
438
+ 40 4 10 4 -1.</_>
439
+ <_>
440
+ 45 4 5 4 2.</_></rects>
441
+ <tilted>0</tilted></feature>
442
+ <threshold>-5.1894597709178925e-003</threshold>
443
+ <left_val>4.4975179433822632e-001</left_val>
444
+ <right_val>-8.0651968717575073e-001</right_val></_></_>
445
+ <_>
446
+ <!-- tree 5 -->
447
+ <_>
448
+ <!-- root node -->
449
+ <feature>
450
+ <rects>
451
+ <_>
452
+ 17 14 47 2 -1.</_>
453
+ <_>
454
+ 17 15 47 1 2.</_></rects>
455
+ <tilted>0</tilted></feature>
456
+ <threshold>-1.8824130296707153e-002</threshold>
457
+ <left_val>6.1992841958999634e-001</left_val>
458
+ <right_val>-5.5643159151077271e-001</right_val></_></_>
459
+ <_>
460
+ <!-- tree 6 -->
461
+ <_>
462
+ <!-- root node -->
463
+ <feature>
464
+ <rects>
465
+ <_>
466
+ 8 5 4 7 -1.</_>
467
+ <_>
468
+ 10 5 2 7 2.</_></rects>
469
+ <tilted>0</tilted></feature>
470
+ <threshold>5.6571601890027523e-003</threshold>
471
+ <left_val>-4.8346561193466187e-001</left_val>
472
+ <right_val>6.8647360801696777e-001</right_val></_></_></trees>
473
+ <stage_threshold>-2.2358059883117676e+000</stage_threshold>
474
+ <parent>4</parent>
475
+ <next>-1</next></_>
476
+ <_>
477
+ <!-- stage 6 -->
478
+ <trees>
479
+ <_>
480
+ <!-- tree 0 -->
481
+ <_>
482
+ <!-- root node -->
483
+ <feature>
484
+ <rects>
485
+ <_>
486
+ 56 0 6 6 -1.</_>
487
+ <_>
488
+ 56 0 3 3 2.</_>
489
+ <_>
490
+ 59 3 3 3 2.</_></rects>
491
+ <tilted>0</tilted></feature>
492
+ <threshold>-9.1503243893384933e-003</threshold>
493
+ <left_val>6.8174481391906738e-001</left_val>
494
+ <right_val>-7.7866071462631226e-001</right_val></_></_>
495
+ <_>
496
+ <!-- tree 1 -->
497
+ <_>
498
+ <!-- root node -->
499
+ <feature>
500
+ <rects>
501
+ <_>
502
+ 0 0 6 6 -1.</_>
503
+ <_>
504
+ 0 0 3 3 2.</_>
505
+ <_>
506
+ 3 3 3 3 2.</_></rects>
507
+ <tilted>0</tilted></feature>
508
+ <threshold>7.4933180585503578e-003</threshold>
509
+ <left_val>-6.8696027994155884e-001</left_val>
510
+ <right_val>6.6913938522338867e-001</right_val></_></_>
511
+ <_>
512
+ <!-- tree 2 -->
513
+ <_>
514
+ <!-- root node -->
515
+ <feature>
516
+ <rects>
517
+ <_>
518
+ 13 4 48 2 -1.</_>
519
+ <_>
520
+ 29 4 16 2 3.</_></rects>
521
+ <tilted>0</tilted></feature>
522
+ <threshold>4.5296419411897659e-002</threshold>
523
+ <left_val>-7.3576509952545166e-001</left_val>
524
+ <right_val>5.9453499317169189e-001</right_val></_></_>
525
+ <_>
526
+ <!-- tree 3 -->
527
+ <_>
528
+ <!-- root node -->
529
+ <feature>
530
+ <rects>
531
+ <_>
532
+ 42 1 6 15 -1.</_>
533
+ <_>
534
+ 42 6 6 5 3.</_></rects>
535
+ <tilted>0</tilted></feature>
536
+ <threshold>1.1669679544866085e-002</threshold>
537
+ <left_val>-8.4733831882476807e-001</left_val>
538
+ <right_val>4.5461329817771912e-001</right_val></_></_>
539
+ <_>
540
+ <!-- tree 4 -->
541
+ <_>
542
+ <!-- root node -->
543
+ <feature>
544
+ <rects>
545
+ <_>
546
+ 30 8 3 5 -1.</_>
547
+ <_>
548
+ 31 8 1 5 3.</_></rects>
549
+ <tilted>0</tilted></feature>
550
+ <threshold>2.5769430212676525e-003</threshold>
551
+ <left_val>-5.8270388841629028e-001</left_val>
552
+ <right_val>7.7900522947311401e-001</right_val></_></_>
553
+ <_>
554
+ <!-- tree 5 -->
555
+ <_>
556
+ <!-- root node -->
557
+ <feature>
558
+ <rects>
559
+ <_>
560
+ 55 10 8 6 -1.</_>
561
+ <_>
562
+ 55 13 8 3 2.</_></rects>
563
+ <tilted>0</tilted></feature>
564
+ <threshold>-1.4139170525595546e-003</threshold>
565
+ <left_val>4.5126929879188538e-001</left_val>
566
+ <right_val>-9.0696328878402710e-001</right_val></_></_></trees>
567
+ <stage_threshold>-1.8782069683074951e+000</stage_threshold>
568
+ <parent>5</parent>
569
+ <next>-1</next></_>
570
+ <_>
571
+ <!-- stage 7 -->
572
+ <trees>
573
+ <_>
574
+ <!-- tree 0 -->
575
+ <_>
576
+ <!-- root node -->
577
+ <feature>
578
+ <rects>
579
+ <_>
580
+ 4 6 4 7 -1.</_>
581
+ <_>
582
+ 6 6 2 7 2.</_></rects>
583
+ <tilted>0</tilted></feature>
584
+ <threshold>-5.3149578161537647e-003</threshold>
585
+ <left_val>6.5218788385391235e-001</left_val>
586
+ <right_val>-7.9464268684387207e-001</right_val></_></_>
587
+ <_>
588
+ <!-- tree 1 -->
589
+ <_>
590
+ <!-- root node -->
591
+ <feature>
592
+ <rects>
593
+ <_>
594
+ 56 3 6 8 -1.</_>
595
+ <_>
596
+ 59 3 3 8 2.</_></rects>
597
+ <tilted>0</tilted></feature>
598
+ <threshold>-2.2906960919499397e-002</threshold>
599
+ <left_val>6.6433382034301758e-001</left_val>
600
+ <right_val>-7.3633247613906860e-001</right_val></_></_>
601
+ <_>
602
+ <!-- tree 2 -->
603
+ <_>
604
+ <!-- root node -->
605
+ <feature>
606
+ <rects>
607
+ <_>
608
+ 37 2 4 6 -1.</_>
609
+ <_>
610
+ 37 4 4 2 3.</_></rects>
611
+ <tilted>0</tilted></feature>
612
+ <threshold>9.4887977465987206e-003</threshold>
613
+ <left_val>-8.2612031698226929e-001</left_val>
614
+ <right_val>4.9333500862121582e-001</right_val></_></_>
615
+ <_>
616
+ <!-- tree 3 -->
617
+ <_>
618
+ <!-- root node -->
619
+ <feature>
620
+ <rects>
621
+ <_>
622
+ 0 10 30 6 -1.</_>
623
+ <_>
624
+ 0 12 30 2 3.</_></rects>
625
+ <tilted>0</tilted></feature>
626
+ <threshold>4.5138411223888397e-002</threshold>
627
+ <left_val>-5.4704028367996216e-001</left_val>
628
+ <right_val>7.6927912235260010e-001</right_val></_></_>
629
+ <_>
630
+ <!-- tree 4 -->
631
+ <_>
632
+ <!-- root node -->
633
+ <feature>
634
+ <rects>
635
+ <_>
636
+ 0 4 21 12 -1.</_>
637
+ <_>
638
+ 7 4 7 12 3.</_></rects>
639
+ <tilted>0</tilted></feature>
640
+ <threshold>2.5049019604921341e-002</threshold>
641
+ <left_val>-8.6739641427993774e-001</left_val>
642
+ <right_val>5.2807968854904175e-001</right_val></_></_></trees>
643
+ <stage_threshold>-1.0597369670867920e+000</stage_threshold>
644
+ <parent>6</parent>
645
+ <next>-1</next></_>
646
+ <_>
647
+ <!-- stage 8 -->
648
+ <trees>
649
+ <_>
650
+ <!-- tree 0 -->
651
+ <_>
652
+ <!-- root node -->
653
+ <feature>
654
+ <rects>
655
+ <_>
656
+ 44 0 1 14 -1.</_>
657
+ <_>
658
+ 44 7 1 7 2.</_></rects>
659
+ <tilted>0</tilted></feature>
660
+ <threshold>6.6414438188076019e-003</threshold>
661
+ <left_val>-7.7290147542953491e-001</left_val>
662
+ <right_val>6.9723731279373169e-001</right_val></_></_>
663
+ <_>
664
+ <!-- tree 1 -->
665
+ <_>
666
+ <!-- root node -->
667
+ <feature>
668
+ <rects>
669
+ <_>
670
+ 54 3 4 3 -1.</_>
671
+ <_>
672
+ 56 3 2 3 2.</_></rects>
673
+ <tilted>0</tilted></feature>
674
+ <threshold>2.4703629314899445e-003</threshold>
675
+ <left_val>-7.4289917945861816e-001</left_val>
676
+ <right_val>6.6825848817825317e-001</right_val></_></_>
677
+ <_>
678
+ <!-- tree 2 -->
679
+ <_>
680
+ <!-- root node -->
681
+ <feature>
682
+ <rects>
683
+ <_>
684
+ 32 0 30 6 -1.</_>
685
+ <_>
686
+ 32 0 15 3 2.</_>
687
+ <_>
688
+ 47 3 15 3 2.</_></rects>
689
+ <tilted>0</tilted></feature>
690
+ <threshold>-2.2910499945282936e-002</threshold>
691
+ <left_val>4.3986389040946960e-001</left_val>
692
+ <right_val>-9.0588808059692383e-001</right_val></_></_>
693
+ <_>
694
+ <!-- tree 3 -->
695
+ <_>
696
+ <!-- root node -->
697
+ <feature>
698
+ <rects>
699
+ <_>
700
+ 0 8 9 7 -1.</_>
701
+ <_>
702
+ 3 8 3 7 3.</_></rects>
703
+ <tilted>0</tilted></feature>
704
+ <threshold>3.4193221479654312e-002</threshold>
705
+ <left_val>-6.9507479667663574e-001</left_val>
706
+ <right_val>6.2501090764999390e-001</right_val></_></_>
707
+ <_>
708
+ <!-- tree 4 -->
709
+ <_>
710
+ <!-- root node -->
711
+ <feature>
712
+ <rects>
713
+ <_>
714
+ 30 10 3 3 -1.</_>
715
+ <_>
716
+ 31 10 1 3 3.</_></rects>
717
+ <tilted>0</tilted></feature>
718
+ <threshold>1.5060020377859473e-003</threshold>
719
+ <left_val>-6.8670761585235596e-001</left_val>
720
+ <right_val>8.2241541147232056e-001</right_val></_></_>
721
+ <_>
722
+ <!-- tree 5 -->
723
+ <_>
724
+ <!-- root node -->
725
+ <feature>
726
+ <rects>
727
+ <_>
728
+ 21 3 24 4 -1.</_>
729
+ <_>
730
+ 29 3 8 4 3.</_></rects>
731
+ <tilted>0</tilted></feature>
732
+ <threshold>1.9838380467263050e-005</threshold>
733
+ <left_val>-9.2727631330490112e-001</left_val>
734
+ <right_val>6.4723730087280273e-001</right_val></_></_>
735
+ <_>
736
+ <!-- tree 6 -->
737
+ <_>
738
+ <!-- root node -->
739
+ <feature>
740
+ <rects>
741
+ <_>
742
+ 42 3 12 6 -1.</_>
743
+ <_>
744
+ 46 3 4 6 3.</_></rects>
745
+ <tilted>0</tilted></feature>
746
+ <threshold>-2.2170299416757189e-005</threshold>
747
+ <left_val>5.6555831432342529e-001</left_val>
748
+ <right_val>-9.6788132190704346e-001</right_val></_></_></trees>
749
+ <stage_threshold>-1.4993519783020020e+000</stage_threshold>
750
+ <parent>7</parent>
751
+ <next>-1</next></_>
752
+ <_>
753
+ <!-- stage 9 -->
754
+ <trees>
755
+ <_>
756
+ <!-- tree 0 -->
757
+ <_>
758
+ <!-- root node -->
759
+ <feature>
760
+ <rects>
761
+ <_>
762
+ 56 9 6 6 -1.</_>
763
+ <_>
764
+ 59 9 3 6 2.</_></rects>
765
+ <tilted>0</tilted></feature>
766
+ <threshold>-1.1395259760320187e-002</threshold>
767
+ <left_val>7.1383631229400635e-001</left_val>
768
+ <right_val>-8.7429678440093994e-001</right_val></_></_>
769
+ <_>
770
+ <!-- tree 1 -->
771
+ <_>
772
+ <!-- root node -->
773
+ <feature>
774
+ <rects>
775
+ <_>
776
+ 6 4 1 6 -1.</_>
777
+ <_>
778
+ 6 7 1 3 2.</_></rects>
779
+ <tilted>0</tilted></feature>
780
+ <threshold>-2.1864590235054493e-003</threshold>
781
+ <left_val>8.5311782360076904e-001</left_val>
782
+ <right_val>-6.4777731895446777e-001</right_val></_></_>
783
+ <_>
784
+ <!-- tree 2 -->
785
+ <_>
786
+ <!-- root node -->
787
+ <feature>
788
+ <rects>
789
+ <_>
790
+ 0 0 12 4 -1.</_>
791
+ <_>
792
+ 0 0 6 2 2.</_>
793
+ <_>
794
+ 6 2 6 2 2.</_></rects>
795
+ <tilted>0</tilted></feature>
796
+ <threshold>2.3193720262497663e-003</threshold>
797
+ <left_val>-7.6411879062652588e-001</left_val>
798
+ <right_val>7.1867972612380981e-001</right_val></_></_>
799
+ <_>
800
+ <!-- tree 3 -->
801
+ <_>
802
+ <!-- root node -->
803
+ <feature>
804
+ <rects>
805
+ <_>
806
+ 43 12 18 2 -1.</_>
807
+ <_>
808
+ 52 12 9 2 2.</_></rects>
809
+ <tilted>0</tilted></feature>
810
+ <threshold>-7.9916073009371758e-003</threshold>
811
+ <left_val>6.6442942619323730e-001</left_val>
812
+ <right_val>-7.9540950059890747e-001</right_val></_></_>
813
+ <_>
814
+ <!-- tree 4 -->
815
+ <_>
816
+ <!-- root node -->
817
+ <feature>
818
+ <rects>
819
+ <_>
820
+ 9 5 2 8 -1.</_>
821
+ <_>
822
+ 10 5 1 8 2.</_></rects>
823
+ <tilted>0</tilted></feature>
824
+ <threshold>1.4212740352377295e-003</threshold>
825
+ <left_val>-6.3904231786727905e-001</left_val>
826
+ <right_val>7.5050598382949829e-001</right_val></_></_></trees>
827
+ <stage_threshold>-8.4829801321029663e-001</stage_threshold>
828
+ <parent>8</parent>
829
+ <next>-1</next></_>
830
+ <_>
831
+ <!-- stage 10 -->
832
+ <trees>
833
+ <_>
834
+ <!-- tree 0 -->
835
+ <_>
836
+ <!-- root node -->
837
+ <feature>
838
+ <rects>
839
+ <_>
840
+ 1 9 6 3 -1.</_>
841
+ <_>
842
+ 3 9 2 3 3.</_></rects>
843
+ <tilted>0</tilted></feature>
844
+ <threshold>6.4091659151017666e-003</threshold>
845
+ <left_val>-8.8425230979919434e-001</left_val>
846
+ <right_val>9.9953681230545044e-001</right_val></_></_>
847
+ <_>
848
+ <!-- tree 1 -->
849
+ <_>
850
+ <!-- root node -->
851
+ <feature>
852
+ <rects>
853
+ <_>
854
+ 56 8 2 8 -1.</_>
855
+ <_>
856
+ 56 12 2 4 2.</_></rects>
857
+ <tilted>0</tilted></feature>
858
+ <threshold>-6.3316390151157975e-004</threshold>
859
+ <left_val>8.3822172880172729e-001</left_val>
860
+ <right_val>-9.8322170972824097e-001</right_val></_></_>
861
+ <_>
862
+ <!-- tree 2 -->
863
+ <_>
864
+ <!-- root node -->
865
+ <feature>
866
+ <rects>
867
+ <_>
868
+ 24 2 6 13 -1.</_>
869
+ <_>
870
+ 26 2 2 13 3.</_></rects>
871
+ <tilted>0</tilted></feature>
872
+ <threshold>-6.4947169448714703e-005</threshold>
873
+ <left_val>1.</left_val>
874
+ <right_val>-9.1822808980941772e-001</right_val></_></_>
875
+ <_>
876
+ <!-- tree 3 -->
877
+ <_>
878
+ <!-- root node -->
879
+ <feature>
880
+ <rects>
881
+ <_>
882
+ 33 7 24 4 -1.</_>
883
+ <_>
884
+ 41 7 8 4 3.</_></rects>
885
+ <tilted>0</tilted></feature>
886
+ <threshold>5.3404141217470169e-003</threshold>
887
+ <left_val>-9.4317251443862915e-001</left_val>
888
+ <right_val>9.0425151586532593e-001</right_val></_></_></trees>
889
+ <stage_threshold>-6.0007210820913315e-002</stage_threshold>
890
+ <parent>9</parent>
891
+ <next>-1</next></_>
892
+ <_>
893
+ <!-- stage 11 -->
894
+ <trees>
895
+ <_>
896
+ <!-- tree 0 -->
897
+ <_>
898
+ <!-- root node -->
899
+ <feature>
900
+ <rects>
901
+ <_>
902
+ 1 1 57 4 -1.</_>
903
+ <_>
904
+ 1 3 57 2 2.</_></rects>
905
+ <tilted>0</tilted></feature>
906
+ <threshold>1.0755469650030136e-001</threshold>
907
+ <left_val>-7.1647202968597412e-001</left_val>
908
+ <right_val>8.7827038764953613e-001</right_val></_></_>
909
+ <_>
910
+ <!-- tree 1 -->
911
+ <_>
912
+ <!-- root node -->
913
+ <feature>
914
+ <rects>
915
+ <_>
916
+ 0 2 6 14 -1.</_>
917
+ <_>
918
+ 3 2 3 14 2.</_></rects>
919
+ <tilted>0</tilted></feature>
920
+ <threshold>3.1668949872255325e-002</threshold>
921
+ <left_val>-8.7051069736480713e-001</left_val>
922
+ <right_val>5.8807212114334106e-001</right_val></_></_>
923
+ <_>
924
+ <!-- tree 2 -->
925
+ <_>
926
+ <!-- root node -->
927
+ <feature>
928
+ <rects>
929
+ <_>
930
+ 52 3 6 10 -1.</_>
931
+ <_>
932
+ 54 3 2 10 3.</_></rects>
933
+ <tilted>0</tilted></feature>
934
+ <threshold>-1.0572380386292934e-002</threshold>
935
+ <left_val>6.2438100576400757e-001</left_val>
936
+ <right_val>-7.4027371406555176e-001</right_val></_></_>
937
+ <_>
938
+ <!-- tree 3 -->
939
+ <_>
940
+ <!-- root node -->
941
+ <feature>
942
+ <rects>
943
+ <_>
944
+ 1 14 61 2 -1.</_>
945
+ <_>
946
+ 1 15 61 1 2.</_></rects>
947
+ <tilted>0</tilted></feature>
948
+ <threshold>-2.7396259829401970e-002</threshold>
949
+ <left_val>8.9776748418807983e-001</left_val>
950
+ <right_val>-5.2986758947372437e-001</right_val></_></_>
951
+ <_>
952
+ <!-- tree 4 -->
953
+ <_>
954
+ <!-- root node -->
955
+ <feature>
956
+ <rects>
957
+ <_>
958
+ 28 0 11 12 -1.</_>
959
+ <_>
960
+ 28 4 11 4 3.</_></rects>
961
+ <tilted>0</tilted></feature>
962
+ <threshold>2.5918649509549141e-002</threshold>
963
+ <left_val>-8.6482518911361694e-001</left_val>
964
+ <right_val>5.3121817111968994e-001</right_val></_></_></trees>
965
+ <stage_threshold>-9.6125108003616333e-001</stage_threshold>
966
+ <parent>10</parent>
967
+ <next>-1</next></_>
968
+ <_>
969
+ <!-- stage 12 -->
970
+ <trees>
971
+ <_>
972
+ <!-- tree 0 -->
973
+ <_>
974
+ <!-- root node -->
975
+ <feature>
976
+ <rects>
977
+ <_>
978
+ 22 1 41 4 -1.</_>
979
+ <_>
980
+ 22 3 41 2 2.</_></rects>
981
+ <tilted>0</tilted></feature>
982
+ <threshold>7.1039132773876190e-002</threshold>
983
+ <left_val>-7.5719678401947021e-001</left_val>
984
+ <right_val>7.5645631551742554e-001</right_val></_></_>
985
+ <_>
986
+ <!-- tree 1 -->
987
+ <_>
988
+ <!-- root node -->
989
+ <feature>
990
+ <rects>
991
+ <_>
992
+ 41 6 6 8 -1.</_>
993
+ <_>
994
+ 43 6 2 8 3.</_></rects>
995
+ <tilted>0</tilted></feature>
996
+ <threshold>7.6241148635745049e-003</threshold>
997
+ <left_val>-7.9783838987350464e-001</left_val>
998
+ <right_val>7.1733069419860840e-001</right_val></_></_>
999
+ <_>
1000
+ <!-- tree 2 -->
1001
+ <_>
1002
+ <!-- root node -->
1003
+ <feature>
1004
+ <rects>
1005
+ <_>
1006
+ 50 9 14 5 -1.</_>
1007
+ <_>
1008
+ 57 9 7 5 2.</_></rects>
1009
+ <tilted>0</tilted></feature>
1010
+ <threshold>-2.7092639356851578e-002</threshold>
1011
+ <left_val>6.0071170330047607e-001</left_val>
1012
+ <right_val>-8.4794402122497559e-001</right_val></_></_>
1013
+ <_>
1014
+ <!-- tree 3 -->
1015
+ <_>
1016
+ <!-- root node -->
1017
+ <feature>
1018
+ <rects>
1019
+ <_>
1020
+ 4 1 12 5 -1.</_>
1021
+ <_>
1022
+ 10 1 6 5 2.</_></rects>
1023
+ <tilted>0</tilted></feature>
1024
+ <threshold>-8.1267888890579343e-004</threshold>
1025
+ <left_val>5.9364068508148193e-001</left_val>
1026
+ <right_val>-8.9295238256454468e-001</right_val></_></_>
1027
+ <_>
1028
+ <!-- tree 4 -->
1029
+ <_>
1030
+ <!-- root node -->
1031
+ <feature>
1032
+ <rects>
1033
+ <_>
1034
+ 37 9 3 3 -1.</_>
1035
+ <_>
1036
+ 38 9 1 3 3.</_></rects>
1037
+ <tilted>0</tilted></feature>
1038
+ <threshold>8.3705072756856680e-004</threshold>
1039
+ <left_val>-6.4887362718582153e-001</left_val>
1040
+ <right_val>7.8537952899932861e-001</right_val></_></_></trees>
1041
+ <stage_threshold>-1.0618970394134521e+000</stage_threshold>
1042
+ <parent>11</parent>
1043
+ <next>-1</next></_>
1044
+ <_>
1045
+ <!-- stage 13 -->
1046
+ <trees>
1047
+ <_>
1048
+ <!-- tree 0 -->
1049
+ <_>
1050
+ <!-- root node -->
1051
+ <feature>
1052
+ <rects>
1053
+ <_>
1054
+ 54 0 10 6 -1.</_>
1055
+ <_>
1056
+ 54 0 5 3 2.</_>
1057
+ <_>
1058
+ 59 3 5 3 2.</_></rects>
1059
+ <tilted>0</tilted></feature>
1060
+ <threshold>-9.7556859254837036e-003</threshold>
1061
+ <left_val>7.6982218027114868e-001</left_val>
1062
+ <right_val>-8.5293501615524292e-001</right_val></_></_>
1063
+ <_>
1064
+ <!-- tree 1 -->
1065
+ <_>
1066
+ <!-- root node -->
1067
+ <feature>
1068
+ <rects>
1069
+ <_>
1070
+ 47 0 6 11 -1.</_>
1071
+ <_>
1072
+ 49 0 2 11 3.</_></rects>
1073
+ <tilted>0</tilted></feature>
1074
+ <threshold>-8.6617246270179749e-003</threshold>
1075
+ <left_val>8.4029090404510498e-001</left_val>
1076
+ <right_val>-7.1949690580368042e-001</right_val></_></_>
1077
+ <_>
1078
+ <!-- tree 2 -->
1079
+ <_>
1080
+ <!-- root node -->
1081
+ <feature>
1082
+ <rects>
1083
+ <_>
1084
+ 19 2 20 2 -1.</_>
1085
+ <_>
1086
+ 19 3 20 1 2.</_></rects>
1087
+ <tilted>0</tilted></feature>
1088
+ <threshold>1.6897840425372124e-002</threshold>
1089
+ <left_val>-5.3601992130279541e-001</left_val>
1090
+ <right_val>9.5484441518783569e-001</right_val></_></_>
1091
+ <_>
1092
+ <!-- tree 3 -->
1093
+ <_>
1094
+ <!-- root node -->
1095
+ <feature>
1096
+ <rects>
1097
+ <_>
1098
+ 14 4 6 11 -1.</_>
1099
+ <_>
1100
+ 17 4 3 11 2.</_></rects>
1101
+ <tilted>0</tilted></feature>
1102
+ <threshold>4.7526158596156165e-005</threshold>
1103
+ <left_val>-7.6412862539291382e-001</left_val>
1104
+ <right_val>7.5398761034011841e-001</right_val></_></_>
1105
+ <_>
1106
+ <!-- tree 4 -->
1107
+ <_>
1108
+ <!-- root node -->
1109
+ <feature>
1110
+ <rects>
1111
+ <_>
1112
+ 31 9 33 2 -1.</_>
1113
+ <_>
1114
+ 42 9 11 2 3.</_></rects>
1115
+ <tilted>0</tilted></feature>
1116
+ <threshold>6.5607670694589615e-003</threshold>
1117
+ <left_val>-9.9346441030502319e-001</left_val>
1118
+ <right_val>6.4864277839660645e-001</right_val></_></_></trees>
1119
+ <stage_threshold>-7.3307347297668457e-001</stage_threshold>
1120
+ <parent>12</parent>
1121
+ <next>-1</next></_>
1122
+ <_>
1123
+ <!-- stage 14 -->
1124
+ <trees>
1125
+ <_>
1126
+ <!-- tree 0 -->
1127
+ <_>
1128
+ <!-- root node -->
1129
+ <feature>
1130
+ <rects>
1131
+ <_>
1132
+ 6 1 53 6 -1.</_>
1133
+ <_>
1134
+ 6 3 53 2 3.</_></rects>
1135
+ <tilted>0</tilted></feature>
1136
+ <threshold>1.0103269666433334e-001</threshold>
1137
+ <left_val>-7.3275578022003174e-001</left_val>
1138
+ <right_val>8.4619927406311035e-001</right_val></_></_>
1139
+ <_>
1140
+ <!-- tree 1 -->
1141
+ <_>
1142
+ <!-- root node -->
1143
+ <feature>
1144
+ <rects>
1145
+ <_>
1146
+ 49 9 4 6 -1.</_>
1147
+ <_>
1148
+ 49 9 2 3 2.</_>
1149
+ <_>
1150
+ 51 12 2 3 2.</_></rects>
1151
+ <tilted>0</tilted></feature>
1152
+ <threshold>-2.8920811018906534e-004</threshold>
1153
+ <left_val>7.1564781665802002e-001</left_val>
1154
+ <right_val>-8.8221758604049683e-001</right_val></_></_>
1155
+ <_>
1156
+ <!-- tree 2 -->
1157
+ <_>
1158
+ <!-- root node -->
1159
+ <feature>
1160
+ <rects>
1161
+ <_>
1162
+ 0 9 30 7 -1.</_>
1163
+ <_>
1164
+ 10 9 10 7 3.</_></rects>
1165
+ <tilted>0</tilted></feature>
1166
+ <threshold>1.0838840156793594e-002</threshold>
1167
+ <left_val>-8.7420248985290527e-001</left_val>
1168
+ <right_val>6.0648679733276367e-001</right_val></_></_>
1169
+ <_>
1170
+ <!-- tree 3 -->
1171
+ <_>
1172
+ <!-- root node -->
1173
+ <feature>
1174
+ <rects>
1175
+ <_>
1176
+ 40 4 6 2 -1.</_>
1177
+ <_>
1178
+ 42 4 2 2 3.</_></rects>
1179
+ <tilted>0</tilted></feature>
1180
+ <threshold>5.0803890917450190e-004</threshold>
1181
+ <left_val>-9.0554022789001465e-001</left_val>
1182
+ <right_val>6.4213967323303223e-001</right_val></_></_>
1183
+ <_>
1184
+ <!-- tree 4 -->
1185
+ <_>
1186
+ <!-- root node -->
1187
+ <feature>
1188
+ <rects>
1189
+ <_>
1190
+ 1 9 6 1 -1.</_>
1191
+ <_>
1192
+ 3 9 2 1 3.</_></rects>
1193
+ <tilted>0</tilted></feature>
1194
+ <threshold>2.3357039317488670e-003</threshold>
1195
+ <left_val>-9.2574918270111084e-001</left_val>
1196
+ <right_val>8.6384928226470947e-001</right_val></_></_>
1197
+ <_>
1198
+ <!-- tree 5 -->
1199
+ <_>
1200
+ <!-- root node -->
1201
+ <feature>
1202
+ <rects>
1203
+ <_>
1204
+ 47 3 4 10 -1.</_>
1205
+ <_>
1206
+ 47 8 4 5 2.</_></rects>
1207
+ <tilted>0</tilted></feature>
1208
+ <threshold>8.0239427916239947e-005</threshold>
1209
+ <left_val>-9.9618428945541382e-001</left_val>
1210
+ <right_val>9.5355111360549927e-001</right_val></_></_>
1211
+ <_>
1212
+ <!-- tree 6 -->
1213
+ <_>
1214
+ <!-- root node -->
1215
+ <feature>
1216
+ <rects>
1217
+ <_>
1218
+ 31 5 30 11 -1.</_>
1219
+ <_>
1220
+ 41 5 10 11 3.</_></rects>
1221
+ <tilted>0</tilted></feature>
1222
+ <threshold>3.2030208967626095e-003</threshold>
1223
+ <left_val>-1.</left_val>
1224
+ <right_val>1.0001050233840942e+000</right_val></_></_>
1225
+ <_>
1226
+ <!-- tree 7 -->
1227
+ <_>
1228
+ <!-- root node -->
1229
+ <feature>
1230
+ <rects>
1231
+ <_>
1232
+ 0 0 2 1 -1.</_>
1233
+ <_>
1234
+ 1 0 1 1 2.</_></rects>
1235
+ <tilted>0</tilted></feature>
1236
+ <threshold>0.</threshold>
1237
+ <left_val>0.</left_val>
1238
+ <right_val>-1.</right_val></_></_>
1239
+ <_>
1240
+ <!-- tree 8 -->
1241
+ <_>
1242
+ <!-- root node -->
1243
+ <feature>
1244
+ <rects>
1245
+ <_>
1246
+ 21 3 42 5 -1.</_>
1247
+ <_>
1248
+ 35 3 14 5 3.</_></rects>
1249
+ <tilted>0</tilted></feature>
1250
+ <threshold>2.6143440045416355e-003</threshold>
1251
+ <left_val>-1.</left_val>
1252
+ <right_val>1.0002139806747437e+000</right_val></_></_>
1253
+ <_>
1254
+ <!-- tree 9 -->
1255
+ <_>
1256
+ <!-- root node -->
1257
+ <feature>
1258
+ <rects>
1259
+ <_>
1260
+ 0 0 2 1 -1.</_>
1261
+ <_>
1262
+ 1 0 1 1 2.</_></rects>
1263
+ <tilted>0</tilted></feature>
1264
+ <threshold>0.</threshold>
1265
+ <left_val>0.</left_val>
1266
+ <right_val>-1.</right_val></_></_>
1267
+ <_>
1268
+ <!-- tree 10 -->
1269
+ <_>
1270
+ <!-- root node -->
1271
+ <feature>
1272
+ <rects>
1273
+ <_>
1274
+ 8 5 30 9 -1.</_>
1275
+ <_>
1276
+ 8 8 30 3 3.</_></rects>
1277
+ <tilted>0</tilted></feature>
1278
+ <threshold>-7.0475979009643197e-004</threshold>
1279
+ <left_val>1.</left_val>
1280
+ <right_val>-9.9976968765258789e-001</right_val></_></_>
1281
+ <_>
1282
+ <!-- tree 11 -->
1283
+ <_>
1284
+ <!-- root node -->
1285
+ <feature>
1286
+ <rects>
1287
+ <_>
1288
+ 3 12 33 3 -1.</_>
1289
+ <_>
1290
+ 14 12 11 3 3.</_></rects>
1291
+ <tilted>0</tilted></feature>
1292
+ <threshold>2.1271279547363520e-003</threshold>
1293
+ <left_val>-9.9694627523422241e-001</left_val>
1294
+ <right_val>1.0002720355987549e+000</right_val></_></_>
1295
+ <_>
1296
+ <!-- tree 12 -->
1297
+ <_>
1298
+ <!-- root node -->
1299
+ <feature>
1300
+ <rects>
1301
+ <_>
1302
+ 0 0 3 2 -1.</_>
1303
+ <_>
1304
+ 1 0 1 2 3.</_></rects>
1305
+ <tilted>0</tilted></feature>
1306
+ <threshold>-2.4224430671893060e-004</threshold>
1307
+ <left_val>1.</left_val>
1308
+ <right_val>-1.</right_val></_></_>
1309
+ <_>
1310
+ <!-- tree 13 -->
1311
+ <_>
1312
+ <!-- root node -->
1313
+ <feature>
1314
+ <rects>
1315
+ <_>
1316
+ 46 4 3 8 -1.</_>
1317
+ <_>
1318
+ 47 4 1 8 3.</_></rects>
1319
+ <tilted>0</tilted></feature>
1320
+ <threshold>7.4700301047414541e-004</threshold>
1321
+ <left_val>-9.9108231067657471e-001</left_val>
1322
+ <right_val>9.9941182136535645e-001</right_val></_></_></trees>
1323
+ <stage_threshold>-1.0991690158843994e+000</stage_threshold>
1324
+ <parent>13</parent>
1325
+ <next>-1</next></_>
1326
+ <_>
1327
+ <!-- stage 15 -->
1328
+ <trees>
1329
+ <_>
1330
+ <!-- tree 0 -->
1331
+ <_>
1332
+ <!-- root node -->
1333
+ <feature>
1334
+ <rects>
1335
+ <_>
1336
+ 1 2 6 5 -1.</_>
1337
+ <_>
1338
+ 3 2 2 5 3.</_></rects>
1339
+ <tilted>0</tilted></feature>
1340
+ <threshold>1.7227890202775598e-003</threshold>
1341
+ <left_val>-9.3608891963958740e-001</left_val>
1342
+ <right_val>8.7251222133636475e-001</right_val></_></_>
1343
+ <_>
1344
+ <!-- tree 1 -->
1345
+ <_>
1346
+ <!-- root node -->
1347
+ <feature>
1348
+ <rects>
1349
+ <_>
1350
+ 0 3 18 5 -1.</_>
1351
+ <_>
1352
+ 6 3 6 5 3.</_></rects>
1353
+ <tilted>0</tilted></feature>
1354
+ <threshold>2.7599320746958256e-003</threshold>
1355
+ <left_val>-9.9757021665573120e-001</left_val>
1356
+ <right_val>1.0000289678573608e+000</right_val></_></_>
1357
+ <_>
1358
+ <!-- tree 2 -->
1359
+ <_>
1360
+ <!-- root node -->
1361
+ <feature>
1362
+ <rects>
1363
+ <_>
1364
+ 3 1 6 14 -1.</_>
1365
+ <_>
1366
+ 6 1 3 14 2.</_></rects>
1367
+ <tilted>0</tilted></feature>
1368
+ <threshold>-8.9444358309265226e-005</threshold>
1369
+ <left_val>1.</left_val>
1370
+ <right_val>-9.9264812469482422e-001</right_val></_></_>
1371
+ <_>
1372
+ <!-- tree 3 -->
1373
+ <_>
1374
+ <!-- root node -->
1375
+ <feature>
1376
+ <rects>
1377
+ <_>
1378
+ 3 6 2 10 -1.</_>
1379
+ <_>
1380
+ 3 11 2 5 2.</_></rects>
1381
+ <tilted>0</tilted></feature>
1382
+ <threshold>-2.7962020249105990e-004</threshold>
1383
+ <left_val>8.2833290100097656e-001</left_val>
1384
+ <right_val>-9.8444151878356934e-001</right_val></_></_>
1385
+ <_>
1386
+ <!-- tree 4 -->
1387
+ <_>
1388
+ <!-- root node -->
1389
+ <feature>
1390
+ <rects>
1391
+ <_>
1392
+ 42 0 4 6 -1.</_>
1393
+ <_>
1394
+ 42 0 2 3 2.</_>
1395
+ <_>
1396
+ 44 3 2 3 2.</_></rects>
1397
+ <tilted>0</tilted></feature>
1398
+ <threshold>-2.7560539820115082e-005</threshold>
1399
+ <left_val>1.</left_val>
1400
+ <right_val>-9.9543339014053345e-001</right_val></_></_></trees>
1401
+ <stage_threshold>-9.1314977407455444e-001</stage_threshold>
1402
+ <parent>14</parent>
1403
+ <next>-1</next></_></stages></haarcascade_pltzzz64x16_16STG>
1404
+ </opencv_storage>
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_lowerbody.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_profileface.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_righteye_2splits.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_russian_plate_number.xml ADDED
@@ -0,0 +1,2656 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <opencv_storage>
3
+ <cascade>
4
+ <stageType>BOOST</stageType>
5
+ <featureType>HAAR</featureType>
6
+ <height>20</height>
7
+ <width>60</width>
8
+ <stageParams>
9
+ <boostType>GAB</boostType>
10
+ <minHitRate>9.9500000476837158e-001</minHitRate>
11
+ <maxFalseAlarm>5.0000000000000000e-001</maxFalseAlarm>
12
+ <weightTrimRate>9.4999999999999996e-001</weightTrimRate>
13
+ <maxDepth>1</maxDepth>
14
+ <maxWeakCount>100</maxWeakCount></stageParams>
15
+ <featureParams>
16
+ <maxCatCount>0</maxCatCount>
17
+ <featSize>1</featSize>
18
+ <mode>ALL</mode></featureParams>
19
+ <stageNum>20</stageNum>
20
+ <stages>
21
+ <!-- stage 0 -->
22
+ <_>
23
+ <maxWeakCount>6</maxWeakCount>
24
+ <stageThreshold>-1.3110191822052002e+000</stageThreshold>
25
+ <weakClassifiers>
26
+ <_>
27
+ <internalNodes>
28
+ 0 -1 193 1.0079263709485531e-002</internalNodes>
29
+ <leafValues>
30
+ -8.1339186429977417e-001 5.0277775526046753e-001</leafValues></_>
31
+ <_>
32
+ <internalNodes>
33
+ 0 -1 94 -2.2060684859752655e-002</internalNodes>
34
+ <leafValues>
35
+ 7.9418992996215820e-001 -5.0896102190017700e-001</leafValues></_>
36
+ <_>
37
+ <internalNodes>
38
+ 0 -1 18 -4.8777908086776733e-002</internalNodes>
39
+ <leafValues>
40
+ 7.1656656265258789e-001 -4.1640335321426392e-001</leafValues></_>
41
+ <_>
42
+ <internalNodes>
43
+ 0 -1 35 1.0387318208813667e-002</internalNodes>
44
+ <leafValues>
45
+ 3.7618312239646912e-001 -8.5504144430160522e-001</leafValues></_>
46
+ <_>
47
+ <internalNodes>
48
+ 0 -1 191 -9.4083719886839390e-004</internalNodes>
49
+ <leafValues>
50
+ 4.2658549547195435e-001 -5.7729166746139526e-001</leafValues></_>
51
+ <_>
52
+ <internalNodes>
53
+ 0 -1 48 -8.2391249015927315e-003</internalNodes>
54
+ <leafValues>
55
+ 8.2346975803375244e-001 -3.7503159046173096e-001</leafValues></_></weakClassifiers></_>
56
+ <!-- stage 1 -->
57
+ <_>
58
+ <maxWeakCount>6</maxWeakCount>
59
+ <stageThreshold>-1.1759783029556274e+000</stageThreshold>
60
+ <weakClassifiers>
61
+ <_>
62
+ <internalNodes>
63
+ 0 -1 21 1.7386786639690399e-001</internalNodes>
64
+ <leafValues>
65
+ -6.8139964342117310e-001 6.0767590999603271e-001</leafValues></_>
66
+ <_>
67
+ <internalNodes>
68
+ 0 -1 28 -1.9797295331954956e-002</internalNodes>
69
+ <leafValues>
70
+ 7.8072130680084229e-001 -4.4399836659431458e-001</leafValues></_>
71
+ <_>
72
+ <internalNodes>
73
+ 0 -1 46 -1.0154811898246408e-003</internalNodes>
74
+ <leafValues>
75
+ 3.3383268117904663e-001 -7.6357340812683105e-001</leafValues></_>
76
+ <_>
77
+ <internalNodes>
78
+ 0 -1 138 2.4954911321401596e-002</internalNodes>
79
+ <leafValues>
80
+ -3.9979115128517151e-001 6.8620890378952026e-001</leafValues></_>
81
+ <_>
82
+ <internalNodes>
83
+ 0 -1 25 2.8837744612246752e-003</internalNodes>
84
+ <leafValues>
85
+ -2.7928480505943298e-001 7.9980146884918213e-001</leafValues></_>
86
+ <_>
87
+ <internalNodes>
88
+ 0 -1 26 -3.8839362561702728e-002</internalNodes>
89
+ <leafValues>
90
+ -7.8442335128784180e-001 3.4929576516151428e-001</leafValues></_></weakClassifiers></_>
91
+ <!-- stage 2 -->
92
+ <_>
93
+ <maxWeakCount>6</maxWeakCount>
94
+ <stageThreshold>-1.7856997251510620e+000</stageThreshold>
95
+ <weakClassifiers>
96
+ <_>
97
+ <internalNodes>
98
+ 0 -1 34 2.7977079153060913e-002</internalNodes>
99
+ <leafValues>
100
+ -5.8424139022827148e-001 6.6850829124450684e-001</leafValues></_>
101
+ <_>
102
+ <internalNodes>
103
+ 0 -1 171 1.9148588180541992e-002</internalNodes>
104
+ <leafValues>
105
+ -6.5457659959793091e-001 4.0804430842399597e-001</leafValues></_>
106
+ <_>
107
+ <internalNodes>
108
+ 0 -1 7 1.1955041438341141e-002</internalNodes>
109
+ <leafValues>
110
+ -4.2002618312835693e-001 5.6217432022094727e-001</leafValues></_>
111
+ <_>
112
+ <internalNodes>
113
+ 0 -1 45 -2.1218564361333847e-002</internalNodes>
114
+ <leafValues>
115
+ 7.1812576055526733e-001 -3.0354043841362000e-001</leafValues></_>
116
+ <_>
117
+ <internalNodes>
118
+ 0 -1 108 2.0117280655540526e-004</internalNodes>
119
+ <leafValues>
120
+ -6.1749500036239624e-001 3.5549193620681763e-001</leafValues></_>
121
+ <_>
122
+ <internalNodes>
123
+ 0 -1 122 3.9725980604998767e-004</internalNodes>
124
+ <leafValues>
125
+ -2.6844096183776855e-001 7.6771658658981323e-001</leafValues></_></weakClassifiers></_>
126
+ <!-- stage 3 -->
127
+ <_>
128
+ <maxWeakCount>9</maxWeakCount>
129
+ <stageThreshold>-1.1837021112442017e+000</stageThreshold>
130
+ <weakClassifiers>
131
+ <_>
132
+ <internalNodes>
133
+ 0 -1 202 -1.3291766867041588e-002</internalNodes>
134
+ <leafValues>
135
+ 4.5248869061470032e-001 -5.8849954605102539e-001</leafValues></_>
136
+ <_>
137
+ <internalNodes>
138
+ 0 -1 79 -4.8353265970945358e-002</internalNodes>
139
+ <leafValues>
140
+ 7.0951640605926514e-001 -3.2546108961105347e-001</leafValues></_>
141
+ <_>
142
+ <internalNodes>
143
+ 0 -1 22 2.6532993651926517e-003</internalNodes>
144
+ <leafValues>
145
+ -2.5343564152717590e-001 7.6588714122772217e-001</leafValues></_>
146
+ <_>
147
+ <internalNodes>
148
+ 0 -1 66 -3.8548894226551056e-002</internalNodes>
149
+ <leafValues>
150
+ 5.8126109838485718e-001 -3.0813106894493103e-001</leafValues></_>
151
+ <_>
152
+ <internalNodes>
153
+ 0 -1 41 -6.8602780811488628e-004</internalNodes>
154
+ <leafValues>
155
+ 2.6361095905303955e-001 -7.2226840257644653e-001</leafValues></_>
156
+ <_>
157
+ <internalNodes>
158
+ 0 -1 69 -2.5726919993758202e-002</internalNodes>
159
+ <leafValues>
160
+ -8.7153857946395874e-001 1.9438524544239044e-001</leafValues></_>
161
+ <_>
162
+ <internalNodes>
163
+ 0 -1 24 8.4192806389182806e-004</internalNodes>
164
+ <leafValues>
165
+ -3.6150649189949036e-001 5.2065432071685791e-001</leafValues></_>
166
+ <_>
167
+ <internalNodes>
168
+ 0 -1 62 -2.6956878136843443e-003</internalNodes>
169
+ <leafValues>
170
+ 5.9945529699325562e-001 -2.8344830870628357e-001</leafValues></_>
171
+ <_>
172
+ <internalNodes>
173
+ 0 -1 112 3.0572075396776199e-002</internalNodes>
174
+ <leafValues>
175
+ -3.0688971281051636e-001 5.7261526584625244e-001</leafValues></_></weakClassifiers></_>
176
+ <!-- stage 4 -->
177
+ <_>
178
+ <maxWeakCount>8</maxWeakCount>
179
+ <stageThreshold>-1.4687808752059937e+000</stageThreshold>
180
+ <weakClassifiers>
181
+ <_>
182
+ <internalNodes>
183
+ 0 -1 5 3.1486168503761292e-002</internalNodes>
184
+ <leafValues>
185
+ -5.7836848497390747e-001 3.7931033968925476e-001</leafValues></_>
186
+ <_>
187
+ <internalNodes>
188
+ 0 -1 150 2.8311354108154774e-003</internalNodes>
189
+ <leafValues>
190
+ -5.7888329029083252e-001 3.2841828465461731e-001</leafValues></_>
191
+ <_>
192
+ <internalNodes>
193
+ 0 -1 76 -4.2060948908329010e-002</internalNodes>
194
+ <leafValues>
195
+ 5.5578106641769409e-001 -3.2662427425384521e-001</leafValues></_>
196
+ <_>
197
+ <internalNodes>
198
+ 0 -1 115 6.2936875037848949e-003</internalNodes>
199
+ <leafValues>
200
+ -2.1032968163490295e-001 7.8646916151046753e-001</leafValues></_>
201
+ <_>
202
+ <internalNodes>
203
+ 0 -1 51 7.0570126175880432e-002</internalNodes>
204
+ <leafValues>
205
+ -4.3683132529258728e-001 4.0298295021057129e-001</leafValues></_>
206
+ <_>
207
+ <internalNodes>
208
+ 0 -1 135 2.5173835456371307e-003</internalNodes>
209
+ <leafValues>
210
+ -2.0461565256118774e-001 8.2858163118362427e-001</leafValues></_>
211
+ <_>
212
+ <internalNodes>
213
+ 0 -1 102 1.5648975968360901e-003</internalNodes>
214
+ <leafValues>
215
+ -2.4848082661628723e-001 6.0209411382675171e-001</leafValues></_>
216
+ <_>
217
+ <internalNodes>
218
+ 0 -1 177 -3.5970686003565788e-003</internalNodes>
219
+ <leafValues>
220
+ 2.3294737935066223e-001 -6.5612471103668213e-001</leafValues></_></weakClassifiers></_>
221
+ <!-- stage 5 -->
222
+ <_>
223
+ <maxWeakCount>9</maxWeakCount>
224
+ <stageThreshold>-1.1029583215713501e+000</stageThreshold>
225
+ <weakClassifiers>
226
+ <_>
227
+ <internalNodes>
228
+ 0 -1 27 -1.1257569491863251e-001</internalNodes>
229
+ <leafValues>
230
+ 3.3181819319725037e-001 -5.3901344537734985e-001</leafValues></_>
231
+ <_>
232
+ <internalNodes>
233
+ 0 -1 142 3.8014666642993689e-003</internalNodes>
234
+ <leafValues>
235
+ -3.6430206894874573e-001 4.5984184741973877e-001</leafValues></_>
236
+ <_>
237
+ <internalNodes>
238
+ 0 -1 57 9.8789634648710489e-004</internalNodes>
239
+ <leafValues>
240
+ -2.6661416888237000e-001 5.6971323490142822e-001</leafValues></_>
241
+ <_>
242
+ <internalNodes>
243
+ 0 -1 55 2.1719809621572495e-002</internalNodes>
244
+ <leafValues>
245
+ 1.8432702124118805e-001 -8.2999354600906372e-001</leafValues></_>
246
+ <_>
247
+ <internalNodes>
248
+ 0 -1 111 5.1051773130893707e-002</internalNodes>
249
+ <leafValues>
250
+ 1.4391148090362549e-001 -9.4541704654693604e-001</leafValues></_>
251
+ <_>
252
+ <internalNodes>
253
+ 0 -1 164 1.8956036074087024e-003</internalNodes>
254
+ <leafValues>
255
+ -6.0830104351043701e-001 2.6091885566711426e-001</leafValues></_>
256
+ <_>
257
+ <internalNodes>
258
+ 0 -1 81 -5.8700828813016415e-003</internalNodes>
259
+ <leafValues>
260
+ 6.9104760885238647e-001 -2.6916843652725220e-001</leafValues></_>
261
+ <_>
262
+ <internalNodes>
263
+ 0 -1 116 -1.1522199492901564e-003</internalNodes>
264
+ <leafValues>
265
+ -6.9503885507583618e-001 2.4749211966991425e-001</leafValues></_>
266
+ <_>
267
+ <internalNodes>
268
+ 0 -1 90 -5.1933946087956429e-003</internalNodes>
269
+ <leafValues>
270
+ 5.8551025390625000e-001 -3.0389472842216492e-001</leafValues></_></weakClassifiers></_>
271
+ <!-- stage 6 -->
272
+ <_>
273
+ <maxWeakCount>9</maxWeakCount>
274
+ <stageThreshold>-9.0274518728256226e-001</stageThreshold>
275
+ <weakClassifiers>
276
+ <_>
277
+ <internalNodes>
278
+ 0 -1 205 -1.4383997768163681e-002</internalNodes>
279
+ <leafValues>
280
+ 4.5400592684745789e-001 -4.9917897582054138e-001</leafValues></_>
281
+ <_>
282
+ <internalNodes>
283
+ 0 -1 114 -3.3369414508342743e-002</internalNodes>
284
+ <leafValues>
285
+ -9.3247985839843750e-001 1.4586758613586426e-001</leafValues></_>
286
+ <_>
287
+ <internalNodes>
288
+ 0 -1 128 5.2380945999175310e-004</internalNodes>
289
+ <leafValues>
290
+ -2.8349643945693970e-001 6.4983856678009033e-001</leafValues></_>
291
+ <_>
292
+ <internalNodes>
293
+ 0 -1 143 6.1231426661834121e-004</internalNodes>
294
+ <leafValues>
295
+ -1.8502233922481537e-001 6.5052211284637451e-001</leafValues></_>
296
+ <_>
297
+ <internalNodes>
298
+ 0 -1 49 1.7017847858369350e-003</internalNodes>
299
+ <leafValues>
300
+ 2.2008989751338959e-001 -7.2277534008026123e-001</leafValues></_>
301
+ <_>
302
+ <internalNodes>
303
+ 0 -1 133 2.6139442343264818e-003</internalNodes>
304
+ <leafValues>
305
+ 1.8238025903701782e-001 -7.6262325048446655e-001</leafValues></_>
306
+ <_>
307
+ <internalNodes>
308
+ 0 -1 43 -2.0020073279738426e-003</internalNodes>
309
+ <leafValues>
310
+ 5.6799399852752686e-001 -2.8219676017761230e-001</leafValues></_>
311
+ <_>
312
+ <internalNodes>
313
+ 0 -1 119 1.9273828947916627e-003</internalNodes>
314
+ <leafValues>
315
+ -2.0913636684417725e-001 7.9203850030899048e-001</leafValues></_>
316
+ <_>
317
+ <internalNodes>
318
+ 0 -1 134 -9.4476283993571997e-004</internalNodes>
319
+ <leafValues>
320
+ -8.2361942529678345e-001 2.4256958067417145e-001</leafValues></_></weakClassifiers></_>
321
+ <!-- stage 7 -->
322
+ <_>
323
+ <maxWeakCount>10</maxWeakCount>
324
+ <stageThreshold>-1.4518526792526245e+000</stageThreshold>
325
+ <weakClassifiers>
326
+ <_>
327
+ <internalNodes>
328
+ 0 -1 162 1.6756314784288406e-002</internalNodes>
329
+ <leafValues>
330
+ -6.9359332323074341e-001 5.1373954862356186e-002</leafValues></_>
331
+ <_>
332
+ <internalNodes>
333
+ 0 -1 16 2.4082964286208153e-002</internalNodes>
334
+ <leafValues>
335
+ -3.3989402651786804e-001 4.5332714915275574e-001</leafValues></_>
336
+ <_>
337
+ <internalNodes>
338
+ 0 -1 186 1.2284796684980392e-003</internalNodes>
339
+ <leafValues>
340
+ -2.2297365963459015e-001 6.1439812183380127e-001</leafValues></_>
341
+ <_>
342
+ <internalNodes>
343
+ 0 -1 59 -1.4379122294485569e-003</internalNodes>
344
+ <leafValues>
345
+ -6.9444245100021362e-001 2.0446482300758362e-001</leafValues></_>
346
+ <_>
347
+ <internalNodes>
348
+ 0 -1 185 -1.8713285680860281e-003</internalNodes>
349
+ <leafValues>
350
+ 6.7942184209823608e-001 -2.7580419182777405e-001</leafValues></_>
351
+ <_>
352
+ <internalNodes>
353
+ 0 -1 190 -4.7389674000442028e-003</internalNodes>
354
+ <leafValues>
355
+ -7.0437240600585938e-001 2.6915156841278076e-001</leafValues></_>
356
+ <_>
357
+ <internalNodes>
358
+ 0 -1 156 7.4071279959753156e-004</internalNodes>
359
+ <leafValues>
360
+ -2.9220902919769287e-001 5.3538239002227783e-001</leafValues></_>
361
+ <_>
362
+ <internalNodes>
363
+ 0 -1 11 -2.2739455103874207e-001</internalNodes>
364
+ <leafValues>
365
+ 6.6916191577911377e-001 -2.1987228095531464e-001</leafValues></_>
366
+ <_>
367
+ <internalNodes>
368
+ 0 -1 155 -1.0255509987473488e-003</internalNodes>
369
+ <leafValues>
370
+ 6.3346290588378906e-001 -2.2717863321304321e-001</leafValues></_>
371
+ <_>
372
+ <internalNodes>
373
+ 0 -1 167 2.4775355122983456e-003</internalNodes>
374
+ <leafValues>
375
+ -5.4297816753387451e-001 3.1877547502517700e-001</leafValues></_></weakClassifiers></_>
376
+ <!-- stage 8 -->
377
+ <_>
378
+ <maxWeakCount>11</maxWeakCount>
379
+ <stageThreshold>-1.3153649568557739e+000</stageThreshold>
380
+ <weakClassifiers>
381
+ <_>
382
+ <internalNodes>
383
+ 0 -1 6 1.9131936132907867e-002</internalNodes>
384
+ <leafValues>
385
+ -6.0168600082397461e-001 1.9141913950443268e-001</leafValues></_>
386
+ <_>
387
+ <internalNodes>
388
+ 0 -1 42 -4.5855185016989708e-003</internalNodes>
389
+ <leafValues>
390
+ 2.1901632845401764e-001 -5.7136750221252441e-001</leafValues></_>
391
+ <_>
392
+ <internalNodes>
393
+ 0 -1 53 -1.9026801455765963e-003</internalNodes>
394
+ <leafValues>
395
+ -8.0075079202651978e-001 1.6502076387405396e-001</leafValues></_>
396
+ <_>
397
+ <internalNodes>
398
+ 0 -1 19 -3.2767035067081451e-002</internalNodes>
399
+ <leafValues>
400
+ 5.1496404409408569e-001 -2.5474679470062256e-001</leafValues></_>
401
+ <_>
402
+ <internalNodes>
403
+ 0 -1 129 6.3941581174731255e-004</internalNodes>
404
+ <leafValues>
405
+ -1.9851709902286530e-001 6.7218667268753052e-001</leafValues></_>
406
+ <_>
407
+ <internalNodes>
408
+ 0 -1 201 1.5573646873235703e-002</internalNodes>
409
+ <leafValues>
410
+ -1.7564551532268524e-001 7.0536541938781738e-001</leafValues></_>
411
+ <_>
412
+ <internalNodes>
413
+ 0 -1 200 9.5508026424795389e-004</internalNodes>
414
+ <leafValues>
415
+ -1.9691802561283112e-001 6.1125624179840088e-001</leafValues></_>
416
+ <_>
417
+ <internalNodes>
418
+ 0 -1 67 9.0427603572607040e-003</internalNodes>
419
+ <leafValues>
420
+ 1.6518253087997437e-001 -8.7012130022048950e-001</leafValues></_>
421
+ <_>
422
+ <internalNodes>
423
+ 0 -1 77 8.1576988101005554e-002</internalNodes>
424
+ <leafValues>
425
+ 1.4075902104377747e-001 -8.4871828556060791e-001</leafValues></_>
426
+ <_>
427
+ <internalNodes>
428
+ 0 -1 166 -5.1994959358125925e-004</internalNodes>
429
+ <leafValues>
430
+ 2.1803210675716400e-001 -5.4628211259841919e-001</leafValues></_>
431
+ <_>
432
+ <internalNodes>
433
+ 0 -1 70 -2.3009868338704109e-002</internalNodes>
434
+ <leafValues>
435
+ -7.9586231708526611e-001 1.5989699959754944e-001</leafValues></_></weakClassifiers></_>
436
+ <!-- stage 9 -->
437
+ <_>
438
+ <maxWeakCount>13</maxWeakCount>
439
+ <stageThreshold>-1.4625015258789063e+000</stageThreshold>
440
+ <weakClassifiers>
441
+ <_>
442
+ <internalNodes>
443
+ 0 -1 1 2.6759501546621323e-002</internalNodes>
444
+ <leafValues>
445
+ -6.0482984781265259e-001 1.4906832575798035e-001</leafValues></_>
446
+ <_>
447
+ <internalNodes>
448
+ 0 -1 165 3.0343931168317795e-002</internalNodes>
449
+ <leafValues>
450
+ -4.7357541322708130e-001 2.6279065012931824e-001</leafValues></_>
451
+ <_>
452
+ <internalNodes>
453
+ 0 -1 161 1.2678599450737238e-003</internalNodes>
454
+ <leafValues>
455
+ -1.9493983685970306e-001 6.9734728336334229e-001</leafValues></_>
456
+ <_>
457
+ <internalNodes>
458
+ 0 -1 30 1.8607920501381159e-003</internalNodes>
459
+ <leafValues>
460
+ 1.5611934661865234e-001 -9.0542370080947876e-001</leafValues></_>
461
+ <_>
462
+ <internalNodes>
463
+ 0 -1 157 -1.3872641138732433e-003</internalNodes>
464
+ <leafValues>
465
+ 5.3263407945632935e-001 -3.0192303657531738e-001</leafValues></_>
466
+ <_>
467
+ <internalNodes>
468
+ 0 -1 180 -6.9969398900866508e-003</internalNodes>
469
+ <leafValues>
470
+ -9.4549953937530518e-001 1.5575224161148071e-001</leafValues></_>
471
+ <_>
472
+ <internalNodes>
473
+ 0 -1 158 1.1245720088481903e-003</internalNodes>
474
+ <leafValues>
475
+ -2.6688691973686218e-001 5.5608308315277100e-001</leafValues></_>
476
+ <_>
477
+ <internalNodes>
478
+ 0 -1 160 -2.8279949910938740e-003</internalNodes>
479
+ <leafValues>
480
+ -9.1861122846603394e-001 1.3309663534164429e-001</leafValues></_>
481
+ <_>
482
+ <internalNodes>
483
+ 0 -1 58 7.1019242750480771e-004</internalNodes>
484
+ <leafValues>
485
+ -3.0977895855903625e-001 4.3846300244331360e-001</leafValues></_>
486
+ <_>
487
+ <internalNodes>
488
+ 0 -1 8 -4.1933014988899231e-002</internalNodes>
489
+ <leafValues>
490
+ -8.9102542400360107e-001 1.5866196155548096e-001</leafValues></_>
491
+ <_>
492
+ <internalNodes>
493
+ 0 -1 87 1.6568358987569809e-002</internalNodes>
494
+ <leafValues>
495
+ 1.2731756269931793e-001 -8.5553413629531860e-001</leafValues></_>
496
+ <_>
497
+ <internalNodes>
498
+ 0 -1 64 2.0309074316173792e-003</internalNodes>
499
+ <leafValues>
500
+ -2.3260365426540375e-001 6.7330485582351685e-001</leafValues></_>
501
+ <_>
502
+ <internalNodes>
503
+ 0 -1 159 -1.7069760942831635e-003</internalNodes>
504
+ <leafValues>
505
+ -7.1925789117813110e-001 1.9108834862709045e-001</leafValues></_></weakClassifiers></_>
506
+ <!-- stage 10 -->
507
+ <_>
508
+ <maxWeakCount>14</maxWeakCount>
509
+ <stageThreshold>-1.4959813356399536e+000</stageThreshold>
510
+ <weakClassifiers>
511
+ <_>
512
+ <internalNodes>
513
+ 0 -1 4 1.4695923775434494e-002</internalNodes>
514
+ <leafValues>
515
+ -6.2167906761169434e-001 2.1172638237476349e-001</leafValues></_>
516
+ <_>
517
+ <internalNodes>
518
+ 0 -1 50 -1.6501215286552906e-003</internalNodes>
519
+ <leafValues>
520
+ 1.9353884458541870e-001 -5.7780367136001587e-001</leafValues></_>
521
+ <_>
522
+ <internalNodes>
523
+ 0 -1 123 7.0121872704476118e-004</internalNodes>
524
+ <leafValues>
525
+ -2.2979106009006500e-001 5.3033334016799927e-001</leafValues></_>
526
+ <_>
527
+ <internalNodes>
528
+ 0 -1 52 9.4158272258937359e-004</internalNodes>
529
+ <leafValues>
530
+ 1.6849038004875183e-001 -7.4897718429565430e-001</leafValues></_>
531
+ <_>
532
+ <internalNodes>
533
+ 0 -1 124 -2.0684124901890755e-003</internalNodes>
534
+ <leafValues>
535
+ 6.7936712503433228e-001 -1.9317412376403809e-001</leafValues></_>
536
+ <_>
537
+ <internalNodes>
538
+ 0 -1 23 -1.8305826233699918e-004</internalNodes>
539
+ <leafValues>
540
+ -7.0275229215621948e-001 1.7971208691596985e-001</leafValues></_>
541
+ <_>
542
+ <internalNodes>
543
+ 0 -1 198 5.5587477982044220e-004</internalNodes>
544
+ <leafValues>
545
+ -2.4448128044605255e-001 5.0703984498977661e-001</leafValues></_>
546
+ <_>
547
+ <internalNodes>
548
+ 0 -1 152 4.3448276119306684e-004</internalNodes>
549
+ <leafValues>
550
+ 1.3497908413410187e-001 -8.5621362924575806e-001</leafValues></_>
551
+ <_>
552
+ <internalNodes>
553
+ 0 -1 197 -1.2359691318124533e-003</internalNodes>
554
+ <leafValues>
555
+ 6.1710417270660400e-001 -2.2301279008388519e-001</leafValues></_>
556
+ <_>
557
+ <internalNodes>
558
+ 0 -1 153 -6.9627340417355299e-004</internalNodes>
559
+ <leafValues>
560
+ -6.4706987142562866e-001 2.3951497673988342e-001</leafValues></_>
561
+ <_>
562
+ <internalNodes>
563
+ 0 -1 175 1.0683680884540081e-003</internalNodes>
564
+ <leafValues>
565
+ -2.8343605995178223e-001 4.9318629503250122e-001</leafValues></_>
566
+ <_>
567
+ <internalNodes>
568
+ 0 -1 168 1.7104238213505596e-004</internalNodes>
569
+ <leafValues>
570
+ -2.7171039581298828e-001 4.2520308494567871e-001</leafValues></_>
571
+ <_>
572
+ <internalNodes>
573
+ 0 -1 144 8.2368971779942513e-003</internalNodes>
574
+ <leafValues>
575
+ 1.6359315812587738e-001 -7.3864609003067017e-001</leafValues></_>
576
+ <_>
577
+ <internalNodes>
578
+ 0 -1 131 -5.9884190559387207e-003</internalNodes>
579
+ <leafValues>
580
+ 3.8030940294265747e-001 -3.0763563513755798e-001</leafValues></_></weakClassifiers></_>
581
+ <!-- stage 11 -->
582
+ <_>
583
+ <maxWeakCount>9</maxWeakCount>
584
+ <stageThreshold>-1.1183819770812988e+000</stageThreshold>
585
+ <weakClassifiers>
586
+ <_>
587
+ <internalNodes>
588
+ 0 -1 187 -1.4863962307572365e-002</internalNodes>
589
+ <leafValues>
590
+ 1.1989101022481918e-001 -6.6138857603073120e-001</leafValues></_>
591
+ <_>
592
+ <internalNodes>
593
+ 0 -1 117 2.4736612103879452e-003</internalNodes>
594
+ <leafValues>
595
+ -5.2778661251068115e-001 2.3012125492095947e-001</leafValues></_>
596
+ <_>
597
+ <internalNodes>
598
+ 0 -1 71 -4.8899287357926369e-003</internalNodes>
599
+ <leafValues>
600
+ 6.0186779499053955e-001 -2.0681641995906830e-001</leafValues></_>
601
+ <_>
602
+ <internalNodes>
603
+ 0 -1 174 1.5796069055795670e-002</internalNodes>
604
+ <leafValues>
605
+ 1.4610521495342255e-001 -8.2099527120590210e-001</leafValues></_>
606
+ <_>
607
+ <internalNodes>
608
+ 0 -1 104 5.9720675926655531e-004</internalNodes>
609
+ <leafValues>
610
+ -2.3587301373481750e-001 4.8323699831962585e-001</leafValues></_>
611
+ <_>
612
+ <internalNodes>
613
+ 0 -1 103 -1.9448818638920784e-003</internalNodes>
614
+ <leafValues>
615
+ 6.4417767524719238e-001 -2.0953170955181122e-001</leafValues></_>
616
+ <_>
617
+ <internalNodes>
618
+ 0 -1 154 1.9433414854574949e-004</internalNodes>
619
+ <leafValues>
620
+ 2.0600238442420959e-001 -7.2418999671936035e-001</leafValues></_>
621
+ <_>
622
+ <internalNodes>
623
+ 0 -1 163 -1.5097535215318203e-002</internalNodes>
624
+ <leafValues>
625
+ -8.7151485681533813e-001 1.2594890594482422e-001</leafValues></_>
626
+ <_>
627
+ <internalNodes>
628
+ 0 -1 82 -3.9843879640102386e-003</internalNodes>
629
+ <leafValues>
630
+ 4.3801131844520569e-001 -2.9676589369773865e-001</leafValues></_></weakClassifiers></_>
631
+ <!-- stage 12 -->
632
+ <_>
633
+ <maxWeakCount>12</maxWeakCount>
634
+ <stageThreshold>-1.5434337854385376e+000</stageThreshold>
635
+ <weakClassifiers>
636
+ <_>
637
+ <internalNodes>
638
+ 0 -1 105 1.1273270938545465e-003</internalNodes>
639
+ <leafValues>
640
+ -4.7976878285408020e-001 3.6627906560897827e-001</leafValues></_>
641
+ <_>
642
+ <internalNodes>
643
+ 0 -1 95 9.7806821577250957e-004</internalNodes>
644
+ <leafValues>
645
+ -2.7689707279205322e-001 5.1295894384384155e-001</leafValues></_>
646
+ <_>
647
+ <internalNodes>
648
+ 0 -1 15 1.6528377309441566e-002</internalNodes>
649
+ <leafValues>
650
+ -4.5259797573089600e-001 2.4290211498737335e-001</leafValues></_>
651
+ <_>
652
+ <internalNodes>
653
+ 0 -1 137 1.1040373938158154e-003</internalNodes>
654
+ <leafValues>
655
+ -3.2714816927909851e-001 3.4566244482994080e-001</leafValues></_>
656
+ <_>
657
+ <internalNodes>
658
+ 0 -1 109 -1.7780361231416464e-003</internalNodes>
659
+ <leafValues>
660
+ -6.9511681795120239e-001 1.8829824030399323e-001</leafValues></_>
661
+ <_>
662
+ <internalNodes>
663
+ 0 -1 92 4.6280334936454892e-004</internalNodes>
664
+ <leafValues>
665
+ -2.3864887654781342e-001 5.3136289119720459e-001</leafValues></_>
666
+ <_>
667
+ <internalNodes>
668
+ 0 -1 100 -1.4975425438024104e-004</internalNodes>
669
+ <leafValues>
670
+ -6.6509884595870972e-001 2.1483559906482697e-001</leafValues></_>
671
+ <_>
672
+ <internalNodes>
673
+ 0 -1 83 -1.4625370968133211e-003</internalNodes>
674
+ <leafValues>
675
+ 2.6556470990180969e-001 -4.9002227187156677e-001</leafValues></_>
676
+ <_>
677
+ <internalNodes>
678
+ 0 -1 14 -2.6019819779321551e-004</internalNodes>
679
+ <leafValues>
680
+ -7.0160359144210815e-001 1.6359129548072815e-001</leafValues></_>
681
+ <_>
682
+ <internalNodes>
683
+ 0 -1 14 2.2371641534846276e-004</internalNodes>
684
+ <leafValues>
685
+ 1.2919521331787109e-001 -6.9767206907272339e-001</leafValues></_>
686
+ <_>
687
+ <internalNodes>
688
+ 0 -1 194 -1.0447315871715546e-002</internalNodes>
689
+ <leafValues>
690
+ 2.1837629377841949e-001 -4.6482038497924805e-001</leafValues></_>
691
+ <_>
692
+ <internalNodes>
693
+ 0 -1 20 -9.2897024005651474e-003</internalNodes>
694
+ <leafValues>
695
+ 6.4918082952499390e-001 -2.0495061576366425e-001</leafValues></_></weakClassifiers></_>
696
+ <!-- stage 13 -->
697
+ <_>
698
+ <maxWeakCount>12</maxWeakCount>
699
+ <stageThreshold>-1.4440233707427979e+000</stageThreshold>
700
+ <weakClassifiers>
701
+ <_>
702
+ <internalNodes>
703
+ 0 -1 9 8.5356216877698898e-003</internalNodes>
704
+ <leafValues>
705
+ -5.3151458501815796e-001 2.2357723116874695e-001</leafValues></_>
706
+ <_>
707
+ <internalNodes>
708
+ 0 -1 182 1.5294685726985335e-003</internalNodes>
709
+ <leafValues>
710
+ -6.0895460844039917e-001 1.7429886758327484e-001</leafValues></_>
711
+ <_>
712
+ <internalNodes>
713
+ 0 -1 40 1.8610086990520358e-003</internalNodes>
714
+ <leafValues>
715
+ -2.5480428338050842e-001 4.2150071263313293e-001</leafValues></_>
716
+ <_>
717
+ <internalNodes>
718
+ 0 -1 176 1.5735558699816465e-003</internalNodes>
719
+ <leafValues>
720
+ -1.6832062602043152e-001 4.8567819595336914e-001</leafValues></_>
721
+ <_>
722
+ <internalNodes>
723
+ 0 -1 179 -6.7992787808179855e-004</internalNodes>
724
+ <leafValues>
725
+ 3.9894598722457886e-001 -3.0744269490242004e-001</leafValues></_>
726
+ <_>
727
+ <internalNodes>
728
+ 0 -1 151 4.9857296049594879e-002</internalNodes>
729
+ <leafValues>
730
+ -1.5370152890682220e-001 6.7523348331451416e-001</leafValues></_>
731
+ <_>
732
+ <internalNodes>
733
+ 0 -1 139 -2.8339058160781860e-002</internalNodes>
734
+ <leafValues>
735
+ 5.0540882349014282e-001 -2.9473617672920227e-001</leafValues></_>
736
+ <_>
737
+ <internalNodes>
738
+ 0 -1 72 -7.7956825494766235e-002</internalNodes>
739
+ <leafValues>
740
+ 4.0387043356895447e-001 -3.0287107825279236e-001</leafValues></_>
741
+ <_>
742
+ <internalNodes>
743
+ 0 -1 89 -3.6115488037467003e-003</internalNodes>
744
+ <leafValues>
745
+ 6.3856112957000732e-001 -1.6917882859706879e-001</leafValues></_>
746
+ <_>
747
+ <internalNodes>
748
+ 0 -1 207 3.3940275898203254e-004</internalNodes>
749
+ <leafValues>
750
+ 1.3713537156581879e-001 -7.8120291233062744e-001</leafValues></_>
751
+ <_>
752
+ <internalNodes>
753
+ 0 -1 39 4.0043061599135399e-003</internalNodes>
754
+ <leafValues>
755
+ 1.5233094990253448e-001 -6.3939732313156128e-001</leafValues></_>
756
+ <_>
757
+ <internalNodes>
758
+ 0 -1 65 -4.4601649278774858e-004</internalNodes>
759
+ <leafValues>
760
+ 2.1333815157413483e-001 -4.7728902101516724e-001</leafValues></_></weakClassifiers></_>
761
+ <!-- stage 14 -->
762
+ <_>
763
+ <maxWeakCount>13</maxWeakCount>
764
+ <stageThreshold>-1.2532578706741333e+000</stageThreshold>
765
+ <weakClassifiers>
766
+ <_>
767
+ <internalNodes>
768
+ 0 -1 204 -2.0341124385595322e-002</internalNodes>
769
+ <leafValues>
770
+ 2.4170616269111633e-001 -4.9161517620086670e-001</leafValues></_>
771
+ <_>
772
+ <internalNodes>
773
+ 0 -1 169 8.9040049351751804e-004</internalNodes>
774
+ <leafValues>
775
+ -2.8570893406867981e-001 4.2666998505592346e-001</leafValues></_>
776
+ <_>
777
+ <internalNodes>
778
+ 0 -1 60 -3.3259526826441288e-003</internalNodes>
779
+ <leafValues>
780
+ 4.2626520991325378e-001 -2.3811897635459900e-001</leafValues></_>
781
+ <_>
782
+ <internalNodes>
783
+ 0 -1 38 -3.1714607030153275e-002</internalNodes>
784
+ <leafValues>
785
+ -8.5494768619537354e-001 1.1712870001792908e-001</leafValues></_>
786
+ <_>
787
+ <internalNodes>
788
+ 0 -1 31 -1.1553820222616196e-002</internalNodes>
789
+ <leafValues>
790
+ 2.2675493359565735e-001 -4.9640509486198425e-001</leafValues></_>
791
+ <_>
792
+ <internalNodes>
793
+ 0 -1 80 -6.7727260291576385e-002</internalNodes>
794
+ <leafValues>
795
+ -8.6705064773559570e-001 9.8765812814235687e-002</leafValues></_>
796
+ <_>
797
+ <internalNodes>
798
+ 0 -1 63 -3.1611192971467972e-003</internalNodes>
799
+ <leafValues>
800
+ 3.9449846744537354e-001 -2.8210711479187012e-001</leafValues></_>
801
+ <_>
802
+ <internalNodes>
803
+ 0 -1 149 4.3221906526014209e-004</internalNodes>
804
+ <leafValues>
805
+ 1.1805476248264313e-001 -9.0178310871124268e-001</leafValues></_>
806
+ <_>
807
+ <internalNodes>
808
+ 0 -1 188 -2.2296360111795366e-004</internalNodes>
809
+ <leafValues>
810
+ 1.7324598133563995e-001 -5.2877873182296753e-001</leafValues></_>
811
+ <_>
812
+ <internalNodes>
813
+ 0 -1 120 -2.1440195851027966e-003</internalNodes>
814
+ <leafValues>
815
+ 5.5513423681259155e-001 -1.9791823625564575e-001</leafValues></_>
816
+ <_>
817
+ <internalNodes>
818
+ 0 -1 113 -4.5122690498828888e-003</internalNodes>
819
+ <leafValues>
820
+ 5.5083745718002319e-001 -1.8810540437698364e-001</leafValues></_>
821
+ <_>
822
+ <internalNodes>
823
+ 0 -1 130 -3.5149464383721352e-003</internalNodes>
824
+ <leafValues>
825
+ 5.5467557907104492e-001 -2.2856147587299347e-001</leafValues></_>
826
+ <_>
827
+ <internalNodes>
828
+ 0 -1 121 -4.4786706566810608e-003</internalNodes>
829
+ <leafValues>
830
+ -7.9106998443603516e-001 1.7836479842662811e-001</leafValues></_></weakClassifiers></_>
831
+ <!-- stage 15 -->
832
+ <_>
833
+ <maxWeakCount>15</maxWeakCount>
834
+ <stageThreshold>-1.1898330450057983e+000</stageThreshold>
835
+ <weakClassifiers>
836
+ <_>
837
+ <internalNodes>
838
+ 0 -1 0 1.5206767246127129e-002</internalNodes>
839
+ <leafValues>
840
+ -4.9173194169998169e-001 2.7093595266342163e-001</leafValues></_>
841
+ <_>
842
+ <internalNodes>
843
+ 0 -1 125 6.9564773002639413e-004</internalNodes>
844
+ <leafValues>
845
+ -2.3066598176956177e-001 5.4028344154357910e-001</leafValues></_>
846
+ <_>
847
+ <internalNodes>
848
+ 0 -1 125 -8.3668017759919167e-004</internalNodes>
849
+ <leafValues>
850
+ 4.4658055901527405e-001 -2.7778497338294983e-001</leafValues></_>
851
+ <_>
852
+ <internalNodes>
853
+ 0 -1 91 -3.8321319967508316e-002</internalNodes>
854
+ <leafValues>
855
+ -7.9069298505783081e-001 1.8700349330902100e-001</leafValues></_>
856
+ <_>
857
+ <internalNodes>
858
+ 0 -1 207 -2.1063965687062591e-004</internalNodes>
859
+ <leafValues>
860
+ -6.3163763284683228e-001 1.8656146526336670e-001</leafValues></_>
861
+ <_>
862
+ <internalNodes>
863
+ 0 -1 61 3.6907330155372620e-002</internalNodes>
864
+ <leafValues>
865
+ 9.9319733679294586e-002 -7.6762360334396362e-001</leafValues></_>
866
+ <_>
867
+ <internalNodes>
868
+ 0 -1 85 8.1071127206087112e-003</internalNodes>
869
+ <leafValues>
870
+ -2.8561261296272278e-001 3.4748569130897522e-001</leafValues></_>
871
+ <_>
872
+ <internalNodes>
873
+ 0 -1 189 6.2815943965688348e-004</internalNodes>
874
+ <leafValues>
875
+ 1.6656193137168884e-001 -5.4635977745056152e-001</leafValues></_>
876
+ <_>
877
+ <internalNodes>
878
+ 0 -1 86 2.8582263621501625e-004</internalNodes>
879
+ <leafValues>
880
+ -2.4100163578987122e-001 4.5410770177841187e-001</leafValues></_>
881
+ <_>
882
+ <internalNodes>
883
+ 0 -1 173 -1.9862279295921326e-002</internalNodes>
884
+ <leafValues>
885
+ -9.4317340850830078e-001 1.2513674795627594e-001</leafValues></_>
886
+ <_>
887
+ <internalNodes>
888
+ 0 -1 96 1.1506280861794949e-003</internalNodes>
889
+ <leafValues>
890
+ -2.4514634907245636e-001 4.6452957391738892e-001</leafValues></_>
891
+ <_>
892
+ <internalNodes>
893
+ 0 -1 29 2.3451185552403331e-004</internalNodes>
894
+ <leafValues>
895
+ 1.2489952147006989e-001 -8.0278074741363525e-001</leafValues></_>
896
+ <_>
897
+ <internalNodes>
898
+ 0 -1 101 6.7837134702131152e-004</internalNodes>
899
+ <leafValues>
900
+ -2.5017899274826050e-001 4.3841627240180969e-001</leafValues></_>
901
+ <_>
902
+ <internalNodes>
903
+ 0 -1 17 3.1583159579895437e-004</internalNodes>
904
+ <leafValues>
905
+ 1.5951988101005554e-001 -7.4524724483489990e-001</leafValues></_>
906
+ <_>
907
+ <internalNodes>
908
+ 0 -1 110 7.2623658925294876e-003</internalNodes>
909
+ <leafValues>
910
+ 1.2511830031871796e-001 -6.5659755468368530e-001</leafValues></_></weakClassifiers></_>
911
+ <!-- stage 16 -->
912
+ <_>
913
+ <maxWeakCount>15</maxWeakCount>
914
+ <stageThreshold>-1.2416906356811523e+000</stageThreshold>
915
+ <weakClassifiers>
916
+ <_>
917
+ <internalNodes>
918
+ 0 -1 2 7.5144092552363873e-003</internalNodes>
919
+ <leafValues>
920
+ -5.9518074989318848e-001 5.3793102502822876e-002</leafValues></_>
921
+ <_>
922
+ <internalNodes>
923
+ 0 -1 98 -6.4494344405829906e-004</internalNodes>
924
+ <leafValues>
925
+ 2.0429474115371704e-001 -4.3661779165267944e-001</leafValues></_>
926
+ <_>
927
+ <internalNodes>
928
+ 0 -1 196 3.3831471228040755e-004</internalNodes>
929
+ <leafValues>
930
+ -2.1566553413867950e-001 4.7118204832077026e-001</leafValues></_>
931
+ <_>
932
+ <internalNodes>
933
+ 0 -1 73 2.8320802375674248e-003</internalNodes>
934
+ <leafValues>
935
+ 1.3322307169437408e-001 -8.3729231357574463e-001</leafValues></_>
936
+ <_>
937
+ <internalNodes>
938
+ 0 -1 199 1.6218879027292132e-003</internalNodes>
939
+ <leafValues>
940
+ -2.0889574289321899e-001 4.7114694118499756e-001</leafValues></_>
941
+ <_>
942
+ <internalNodes>
943
+ 0 -1 10 2.7122153551317751e-004</internalNodes>
944
+ <leafValues>
945
+ 1.1475630849599838e-001 -7.8029519319534302e-001</leafValues></_>
946
+ <_>
947
+ <internalNodes>
948
+ 0 -1 170 8.8358242064714432e-003</internalNodes>
949
+ <leafValues>
950
+ 1.2460929155349731e-001 -7.6791721582412720e-001</leafValues></_>
951
+ <_>
952
+ <internalNodes>
953
+ 0 -1 106 9.7634072881191969e-004</internalNodes>
954
+ <leafValues>
955
+ -2.0806105434894562e-001 5.1318311691284180e-001</leafValues></_>
956
+ <_>
957
+ <internalNodes>
958
+ 0 -1 107 -2.1239042282104492e-002</internalNodes>
959
+ <leafValues>
960
+ -8.7171542644500732e-001 1.2721680104732513e-001</leafValues></_>
961
+ <_>
962
+ <internalNodes>
963
+ 0 -1 97 7.1797124110162258e-004</internalNodes>
964
+ <leafValues>
965
+ -3.0763280391693115e-001 3.7504923343658447e-001</leafValues></_>
966
+ <_>
967
+ <internalNodes>
968
+ 0 -1 32 2.7504155412316322e-002</internalNodes>
969
+ <leafValues>
970
+ 1.5651945769786835e-001 -7.9516488313674927e-001</leafValues></_>
971
+ <_>
972
+ <internalNodes>
973
+ 0 -1 178 1.0624636197462678e-003</internalNodes>
974
+ <leafValues>
975
+ 1.3473348319530487e-001 -6.9174814224243164e-001</leafValues></_>
976
+ <_>
977
+ <internalNodes>
978
+ 0 -1 33 -8.1248432397842407e-002</internalNodes>
979
+ <leafValues>
980
+ -8.5117286443710327e-001 1.0601779073476791e-001</leafValues></_>
981
+ <_>
982
+ <internalNodes>
983
+ 0 -1 140 -2.2936165332794189e-002</internalNodes>
984
+ <leafValues>
985
+ 3.9202499389648438e-001 -2.9867398738861084e-001</leafValues></_>
986
+ <_>
987
+ <internalNodes>
988
+ 0 -1 146 -1.3326616026461124e-003</internalNodes>
989
+ <leafValues>
990
+ 4.7240665555000305e-001 -2.6287403702735901e-001</leafValues></_></weakClassifiers></_>
991
+ <!-- stage 17 -->
992
+ <_>
993
+ <maxWeakCount>13</maxWeakCount>
994
+ <stageThreshold>-1.3383979797363281e+000</stageThreshold>
995
+ <weakClassifiers>
996
+ <_>
997
+ <internalNodes>
998
+ 0 -1 3 3.2254494726657867e-002</internalNodes>
999
+ <leafValues>
1000
+ -6.5151512622833252e-001 7.9947575926780701e-002</leafValues></_>
1001
+ <_>
1002
+ <internalNodes>
1003
+ 0 -1 172 -1.1810796568170190e-003</internalNodes>
1004
+ <leafValues>
1005
+ 2.5173431634902954e-001 -4.5536977052688599e-001</leafValues></_>
1006
+ <_>
1007
+ <internalNodes>
1008
+ 0 -1 88 8.0361258005723357e-004</internalNodes>
1009
+ <leafValues>
1010
+ -2.1178695559501648e-001 4.9318632483482361e-001</leafValues></_>
1011
+ <_>
1012
+ <internalNodes>
1013
+ 0 -1 93 6.6201295703649521e-004</internalNodes>
1014
+ <leafValues>
1015
+ -1.9441033899784088e-001 4.6225026249885559e-001</leafValues></_>
1016
+ <_>
1017
+ <internalNodes>
1018
+ 0 -1 84 3.4565184614621103e-004</internalNodes>
1019
+ <leafValues>
1020
+ -2.1175089478492737e-001 4.6985754370689392e-001</leafValues></_>
1021
+ <_>
1022
+ <internalNodes>
1023
+ 0 -1 132 -5.6433549616485834e-004</internalNodes>
1024
+ <leafValues>
1025
+ -7.9713624715805054e-001 1.8714086711406708e-001</leafValues></_>
1026
+ <_>
1027
+ <internalNodes>
1028
+ 0 -1 56 5.8492692187428474e-004</internalNodes>
1029
+ <leafValues>
1030
+ -3.9330720901489258e-001 2.4242231249809265e-001</leafValues></_>
1031
+ <_>
1032
+ <internalNodes>
1033
+ 0 -1 13 2.5043603032827377e-002</internalNodes>
1034
+ <leafValues>
1035
+ 1.3490234315395355e-001 -7.5923883914947510e-001</leafValues></_>
1036
+ <_>
1037
+ <internalNodes>
1038
+ 0 -1 37 -1.8510785885155201e-003</internalNodes>
1039
+ <leafValues>
1040
+ 4.1279399394989014e-001 -2.7271771430969238e-001</leafValues></_>
1041
+ <_>
1042
+ <internalNodes>
1043
+ 0 -1 68 -2.5741360150277615e-004</internalNodes>
1044
+ <leafValues>
1045
+ -6.3662034273147583e-001 1.8135882914066315e-001</leafValues></_>
1046
+ <_>
1047
+ <internalNodes>
1048
+ 0 -1 184 -1.5121832489967346e-002</internalNodes>
1049
+ <leafValues>
1050
+ 2.5249326229095459e-001 -3.8438034057617188e-001</leafValues></_>
1051
+ <_>
1052
+ <internalNodes>
1053
+ 0 -1 203 -1.5006031841039658e-002</internalNodes>
1054
+ <leafValues>
1055
+ -8.4878319501876831e-001 1.1718367785215378e-001</leafValues></_>
1056
+ <_>
1057
+ <internalNodes>
1058
+ 0 -1 74 4.9880752339959145e-004</internalNodes>
1059
+ <leafValues>
1060
+ -2.6755046844482422e-001 4.5769825577735901e-001</leafValues></_></weakClassifiers></_>
1061
+ <!-- stage 18 -->
1062
+ <_>
1063
+ <maxWeakCount>12</maxWeakCount>
1064
+ <stageThreshold>-1.2097512483596802e+000</stageThreshold>
1065
+ <weakClassifiers>
1066
+ <_>
1067
+ <internalNodes>
1068
+ 0 -1 195 -1.1614991351962090e-002</internalNodes>
1069
+ <leafValues>
1070
+ 1.4465409517288208e-001 -5.9521216154098511e-001</leafValues></_>
1071
+ <_>
1072
+ <internalNodes>
1073
+ 0 -1 75 3.9767110138200223e-004</internalNodes>
1074
+ <leafValues>
1075
+ -4.2697989940643311e-001 2.4382311105728149e-001</leafValues></_>
1076
+ <_>
1077
+ <internalNodes>
1078
+ 0 -1 47 -4.6969857066869736e-002</internalNodes>
1079
+ <leafValues>
1080
+ -9.3969690799713135e-001 1.2196484953165054e-001</leafValues></_>
1081
+ <_>
1082
+ <internalNodes>
1083
+ 0 -1 136 5.5550434626638889e-004</internalNodes>
1084
+ <leafValues>
1085
+ -1.8246935307979584e-001 6.5156191587448120e-001</leafValues></_>
1086
+ <_>
1087
+ <internalNodes>
1088
+ 0 -1 99 2.9468833236023784e-004</internalNodes>
1089
+ <leafValues>
1090
+ 1.5099152922630310e-001 -7.8840750455856323e-001</leafValues></_>
1091
+ <_>
1092
+ <internalNodes>
1093
+ 0 -1 44 1.2439775280654430e-002</internalNodes>
1094
+ <leafValues>
1095
+ 1.4981375634670258e-001 -7.5917595624923706e-001</leafValues></_>
1096
+ <_>
1097
+ <internalNodes>
1098
+ 0 -1 147 6.6337559837847948e-004</internalNodes>
1099
+ <leafValues>
1100
+ -2.5185841321945190e-001 5.9387433528900146e-001</leafValues></_>
1101
+ <_>
1102
+ <internalNodes>
1103
+ 0 -1 148 -6.8454549182206392e-004</internalNodes>
1104
+ <leafValues>
1105
+ 5.1199448108673096e-001 -2.5247576832771301e-001</leafValues></_>
1106
+ <_>
1107
+ <internalNodes>
1108
+ 0 -1 141 1.4808592386543751e-003</internalNodes>
1109
+ <leafValues>
1110
+ 2.2439701855182648e-001 -5.8184891939163208e-001</leafValues></_>
1111
+ <_>
1112
+ <internalNodes>
1113
+ 0 -1 12 6.0307271778583527e-003</internalNodes>
1114
+ <leafValues>
1115
+ -4.3553912639617920e-001 2.8183382749557495e-001</leafValues></_>
1116
+ <_>
1117
+ <internalNodes>
1118
+ 0 -1 78 -1.9170897081494331e-002</internalNodes>
1119
+ <leafValues>
1120
+ -8.5707378387451172e-001 1.4850790798664093e-001</leafValues></_>
1121
+ <_>
1122
+ <internalNodes>
1123
+ 0 -1 122 3.0278289341367781e-004</internalNodes>
1124
+ <leafValues>
1125
+ -3.1547480821609497e-001 4.1798374056816101e-001</leafValues></_></weakClassifiers></_>
1126
+ <!-- stage 19 -->
1127
+ <_>
1128
+ <maxWeakCount>10</maxWeakCount>
1129
+ <stageThreshold>-1.2253109216690063e+000</stageThreshold>
1130
+ <weakClassifiers>
1131
+ <_>
1132
+ <internalNodes>
1133
+ 0 -1 181 4.6847470104694366e-002</internalNodes>
1134
+ <leafValues>
1135
+ -4.9239391088485718e-001 5.2287584543228149e-001</leafValues></_>
1136
+ <_>
1137
+ <internalNodes>
1138
+ 0 -1 118 2.2181579843163490e-003</internalNodes>
1139
+ <leafValues>
1140
+ -4.2569425702095032e-001 3.6892616748809814e-001</leafValues></_>
1141
+ <_>
1142
+ <internalNodes>
1143
+ 0 -1 145 6.1082182219251990e-004</internalNodes>
1144
+ <leafValues>
1145
+ 1.7654621601104736e-001 -8.2656937837600708e-001</leafValues></_>
1146
+ <_>
1147
+ <internalNodes>
1148
+ 0 -1 127 1.7401995137333870e-002</internalNodes>
1149
+ <leafValues>
1150
+ 2.7770876884460449e-001 -5.6393522024154663e-001</leafValues></_>
1151
+ <_>
1152
+ <internalNodes>
1153
+ 0 -1 54 5.2314018830657005e-004</internalNodes>
1154
+ <leafValues>
1155
+ -3.6257097125053406e-001 4.6126455068588257e-001</leafValues></_>
1156
+ <_>
1157
+ <internalNodes>
1158
+ 0 -1 206 2.1581796463578939e-003</internalNodes>
1159
+ <leafValues>
1160
+ 1.9110183417797089e-001 -6.8012320995330811e-001</leafValues></_>
1161
+ <_>
1162
+ <internalNodes>
1163
+ 0 -1 192 -1.3209994649514556e-003</internalNodes>
1164
+ <leafValues>
1165
+ 6.7618584632873535e-001 -2.6087108254432678e-001</leafValues></_>
1166
+ <_>
1167
+ <internalNodes>
1168
+ 0 -1 126 -1.2237254530191422e-002</internalNodes>
1169
+ <leafValues>
1170
+ -5.7184767723083496e-001 3.0778104066848755e-001</leafValues></_>
1171
+ <_>
1172
+ <internalNodes>
1173
+ 0 -1 36 8.7829465046525002e-003</internalNodes>
1174
+ <leafValues>
1175
+ 1.6890920698642731e-001 -7.8835797309875488e-001</leafValues></_>
1176
+ <_>
1177
+ <internalNodes>
1178
+ 0 -1 183 7.5588272884488106e-003</internalNodes>
1179
+ <leafValues>
1180
+ 1.5143942832946777e-001 -8.2572847604751587e-001</leafValues></_></weakClassifiers></_></stages>
1181
+ <features>
1182
+ <_>
1183
+ <rects>
1184
+ <_>
1185
+ 0 0 10 10 -1.</_>
1186
+ <_>
1187
+ 0 0 5 5 2.</_>
1188
+ <_>
1189
+ 5 5 5 5 2.</_></rects>
1190
+ <tilted>0</tilted></_>
1191
+ <_>
1192
+ <rects>
1193
+ <_>
1194
+ 0 0 12 16 -1.</_>
1195
+ <_>
1196
+ 6 0 6 16 2.</_></rects>
1197
+ <tilted>0</tilted></_>
1198
+ <_>
1199
+ <rects>
1200
+ <_>
1201
+ 0 3 10 6 -1.</_>
1202
+ <_>
1203
+ 5 3 5 6 2.</_></rects>
1204
+ <tilted>0</tilted></_>
1205
+ <_>
1206
+ <rects>
1207
+ <_>
1208
+ 0 3 21 16 -1.</_>
1209
+ <_>
1210
+ 7 3 7 16 3.</_></rects>
1211
+ <tilted>0</tilted></_>
1212
+ <_>
1213
+ <rects>
1214
+ <_>
1215
+ 0 4 16 9 -1.</_>
1216
+ <_>
1217
+ 4 4 8 9 2.</_></rects>
1218
+ <tilted>0</tilted></_>
1219
+ <_>
1220
+ <rects>
1221
+ <_>
1222
+ 0 4 10 12 -1.</_>
1223
+ <_>
1224
+ 5 4 5 12 2.</_></rects>
1225
+ <tilted>0</tilted></_>
1226
+ <_>
1227
+ <rects>
1228
+ <_>
1229
+ 0 7 14 7 -1.</_>
1230
+ <_>
1231
+ 7 7 7 7 2.</_></rects>
1232
+ <tilted>0</tilted></_>
1233
+ <_>
1234
+ <rects>
1235
+ <_>
1236
+ 0 9 12 7 -1.</_>
1237
+ <_>
1238
+ 6 9 6 7 2.</_></rects>
1239
+ <tilted>0</tilted></_>
1240
+ <_>
1241
+ <rects>
1242
+ <_>
1243
+ 0 9 60 3 -1.</_>
1244
+ <_>
1245
+ 30 9 30 3 2.</_></rects>
1246
+ <tilted>0</tilted></_>
1247
+ <_>
1248
+ <rects>
1249
+ <_>
1250
+ 0 10 8 3 -1.</_>
1251
+ <_>
1252
+ 4 10 4 3 2.</_></rects>
1253
+ <tilted>0</tilted></_>
1254
+ <_>
1255
+ <rects>
1256
+ <_>
1257
+ 0 11 1 2 -1.</_>
1258
+ <_>
1259
+ 0 12 1 1 2.</_></rects>
1260
+ <tilted>0</tilted></_>
1261
+ <_>
1262
+ <rects>
1263
+ <_>
1264
+ 1 0 51 12 -1.</_>
1265
+ <_>
1266
+ 1 4 51 4 3.</_></rects>
1267
+ <tilted>0</tilted></_>
1268
+ <_>
1269
+ <rects>
1270
+ <_>
1271
+ 1 3 15 7 -1.</_>
1272
+ <_>
1273
+ 6 3 5 7 3.</_></rects>
1274
+ <tilted>0</tilted></_>
1275
+ <_>
1276
+ <rects>
1277
+ <_>
1278
+ 1 7 30 6 -1.</_>
1279
+ <_>
1280
+ 1 7 15 3 2.</_>
1281
+ <_>
1282
+ 16 10 15 3 2.</_></rects>
1283
+ <tilted>0</tilted></_>
1284
+ <_>
1285
+ <rects>
1286
+ <_>
1287
+ 1 12 1 2 -1.</_>
1288
+ <_>
1289
+ 1 13 1 1 2.</_></rects>
1290
+ <tilted>0</tilted></_>
1291
+ <_>
1292
+ <rects>
1293
+ <_>
1294
+ 2 2 18 16 -1.</_>
1295
+ <_>
1296
+ 2 6 18 8 2.</_></rects>
1297
+ <tilted>0</tilted></_>
1298
+ <_>
1299
+ <rects>
1300
+ <_>
1301
+ 2 3 29 4 -1.</_>
1302
+ <_>
1303
+ 2 5 29 2 2.</_></rects>
1304
+ <tilted>0</tilted></_>
1305
+ <_>
1306
+ <rects>
1307
+ <_>
1308
+ 2 9 1 2 -1.</_>
1309
+ <_>
1310
+ 2 10 1 1 2.</_></rects>
1311
+ <tilted>0</tilted></_>
1312
+ <_>
1313
+ <rects>
1314
+ <_>
1315
+ 2 14 40 6 -1.</_>
1316
+ <_>
1317
+ 2 17 40 3 2.</_></rects>
1318
+ <tilted>0</tilted></_>
1319
+ <_>
1320
+ <rects>
1321
+ <_>
1322
+ 3 0 22 6 -1.</_>
1323
+ <_>
1324
+ 3 2 22 2 3.</_></rects>
1325
+ <tilted>0</tilted></_>
1326
+ <_>
1327
+ <rects>
1328
+ <_>
1329
+ 3 2 38 2 -1.</_>
1330
+ <_>
1331
+ 3 2 19 1 2.</_>
1332
+ <_>
1333
+ 22 3 19 1 2.</_></rects>
1334
+ <tilted>0</tilted></_>
1335
+ <_>
1336
+ <rects>
1337
+ <_>
1338
+ 3 4 51 16 -1.</_>
1339
+ <_>
1340
+ 3 8 51 8 2.</_></rects>
1341
+ <tilted>0</tilted></_>
1342
+ <_>
1343
+ <rects>
1344
+ <_>
1345
+ 3 7 3 8 -1.</_>
1346
+ <_>
1347
+ 4 7 1 8 3.</_></rects>
1348
+ <tilted>0</tilted></_>
1349
+ <_>
1350
+ <rects>
1351
+ <_>
1352
+ 3 9 1 3 -1.</_>
1353
+ <_>
1354
+ 3 10 1 1 3.</_></rects>
1355
+ <tilted>0</tilted></_>
1356
+ <_>
1357
+ <rects>
1358
+ <_>
1359
+ 4 8 3 5 -1.</_>
1360
+ <_>
1361
+ 5 8 1 5 3.</_></rects>
1362
+ <tilted>0</tilted></_>
1363
+ <_>
1364
+ <rects>
1365
+ <_>
1366
+ 4 8 4 9 -1.</_>
1367
+ <_>
1368
+ 5 8 2 9 2.</_></rects>
1369
+ <tilted>0</tilted></_>
1370
+ <_>
1371
+ <rects>
1372
+ <_>
1373
+ 4 11 36 9 -1.</_>
1374
+ <_>
1375
+ 16 11 12 9 3.</_></rects>
1376
+ <tilted>0</tilted></_>
1377
+ <_>
1378
+ <rects>
1379
+ <_>
1380
+ 4 14 49 6 -1.</_>
1381
+ <_>
1382
+ 4 17 49 3 2.</_></rects>
1383
+ <tilted>0</tilted></_>
1384
+ <_>
1385
+ <rects>
1386
+ <_>
1387
+ 5 0 17 6 -1.</_>
1388
+ <_>
1389
+ 5 2 17 2 3.</_></rects>
1390
+ <tilted>0</tilted></_>
1391
+ <_>
1392
+ <rects>
1393
+ <_>
1394
+ 5 1 3 1 -1.</_>
1395
+ <_>
1396
+ 6 1 1 1 3.</_></rects>
1397
+ <tilted>0</tilted></_>
1398
+ <_>
1399
+ <rects>
1400
+ <_>
1401
+ 5 1 8 2 -1.</_>
1402
+ <_>
1403
+ 7 1 4 2 2.</_></rects>
1404
+ <tilted>0</tilted></_>
1405
+ <_>
1406
+ <rects>
1407
+ <_>
1408
+ 5 2 36 9 -1.</_>
1409
+ <_>
1410
+ 17 2 12 9 3.</_></rects>
1411
+ <tilted>0</tilted></_>
1412
+ <_>
1413
+ <rects>
1414
+ <_>
1415
+ 5 3 33 17 -1.</_>
1416
+ <_>
1417
+ 16 3 11 17 3.</_></rects>
1418
+ <tilted>0</tilted></_>
1419
+ <_>
1420
+ <rects>
1421
+ <_>
1422
+ 6 0 30 19 -1.</_>
1423
+ <_>
1424
+ 16 0 10 19 3.</_></rects>
1425
+ <tilted>0</tilted></_>
1426
+ <_>
1427
+ <rects>
1428
+ <_>
1429
+ 6 3 29 4 -1.</_>
1430
+ <_>
1431
+ 6 5 29 2 2.</_></rects>
1432
+ <tilted>0</tilted></_>
1433
+ <_>
1434
+ <rects>
1435
+ <_>
1436
+ 6 4 16 16 -1.</_>
1437
+ <_>
1438
+ 14 4 8 16 2.</_></rects>
1439
+ <tilted>0</tilted></_>
1440
+ <_>
1441
+ <rects>
1442
+ <_>
1443
+ 6 9 54 1 -1.</_>
1444
+ <_>
1445
+ 33 9 27 1 2.</_></rects>
1446
+ <tilted>0</tilted></_>
1447
+ <_>
1448
+ <rects>
1449
+ <_>
1450
+ 7 0 4 18 -1.</_>
1451
+ <_>
1452
+ 8 0 2 18 2.</_></rects>
1453
+ <tilted>0</tilted></_>
1454
+ <_>
1455
+ <rects>
1456
+ <_>
1457
+ 7 3 12 15 -1.</_>
1458
+ <_>
1459
+ 13 3 6 15 2.</_></rects>
1460
+ <tilted>0</tilted></_>
1461
+ <_>
1462
+ <rects>
1463
+ <_>
1464
+ 7 4 20 5 -1.</_>
1465
+ <_>
1466
+ 12 4 10 5 2.</_></rects>
1467
+ <tilted>0</tilted></_>
1468
+ <_>
1469
+ <rects>
1470
+ <_>
1471
+ 7 4 6 3 -1.</_>
1472
+ <_>
1473
+ 7 5 6 1 3.</_></rects>
1474
+ <tilted>0</tilted></_>
1475
+ <_>
1476
+ <rects>
1477
+ <_>
1478
+ 7 4 36 6 -1.</_>
1479
+ <_>
1480
+ 19 4 12 6 3.</_></rects>
1481
+ <tilted>0</tilted></_>
1482
+ <_>
1483
+ <rects>
1484
+ <_>
1485
+ 7 5 28 4 -1.</_>
1486
+ <_>
1487
+ 14 5 14 4 2.</_></rects>
1488
+ <tilted>0</tilted></_>
1489
+ <_>
1490
+ <rects>
1491
+ <_>
1492
+ 7 7 4 11 -1.</_>
1493
+ <_>
1494
+ 8 7 2 11 2.</_></rects>
1495
+ <tilted>0</tilted></_>
1496
+ <_>
1497
+ <rects>
1498
+ <_>
1499
+ 7 9 12 7 -1.</_>
1500
+ <_>
1501
+ 13 9 6 7 2.</_></rects>
1502
+ <tilted>0</tilted></_>
1503
+ <_>
1504
+ <rects>
1505
+ <_>
1506
+ 8 1 21 4 -1.</_>
1507
+ <_>
1508
+ 8 3 21 2 2.</_></rects>
1509
+ <tilted>0</tilted></_>
1510
+ <_>
1511
+ <rects>
1512
+ <_>
1513
+ 8 4 28 6 -1.</_>
1514
+ <_>
1515
+ 15 4 14 6 2.</_></rects>
1516
+ <tilted>0</tilted></_>
1517
+ <_>
1518
+ <rects>
1519
+ <_>
1520
+ 8 8 38 6 -1.</_>
1521
+ <_>
1522
+ 8 10 38 2 3.</_></rects>
1523
+ <tilted>0</tilted></_>
1524
+ <_>
1525
+ <rects>
1526
+ <_>
1527
+ 8 14 25 4 -1.</_>
1528
+ <_>
1529
+ 8 15 25 2 2.</_></rects>
1530
+ <tilted>0</tilted></_>
1531
+ <_>
1532
+ <rects>
1533
+ <_>
1534
+ 9 2 12 4 -1.</_>
1535
+ <_>
1536
+ 12 2 6 4 2.</_></rects>
1537
+ <tilted>0</tilted></_>
1538
+ <_>
1539
+ <rects>
1540
+ <_>
1541
+ 9 5 24 3 -1.</_>
1542
+ <_>
1543
+ 15 5 12 3 2.</_></rects>
1544
+ <tilted>0</tilted></_>
1545
+ <_>
1546
+ <rects>
1547
+ <_>
1548
+ 9 8 40 12 -1.</_>
1549
+ <_>
1550
+ 9 12 40 4 3.</_></rects>
1551
+ <tilted>0</tilted></_>
1552
+ <_>
1553
+ <rects>
1554
+ <_>
1555
+ 10 2 8 2 -1.</_>
1556
+ <_>
1557
+ 12 2 4 2 2.</_></rects>
1558
+ <tilted>0</tilted></_>
1559
+ <_>
1560
+ <rects>
1561
+ <_>
1562
+ 10 2 9 2 -1.</_>
1563
+ <_>
1564
+ 13 2 3 2 3.</_></rects>
1565
+ <tilted>0</tilted></_>
1566
+ <_>
1567
+ <rects>
1568
+ <_>
1569
+ 10 5 3 3 -1.</_>
1570
+ <_>
1571
+ 11 6 1 1 9.</_></rects>
1572
+ <tilted>0</tilted></_>
1573
+ <_>
1574
+ <rects>
1575
+ <_>
1576
+ 11 0 32 20 -1.</_>
1577
+ <_>
1578
+ 19 0 16 20 2.</_></rects>
1579
+ <tilted>0</tilted></_>
1580
+ <_>
1581
+ <rects>
1582
+ <_>
1583
+ 11 3 1 4 -1.</_>
1584
+ <_>
1585
+ 11 5 1 2 2.</_></rects>
1586
+ <tilted>0</tilted></_>
1587
+ <_>
1588
+ <rects>
1589
+ <_>
1590
+ 11 9 4 3 -1.</_>
1591
+ <_>
1592
+ 12 9 2 3 2.</_></rects>
1593
+ <tilted>0</tilted></_>
1594
+ <_>
1595
+ <rects>
1596
+ <_>
1597
+ 11 9 3 7 -1.</_>
1598
+ <_>
1599
+ 12 9 1 7 3.</_></rects>
1600
+ <tilted>0</tilted></_>
1601
+ <_>
1602
+ <rects>
1603
+ <_>
1604
+ 12 3 9 2 -1.</_>
1605
+ <_>
1606
+ 15 3 3 2 3.</_></rects>
1607
+ <tilted>0</tilted></_>
1608
+ <_>
1609
+ <rects>
1610
+ <_>
1611
+ 12 6 6 6 -1.</_>
1612
+ <_>
1613
+ 14 6 2 6 3.</_></rects>
1614
+ <tilted>0</tilted></_>
1615
+ <_>
1616
+ <rects>
1617
+ <_>
1618
+ 12 10 42 10 -1.</_>
1619
+ <_>
1620
+ 26 10 14 10 3.</_></rects>
1621
+ <tilted>0</tilted></_>
1622
+ <_>
1623
+ <rects>
1624
+ <_>
1625
+ 12 14 11 3 -1.</_>
1626
+ <_>
1627
+ 12 15 11 1 3.</_></rects>
1628
+ <tilted>0</tilted></_>
1629
+ <_>
1630
+ <rects>
1631
+ <_>
1632
+ 13 4 6 14 -1.</_>
1633
+ <_>
1634
+ 15 4 2 14 3.</_></rects>
1635
+ <tilted>0</tilted></_>
1636
+ <_>
1637
+ <rects>
1638
+ <_>
1639
+ 13 8 3 6 -1.</_>
1640
+ <_>
1641
+ 14 8 1 6 3.</_></rects>
1642
+ <tilted>0</tilted></_>
1643
+ <_>
1644
+ <rects>
1645
+ <_>
1646
+ 13 11 32 2 -1.</_>
1647
+ <_>
1648
+ 21 11 16 2 2.</_></rects>
1649
+ <tilted>0</tilted></_>
1650
+ <_>
1651
+ <rects>
1652
+ <_>
1653
+ 13 13 25 6 -1.</_>
1654
+ <_>
1655
+ 13 16 25 3 2.</_></rects>
1656
+ <tilted>0</tilted></_>
1657
+ <_>
1658
+ <rects>
1659
+ <_>
1660
+ 13 16 21 3 -1.</_>
1661
+ <_>
1662
+ 20 16 7 3 3.</_></rects>
1663
+ <tilted>0</tilted></_>
1664
+ <_>
1665
+ <rects>
1666
+ <_>
1667
+ 14 2 3 2 -1.</_>
1668
+ <_>
1669
+ 15 2 1 2 3.</_></rects>
1670
+ <tilted>0</tilted></_>
1671
+ <_>
1672
+ <rects>
1673
+ <_>
1674
+ 14 2 24 8 -1.</_>
1675
+ <_>
1676
+ 20 2 12 8 2.</_></rects>
1677
+ <tilted>0</tilted></_>
1678
+ <_>
1679
+ <rects>
1680
+ <_>
1681
+ 14 13 36 6 -1.</_>
1682
+ <_>
1683
+ 23 13 18 6 2.</_></rects>
1684
+ <tilted>0</tilted></_>
1685
+ <_>
1686
+ <rects>
1687
+ <_>
1688
+ 14 14 8 3 -1.</_>
1689
+ <_>
1690
+ 14 15 8 1 3.</_></rects>
1691
+ <tilted>0</tilted></_>
1692
+ <_>
1693
+ <rects>
1694
+ <_>
1695
+ 14 14 45 6 -1.</_>
1696
+ <_>
1697
+ 14 17 45 3 2.</_></rects>
1698
+ <tilted>0</tilted></_>
1699
+ <_>
1700
+ <rects>
1701
+ <_>
1702
+ 14 18 9 2 -1.</_>
1703
+ <_>
1704
+ 17 18 3 2 3.</_></rects>
1705
+ <tilted>0</tilted></_>
1706
+ <_>
1707
+ <rects>
1708
+ <_>
1709
+ 15 9 4 1 -1.</_>
1710
+ <_>
1711
+ 16 9 2 1 2.</_></rects>
1712
+ <tilted>0</tilted></_>
1713
+ <_>
1714
+ <rects>
1715
+ <_>
1716
+ 15 10 19 4 -1.</_>
1717
+ <_>
1718
+ 15 12 19 2 2.</_></rects>
1719
+ <tilted>0</tilted></_>
1720
+ <_>
1721
+ <rects>
1722
+ <_>
1723
+ 16 0 28 8 -1.</_>
1724
+ <_>
1725
+ 16 2 28 4 2.</_></rects>
1726
+ <tilted>0</tilted></_>
1727
+ <_>
1728
+ <rects>
1729
+ <_>
1730
+ 16 2 36 18 -1.</_>
1731
+ <_>
1732
+ 28 2 12 18 3.</_></rects>
1733
+ <tilted>0</tilted></_>
1734
+ <_>
1735
+ <rects>
1736
+ <_>
1737
+ 16 6 24 6 -1.</_>
1738
+ <_>
1739
+ 22 6 12 6 2.</_></rects>
1740
+ <tilted>0</tilted></_>
1741
+ <_>
1742
+ <rects>
1743
+ <_>
1744
+ 17 1 24 6 -1.</_>
1745
+ <_>
1746
+ 17 3 24 2 3.</_></rects>
1747
+ <tilted>0</tilted></_>
1748
+ <_>
1749
+ <rects>
1750
+ <_>
1751
+ 17 3 15 12 -1.</_>
1752
+ <_>
1753
+ 22 7 5 4 9.</_></rects>
1754
+ <tilted>0</tilted></_>
1755
+ <_>
1756
+ <rects>
1757
+ <_>
1758
+ 17 15 11 3 -1.</_>
1759
+ <_>
1760
+ 17 16 11 1 3.</_></rects>
1761
+ <tilted>0</tilted></_>
1762
+ <_>
1763
+ <rects>
1764
+ <_>
1765
+ 18 5 6 10 -1.</_>
1766
+ <_>
1767
+ 20 5 2 10 3.</_></rects>
1768
+ <tilted>0</tilted></_>
1769
+ <_>
1770
+ <rects>
1771
+ <_>
1772
+ 18 6 18 3 -1.</_>
1773
+ <_>
1774
+ 24 6 6 3 3.</_></rects>
1775
+ <tilted>0</tilted></_>
1776
+ <_>
1777
+ <rects>
1778
+ <_>
1779
+ 18 11 3 1 -1.</_>
1780
+ <_>
1781
+ 19 11 1 1 3.</_></rects>
1782
+ <tilted>0</tilted></_>
1783
+ <_>
1784
+ <rects>
1785
+ <_>
1786
+ 19 6 32 2 -1.</_>
1787
+ <_>
1788
+ 27 6 16 2 2.</_></rects>
1789
+ <tilted>0</tilted></_>
1790
+ <_>
1791
+ <rects>
1792
+ <_>
1793
+ 19 8 3 1 -1.</_>
1794
+ <_>
1795
+ 20 8 1 1 3.</_></rects>
1796
+ <tilted>0</tilted></_>
1797
+ <_>
1798
+ <rects>
1799
+ <_>
1800
+ 19 9 14 11 -1.</_>
1801
+ <_>
1802
+ 26 9 7 11 2.</_></rects>
1803
+ <tilted>0</tilted></_>
1804
+ <_>
1805
+ <rects>
1806
+ <_>
1807
+ 19 10 3 3 -1.</_>
1808
+ <_>
1809
+ 20 10 1 3 3.</_></rects>
1810
+ <tilted>0</tilted></_>
1811
+ <_>
1812
+ <rects>
1813
+ <_>
1814
+ 19 13 7 3 -1.</_>
1815
+ <_>
1816
+ 19 14 7 1 3.</_></rects>
1817
+ <tilted>0</tilted></_>
1818
+ <_>
1819
+ <rects>
1820
+ <_>
1821
+ 19 14 13 3 -1.</_>
1822
+ <_>
1823
+ 19 15 13 1 3.</_></rects>
1824
+ <tilted>0</tilted></_>
1825
+ <_>
1826
+ <rects>
1827
+ <_>
1828
+ 20 0 15 20 -1.</_>
1829
+ <_>
1830
+ 25 0 5 20 3.</_></rects>
1831
+ <tilted>0</tilted></_>
1832
+ <_>
1833
+ <rects>
1834
+ <_>
1835
+ 20 9 3 1 -1.</_>
1836
+ <_>
1837
+ 21 9 1 1 3.</_></rects>
1838
+ <tilted>0</tilted></_>
1839
+ <_>
1840
+ <rects>
1841
+ <_>
1842
+ 20 10 3 2 -1.</_>
1843
+ <_>
1844
+ 21 10 1 2 3.</_></rects>
1845
+ <tilted>0</tilted></_>
1846
+ <_>
1847
+ <rects>
1848
+ <_>
1849
+ 21 1 21 6 -1.</_>
1850
+ <_>
1851
+ 21 3 21 2 3.</_></rects>
1852
+ <tilted>0</tilted></_>
1853
+ <_>
1854
+ <rects>
1855
+ <_>
1856
+ 21 8 4 3 -1.</_>
1857
+ <_>
1858
+ 22 8 2 3 2.</_></rects>
1859
+ <tilted>0</tilted></_>
1860
+ <_>
1861
+ <rects>
1862
+ <_>
1863
+ 21 9 3 4 -1.</_>
1864
+ <_>
1865
+ 22 9 1 4 3.</_></rects>
1866
+ <tilted>0</tilted></_>
1867
+ <_>
1868
+ <rects>
1869
+ <_>
1870
+ 21 10 4 2 -1.</_>
1871
+ <_>
1872
+ 22 10 2 2 2.</_></rects>
1873
+ <tilted>0</tilted></_>
1874
+ <_>
1875
+ <rects>
1876
+ <_>
1877
+ 21 11 24 2 -1.</_>
1878
+ <_>
1879
+ 27 11 12 2 2.</_></rects>
1880
+ <tilted>0</tilted></_>
1881
+ <_>
1882
+ <rects>
1883
+ <_>
1884
+ 21 18 4 1 -1.</_>
1885
+ <_>
1886
+ 22 18 2 1 2.</_></rects>
1887
+ <tilted>0</tilted></_>
1888
+ <_>
1889
+ <rects>
1890
+ <_>
1891
+ 22 3 4 1 -1.</_>
1892
+ <_>
1893
+ 23 3 2 1 2.</_></rects>
1894
+ <tilted>0</tilted></_>
1895
+ <_>
1896
+ <rects>
1897
+ <_>
1898
+ 22 6 2 6 -1.</_>
1899
+ <_>
1900
+ 22 6 1 3 2.</_>
1901
+ <_>
1902
+ 23 9 1 3 2.</_></rects>
1903
+ <tilted>0</tilted></_>
1904
+ <_>
1905
+ <rects>
1906
+ <_>
1907
+ 22 7 3 3 -1.</_>
1908
+ <_>
1909
+ 23 8 1 1 9.</_></rects>
1910
+ <tilted>0</tilted></_>
1911
+ <_>
1912
+ <rects>
1913
+ <_>
1914
+ 22 8 3 5 -1.</_>
1915
+ <_>
1916
+ 23 8 1 5 3.</_></rects>
1917
+ <tilted>0</tilted></_>
1918
+ <_>
1919
+ <rects>
1920
+ <_>
1921
+ 22 9 3 2 -1.</_>
1922
+ <_>
1923
+ 23 9 1 2 3.</_></rects>
1924
+ <tilted>0</tilted></_>
1925
+ <_>
1926
+ <rects>
1927
+ <_>
1928
+ 23 8 3 3 -1.</_>
1929
+ <_>
1930
+ 24 8 1 3 3.</_></rects>
1931
+ <tilted>0</tilted></_>
1932
+ <_>
1933
+ <rects>
1934
+ <_>
1935
+ 23 10 3 2 -1.</_>
1936
+ <_>
1937
+ 24 10 1 2 3.</_></rects>
1938
+ <tilted>0</tilted></_>
1939
+ <_>
1940
+ <rects>
1941
+ <_>
1942
+ 24 3 20 17 -1.</_>
1943
+ <_>
1944
+ 29 3 10 17 2.</_></rects>
1945
+ <tilted>0</tilted></_>
1946
+ <_>
1947
+ <rects>
1948
+ <_>
1949
+ 24 4 14 6 -1.</_>
1950
+ <_>
1951
+ 31 4 7 6 2.</_></rects>
1952
+ <tilted>0</tilted></_>
1953
+ <_>
1954
+ <rects>
1955
+ <_>
1956
+ 24 18 9 2 -1.</_>
1957
+ <_>
1958
+ 27 18 3 2 3.</_></rects>
1959
+ <tilted>0</tilted></_>
1960
+ <_>
1961
+ <rects>
1962
+ <_>
1963
+ 25 5 8 4 -1.</_>
1964
+ <_>
1965
+ 25 5 4 4 2.</_></rects>
1966
+ <tilted>1</tilted></_>
1967
+ <_>
1968
+ <rects>
1969
+ <_>
1970
+ 25 6 22 14 -1.</_>
1971
+ <_>
1972
+ 36 6 11 14 2.</_></rects>
1973
+ <tilted>0</tilted></_>
1974
+ <_>
1975
+ <rects>
1976
+ <_>
1977
+ 25 12 28 8 -1.</_>
1978
+ <_>
1979
+ 25 14 28 4 2.</_></rects>
1980
+ <tilted>0</tilted></_>
1981
+ <_>
1982
+ <rects>
1983
+ <_>
1984
+ 25 14 9 3 -1.</_>
1985
+ <_>
1986
+ 25 15 9 1 3.</_></rects>
1987
+ <tilted>0</tilted></_>
1988
+ <_>
1989
+ <rects>
1990
+ <_>
1991
+ 26 2 27 18 -1.</_>
1992
+ <_>
1993
+ 35 2 9 18 3.</_></rects>
1994
+ <tilted>0</tilted></_>
1995
+ <_>
1996
+ <rects>
1997
+ <_>
1998
+ 26 3 22 3 -1.</_>
1999
+ <_>
2000
+ 26 4 22 1 3.</_></rects>
2001
+ <tilted>0</tilted></_>
2002
+ <_>
2003
+ <rects>
2004
+ <_>
2005
+ 26 4 8 4 -1.</_>
2006
+ <_>
2007
+ 30 4 4 4 2.</_></rects>
2008
+ <tilted>0</tilted></_>
2009
+ <_>
2010
+ <rects>
2011
+ <_>
2012
+ 26 4 20 6 -1.</_>
2013
+ <_>
2014
+ 31 4 10 6 2.</_></rects>
2015
+ <tilted>0</tilted></_>
2016
+ <_>
2017
+ <rects>
2018
+ <_>
2019
+ 26 7 1 12 -1.</_>
2020
+ <_>
2021
+ 22 11 1 4 3.</_></rects>
2022
+ <tilted>1</tilted></_>
2023
+ <_>
2024
+ <rects>
2025
+ <_>
2026
+ 26 9 3 3 -1.</_>
2027
+ <_>
2028
+ 27 9 1 3 3.</_></rects>
2029
+ <tilted>0</tilted></_>
2030
+ <_>
2031
+ <rects>
2032
+ <_>
2033
+ 26 13 9 3 -1.</_>
2034
+ <_>
2035
+ 26 14 9 1 3.</_></rects>
2036
+ <tilted>0</tilted></_>
2037
+ <_>
2038
+ <rects>
2039
+ <_>
2040
+ 27 3 15 6 -1.</_>
2041
+ <_>
2042
+ 32 3 5 6 3.</_></rects>
2043
+ <tilted>0</tilted></_>
2044
+ <_>
2045
+ <rects>
2046
+ <_>
2047
+ 27 9 3 1 -1.</_>
2048
+ <_>
2049
+ 28 9 1 1 3.</_></rects>
2050
+ <tilted>0</tilted></_>
2051
+ <_>
2052
+ <rects>
2053
+ <_>
2054
+ 27 9 3 2 -1.</_>
2055
+ <_>
2056
+ 28 9 1 2 3.</_></rects>
2057
+ <tilted>0</tilted></_>
2058
+ <_>
2059
+ <rects>
2060
+ <_>
2061
+ 27 10 3 3 -1.</_>
2062
+ <_>
2063
+ 28 10 1 3 3.</_></rects>
2064
+ <tilted>0</tilted></_>
2065
+ <_>
2066
+ <rects>
2067
+ <_>
2068
+ 27 11 3 2 -1.</_>
2069
+ <_>
2070
+ 28 11 1 2 3.</_></rects>
2071
+ <tilted>0</tilted></_>
2072
+ <_>
2073
+ <rects>
2074
+ <_>
2075
+ 28 2 10 4 -1.</_>
2076
+ <_>
2077
+ 28 2 10 2 2.</_></rects>
2078
+ <tilted>1</tilted></_>
2079
+ <_>
2080
+ <rects>
2081
+ <_>
2082
+ 28 8 32 6 -1.</_>
2083
+ <_>
2084
+ 28 10 32 2 3.</_></rects>
2085
+ <tilted>0</tilted></_>
2086
+ <_>
2087
+ <rects>
2088
+ <_>
2089
+ 28 10 3 1 -1.</_>
2090
+ <_>
2091
+ 29 10 1 1 3.</_></rects>
2092
+ <tilted>0</tilted></_>
2093
+ <_>
2094
+ <rects>
2095
+ <_>
2096
+ 28 11 3 1 -1.</_>
2097
+ <_>
2098
+ 29 11 1 1 3.</_></rects>
2099
+ <tilted>0</tilted></_>
2100
+ <_>
2101
+ <rects>
2102
+ <_>
2103
+ 28 15 5 4 -1.</_>
2104
+ <_>
2105
+ 28 16 5 2 2.</_></rects>
2106
+ <tilted>0</tilted></_>
2107
+ <_>
2108
+ <rects>
2109
+ <_>
2110
+ 28 16 23 4 -1.</_>
2111
+ <_>
2112
+ 28 17 23 2 2.</_></rects>
2113
+ <tilted>0</tilted></_>
2114
+ <_>
2115
+ <rects>
2116
+ <_>
2117
+ 28 19 6 1 -1.</_>
2118
+ <_>
2119
+ 30 19 2 1 3.</_></rects>
2120
+ <tilted>0</tilted></_>
2121
+ <_>
2122
+ <rects>
2123
+ <_>
2124
+ 29 3 9 4 -1.</_>
2125
+ <_>
2126
+ 32 3 3 4 3.</_></rects>
2127
+ <tilted>0</tilted></_>
2128
+ <_>
2129
+ <rects>
2130
+ <_>
2131
+ 29 5 9 1 -1.</_>
2132
+ <_>
2133
+ 32 5 3 1 3.</_></rects>
2134
+ <tilted>0</tilted></_>
2135
+ <_>
2136
+ <rects>
2137
+ <_>
2138
+ 29 8 3 6 -1.</_>
2139
+ <_>
2140
+ 30 8 1 6 3.</_></rects>
2141
+ <tilted>0</tilted></_>
2142
+ <_>
2143
+ <rects>
2144
+ <_>
2145
+ 29 9 3 1 -1.</_>
2146
+ <_>
2147
+ 30 9 1 1 3.</_></rects>
2148
+ <tilted>0</tilted></_>
2149
+ <_>
2150
+ <rects>
2151
+ <_>
2152
+ 29 11 10 4 -1.</_>
2153
+ <_>
2154
+ 29 13 10 2 2.</_></rects>
2155
+ <tilted>0</tilted></_>
2156
+ <_>
2157
+ <rects>
2158
+ <_>
2159
+ 29 11 26 8 -1.</_>
2160
+ <_>
2161
+ 29 13 26 4 2.</_></rects>
2162
+ <tilted>0</tilted></_>
2163
+ <_>
2164
+ <rects>
2165
+ <_>
2166
+ 30 0 16 6 -1.</_>
2167
+ <_>
2168
+ 30 3 16 3 2.</_></rects>
2169
+ <tilted>0</tilted></_>
2170
+ <_>
2171
+ <rects>
2172
+ <_>
2173
+ 30 2 30 6 -1.</_>
2174
+ <_>
2175
+ 30 2 15 3 2.</_>
2176
+ <_>
2177
+ 45 5 15 3 2.</_></rects>
2178
+ <tilted>0</tilted></_>
2179
+ <_>
2180
+ <rects>
2181
+ <_>
2182
+ 30 3 9 4 -1.</_>
2183
+ <_>
2184
+ 33 3 3 4 3.</_></rects>
2185
+ <tilted>0</tilted></_>
2186
+ <_>
2187
+ <rects>
2188
+ <_>
2189
+ 30 5 9 4 -1.</_>
2190
+ <_>
2191
+ 30 6 9 2 2.</_></rects>
2192
+ <tilted>0</tilted></_>
2193
+ <_>
2194
+ <rects>
2195
+ <_>
2196
+ 30 10 3 2 -1.</_>
2197
+ <_>
2198
+ 31 10 1 2 3.</_></rects>
2199
+ <tilted>0</tilted></_>
2200
+ <_>
2201
+ <rects>
2202
+ <_>
2203
+ 30 14 18 6 -1.</_>
2204
+ <_>
2205
+ 36 14 6 6 3.</_></rects>
2206
+ <tilted>0</tilted></_>
2207
+ <_>
2208
+ <rects>
2209
+ <_>
2210
+ 31 3 4 3 -1.</_>
2211
+ <_>
2212
+ 32 3 2 3 2.</_></rects>
2213
+ <tilted>0</tilted></_>
2214
+ <_>
2215
+ <rects>
2216
+ <_>
2217
+ 31 7 4 9 -1.</_>
2218
+ <_>
2219
+ 32 7 2 9 2.</_></rects>
2220
+ <tilted>0</tilted></_>
2221
+ <_>
2222
+ <rects>
2223
+ <_>
2224
+ 31 11 3 2 -1.</_>
2225
+ <_>
2226
+ 32 11 1 2 3.</_></rects>
2227
+ <tilted>0</tilted></_>
2228
+ <_>
2229
+ <rects>
2230
+ <_>
2231
+ 31 11 3 3 -1.</_>
2232
+ <_>
2233
+ 32 11 1 3 3.</_></rects>
2234
+ <tilted>0</tilted></_>
2235
+ <_>
2236
+ <rects>
2237
+ <_>
2238
+ 32 4 3 2 -1.</_>
2239
+ <_>
2240
+ 33 4 1 2 3.</_></rects>
2241
+ <tilted>0</tilted></_>
2242
+ <_>
2243
+ <rects>
2244
+ <_>
2245
+ 32 6 18 6 -1.</_>
2246
+ <_>
2247
+ 32 6 9 3 2.</_>
2248
+ <_>
2249
+ 41 9 9 3 2.</_></rects>
2250
+ <tilted>0</tilted></_>
2251
+ <_>
2252
+ <rects>
2253
+ <_>
2254
+ 33 1 22 6 -1.</_>
2255
+ <_>
2256
+ 33 4 22 3 2.</_></rects>
2257
+ <tilted>0</tilted></_>
2258
+ <_>
2259
+ <rects>
2260
+ <_>
2261
+ 33 3 4 2 -1.</_>
2262
+ <_>
2263
+ 34 3 2 2 2.</_></rects>
2264
+ <tilted>0</tilted></_>
2265
+ <_>
2266
+ <rects>
2267
+ <_>
2268
+ 33 3 4 4 -1.</_>
2269
+ <_>
2270
+ 34 3 2 4 2.</_></rects>
2271
+ <tilted>0</tilted></_>
2272
+ <_>
2273
+ <rects>
2274
+ <_>
2275
+ 33 5 4 1 -1.</_>
2276
+ <_>
2277
+ 34 5 2 1 2.</_></rects>
2278
+ <tilted>0</tilted></_>
2279
+ <_>
2280
+ <rects>
2281
+ <_>
2282
+ 33 9 3 6 -1.</_>
2283
+ <_>
2284
+ 34 9 1 6 3.</_></rects>
2285
+ <tilted>0</tilted></_>
2286
+ <_>
2287
+ <rects>
2288
+ <_>
2289
+ 33 10 3 3 -1.</_>
2290
+ <_>
2291
+ 34 10 1 3 3.</_></rects>
2292
+ <tilted>0</tilted></_>
2293
+ <_>
2294
+ <rects>
2295
+ <_>
2296
+ 34 8 4 7 -1.</_>
2297
+ <_>
2298
+ 35 8 2 7 2.</_></rects>
2299
+ <tilted>0</tilted></_>
2300
+ <_>
2301
+ <rects>
2302
+ <_>
2303
+ 34 9 3 5 -1.</_>
2304
+ <_>
2305
+ 35 9 1 5 3.</_></rects>
2306
+ <tilted>0</tilted></_>
2307
+ <_>
2308
+ <rects>
2309
+ <_>
2310
+ 34 18 9 2 -1.</_>
2311
+ <_>
2312
+ 37 18 3 2 3.</_></rects>
2313
+ <tilted>0</tilted></_>
2314
+ <_>
2315
+ <rects>
2316
+ <_>
2317
+ 35 0 8 6 -1.</_>
2318
+ <_>
2319
+ 37 0 4 6 2.</_></rects>
2320
+ <tilted>0</tilted></_>
2321
+ <_>
2322
+ <rects>
2323
+ <_>
2324
+ 35 9 3 2 -1.</_>
2325
+ <_>
2326
+ 36 9 1 2 3.</_></rects>
2327
+ <tilted>0</tilted></_>
2328
+ <_>
2329
+ <rects>
2330
+ <_>
2331
+ 36 9 24 9 -1.</_>
2332
+ <_>
2333
+ 42 9 12 9 2.</_></rects>
2334
+ <tilted>0</tilted></_>
2335
+ <_>
2336
+ <rects>
2337
+ <_>
2338
+ 37 1 16 18 -1.</_>
2339
+ <_>
2340
+ 41 1 8 18 2.</_></rects>
2341
+ <tilted>0</tilted></_>
2342
+ <_>
2343
+ <rects>
2344
+ <_>
2345
+ 37 11 20 8 -1.</_>
2346
+ <_>
2347
+ 42 11 10 8 2.</_></rects>
2348
+ <tilted>0</tilted></_>
2349
+ <_>
2350
+ <rects>
2351
+ <_>
2352
+ 38 8 15 12 -1.</_>
2353
+ <_>
2354
+ 38 12 15 4 3.</_></rects>
2355
+ <tilted>0</tilted></_>
2356
+ <_>
2357
+ <rects>
2358
+ <_>
2359
+ 39 6 12 8 -1.</_>
2360
+ <_>
2361
+ 45 6 6 8 2.</_></rects>
2362
+ <tilted>0</tilted></_>
2363
+ <_>
2364
+ <rects>
2365
+ <_>
2366
+ 40 8 8 4 -1.</_>
2367
+ <_>
2368
+ 40 8 8 2 2.</_></rects>
2369
+ <tilted>1</tilted></_>
2370
+ <_>
2371
+ <rects>
2372
+ <_>
2373
+ 40 10 3 1 -1.</_>
2374
+ <_>
2375
+ 41 10 1 1 3.</_></rects>
2376
+ <tilted>0</tilted></_>
2377
+ <_>
2378
+ <rects>
2379
+ <_>
2380
+ 40 10 3 5 -1.</_>
2381
+ <_>
2382
+ 41 10 1 5 3.</_></rects>
2383
+ <tilted>0</tilted></_>
2384
+ <_>
2385
+ <rects>
2386
+ <_>
2387
+ 40 13 12 6 -1.</_>
2388
+ <_>
2389
+ 43 13 6 6 2.</_></rects>
2390
+ <tilted>0</tilted></_>
2391
+ <_>
2392
+ <rects>
2393
+ <_>
2394
+ 41 5 7 15 -1.</_>
2395
+ <_>
2396
+ 41 10 7 5 3.</_></rects>
2397
+ <tilted>0</tilted></_>
2398
+ <_>
2399
+ <rects>
2400
+ <_>
2401
+ 41 6 12 6 -1.</_>
2402
+ <_>
2403
+ 45 6 4 6 3.</_></rects>
2404
+ <tilted>0</tilted></_>
2405
+ <_>
2406
+ <rects>
2407
+ <_>
2408
+ 41 7 12 7 -1.</_>
2409
+ <_>
2410
+ 45 7 4 7 3.</_></rects>
2411
+ <tilted>0</tilted></_>
2412
+ <_>
2413
+ <rects>
2414
+ <_>
2415
+ 41 8 12 12 -1.</_>
2416
+ <_>
2417
+ 45 8 4 12 3.</_></rects>
2418
+ <tilted>0</tilted></_>
2419
+ <_>
2420
+ <rects>
2421
+ <_>
2422
+ 41 9 3 6 -1.</_>
2423
+ <_>
2424
+ 42 9 1 6 3.</_></rects>
2425
+ <tilted>0</tilted></_>
2426
+ <_>
2427
+ <rects>
2428
+ <_>
2429
+ 42 2 3 13 -1.</_>
2430
+ <_>
2431
+ 43 2 1 13 3.</_></rects>
2432
+ <tilted>0</tilted></_>
2433
+ <_>
2434
+ <rects>
2435
+ <_>
2436
+ 42 4 18 10 -1.</_>
2437
+ <_>
2438
+ 42 4 9 5 2.</_>
2439
+ <_>
2440
+ 51 9 9 5 2.</_></rects>
2441
+ <tilted>0</tilted></_>
2442
+ <_>
2443
+ <rects>
2444
+ <_>
2445
+ 42 5 18 8 -1.</_>
2446
+ <_>
2447
+ 42 5 9 4 2.</_>
2448
+ <_>
2449
+ 51 9 9 4 2.</_></rects>
2450
+ <tilted>0</tilted></_>
2451
+ <_>
2452
+ <rects>
2453
+ <_>
2454
+ 42 7 2 7 -1.</_>
2455
+ <_>
2456
+ 43 7 1 7 2.</_></rects>
2457
+ <tilted>0</tilted></_>
2458
+ <_>
2459
+ <rects>
2460
+ <_>
2461
+ 42 14 12 5 -1.</_>
2462
+ <_>
2463
+ 46 14 4 5 3.</_></rects>
2464
+ <tilted>0</tilted></_>
2465
+ <_>
2466
+ <rects>
2467
+ <_>
2468
+ 43 1 10 9 -1.</_>
2469
+ <_>
2470
+ 40 4 10 3 3.</_></rects>
2471
+ <tilted>1</tilted></_>
2472
+ <_>
2473
+ <rects>
2474
+ <_>
2475
+ 43 6 6 6 -1.</_>
2476
+ <_>
2477
+ 43 9 6 3 2.</_></rects>
2478
+ <tilted>0</tilted></_>
2479
+ <_>
2480
+ <rects>
2481
+ <_>
2482
+ 44 0 8 20 -1.</_>
2483
+ <_>
2484
+ 46 0 4 20 2.</_></rects>
2485
+ <tilted>0</tilted></_>
2486
+ <_>
2487
+ <rects>
2488
+ <_>
2489
+ 44 2 16 12 -1.</_>
2490
+ <_>
2491
+ 44 2 8 6 2.</_>
2492
+ <_>
2493
+ 52 8 8 6 2.</_></rects>
2494
+ <tilted>0</tilted></_>
2495
+ <_>
2496
+ <rects>
2497
+ <_>
2498
+ 44 5 3 8 -1.</_>
2499
+ <_>
2500
+ 45 5 1 8 3.</_></rects>
2501
+ <tilted>0</tilted></_>
2502
+ <_>
2503
+ <rects>
2504
+ <_>
2505
+ 44 8 3 4 -1.</_>
2506
+ <_>
2507
+ 45 8 1 4 3.</_></rects>
2508
+ <tilted>0</tilted></_>
2509
+ <_>
2510
+ <rects>
2511
+ <_>
2512
+ 44 12 16 4 -1.</_>
2513
+ <_>
2514
+ 52 12 8 4 2.</_></rects>
2515
+ <tilted>0</tilted></_>
2516
+ <_>
2517
+ <rects>
2518
+ <_>
2519
+ 44 13 10 3 -1.</_>
2520
+ <_>
2521
+ 49 13 5 3 2.</_></rects>
2522
+ <tilted>0</tilted></_>
2523
+ <_>
2524
+ <rects>
2525
+ <_>
2526
+ 45 19 9 1 -1.</_>
2527
+ <_>
2528
+ 48 19 3 1 3.</_></rects>
2529
+ <tilted>0</tilted></_>
2530
+ <_>
2531
+ <rects>
2532
+ <_>
2533
+ 46 3 8 8 -1.</_>
2534
+ <_>
2535
+ 50 3 4 8 2.</_></rects>
2536
+ <tilted>0</tilted></_>
2537
+ <_>
2538
+ <rects>
2539
+ <_>
2540
+ 47 12 10 6 -1.</_>
2541
+ <_>
2542
+ 52 12 5 6 2.</_></rects>
2543
+ <tilted>0</tilted></_>
2544
+ <_>
2545
+ <rects>
2546
+ <_>
2547
+ 48 0 4 13 -1.</_>
2548
+ <_>
2549
+ 49 0 2 13 2.</_></rects>
2550
+ <tilted>0</tilted></_>
2551
+ <_>
2552
+ <rects>
2553
+ <_>
2554
+ 48 5 3 12 -1.</_>
2555
+ <_>
2556
+ 45 8 3 6 2.</_></rects>
2557
+ <tilted>1</tilted></_>
2558
+ <_>
2559
+ <rects>
2560
+ <_>
2561
+ 48 9 12 8 -1.</_>
2562
+ <_>
2563
+ 54 9 6 8 2.</_></rects>
2564
+ <tilted>0</tilted></_>
2565
+ <_>
2566
+ <rects>
2567
+ <_>
2568
+ 48 13 12 4 -1.</_>
2569
+ <_>
2570
+ 54 13 6 4 2.</_></rects>
2571
+ <tilted>0</tilted></_>
2572
+ <_>
2573
+ <rects>
2574
+ <_>
2575
+ 49 8 3 1 -1.</_>
2576
+ <_>
2577
+ 50 8 1 1 3.</_></rects>
2578
+ <tilted>0</tilted></_>
2579
+ <_>
2580
+ <rects>
2581
+ <_>
2582
+ 49 8 3 2 -1.</_>
2583
+ <_>
2584
+ 50 8 1 2 3.</_></rects>
2585
+ <tilted>0</tilted></_>
2586
+ <_>
2587
+ <rects>
2588
+ <_>
2589
+ 49 8 3 3 -1.</_>
2590
+ <_>
2591
+ 50 8 1 3 3.</_></rects>
2592
+ <tilted>0</tilted></_>
2593
+ <_>
2594
+ <rects>
2595
+ <_>
2596
+ 50 9 3 3 -1.</_>
2597
+ <_>
2598
+ 51 10 1 1 9.</_></rects>
2599
+ <tilted>0</tilted></_>
2600
+ <_>
2601
+ <rects>
2602
+ <_>
2603
+ 51 8 3 3 -1.</_>
2604
+ <_>
2605
+ 52 8 1 3 3.</_></rects>
2606
+ <tilted>0</tilted></_>
2607
+ <_>
2608
+ <rects>
2609
+ <_>
2610
+ 52 6 6 10 -1.</_>
2611
+ <_>
2612
+ 54 6 2 10 3.</_></rects>
2613
+ <tilted>0</tilted></_>
2614
+ <_>
2615
+ <rects>
2616
+ <_>
2617
+ 52 7 8 7 -1.</_>
2618
+ <_>
2619
+ 56 7 4 7 2.</_></rects>
2620
+ <tilted>0</tilted></_>
2621
+ <_>
2622
+ <rects>
2623
+ <_>
2624
+ 52 8 8 4 -1.</_>
2625
+ <_>
2626
+ 52 8 8 2 2.</_></rects>
2627
+ <tilted>1</tilted></_>
2628
+ <_>
2629
+ <rects>
2630
+ <_>
2631
+ 54 3 6 15 -1.</_>
2632
+ <_>
2633
+ 57 3 3 15 2.</_></rects>
2634
+ <tilted>0</tilted></_>
2635
+ <_>
2636
+ <rects>
2637
+ <_>
2638
+ 54 8 6 7 -1.</_>
2639
+ <_>
2640
+ 57 8 3 7 2.</_></rects>
2641
+ <tilted>0</tilted></_>
2642
+ <_>
2643
+ <rects>
2644
+ <_>
2645
+ 57 11 3 6 -1.</_>
2646
+ <_>
2647
+ 57 13 3 2 3.</_></rects>
2648
+ <tilted>0</tilted></_>
2649
+ <_>
2650
+ <rects>
2651
+ <_>
2652
+ 59 8 1 3 -1.</_>
2653
+ <_>
2654
+ 59 9 1 1 3.</_></rects>
2655
+ <tilted>0</tilted></_></features></cascade>
2656
+ </opencv_storage>
.venv/lib/python3.11/site-packages/cv2/data/haarcascade_upperbody.xml ADDED
The diff for this file is too large to render. See raw diff
 
.venv/lib/python3.11/site-packages/cv2/detail/__init__.pyi ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.gapi
5
+ import cv2.gapi.ie
6
+ import cv2.gapi.onnx
7
+ import cv2.gapi.ov
8
+ import cv2.typing
9
+ import numpy
10
+ import typing as _typing
11
+
12
+
13
+ # Enumerations
14
+ TEST_CUSTOM: int
15
+ TEST_EQ: int
16
+ TEST_NE: int
17
+ TEST_LE: int
18
+ TEST_LT: int
19
+ TEST_GE: int
20
+ TEST_GT: int
21
+ TestOp = int
22
+ """One of [TEST_CUSTOM, TEST_EQ, TEST_NE, TEST_LE, TEST_LT, TEST_GE, TEST_GT]"""
23
+
24
+ WAVE_CORRECT_HORIZ: int
25
+ WAVE_CORRECT_VERT: int
26
+ WAVE_CORRECT_AUTO: int
27
+ WaveCorrectKind = int
28
+ """One of [WAVE_CORRECT_HORIZ, WAVE_CORRECT_VERT, WAVE_CORRECT_AUTO]"""
29
+
30
+ OpaqueKind_CV_UNKNOWN: int
31
+ OPAQUE_KIND_CV_UNKNOWN: int
32
+ OpaqueKind_CV_BOOL: int
33
+ OPAQUE_KIND_CV_BOOL: int
34
+ OpaqueKind_CV_INT: int
35
+ OPAQUE_KIND_CV_INT: int
36
+ OpaqueKind_CV_INT64: int
37
+ OPAQUE_KIND_CV_INT64: int
38
+ OpaqueKind_CV_DOUBLE: int
39
+ OPAQUE_KIND_CV_DOUBLE: int
40
+ OpaqueKind_CV_FLOAT: int
41
+ OPAQUE_KIND_CV_FLOAT: int
42
+ OpaqueKind_CV_UINT64: int
43
+ OPAQUE_KIND_CV_UINT64: int
44
+ OpaqueKind_CV_STRING: int
45
+ OPAQUE_KIND_CV_STRING: int
46
+ OpaqueKind_CV_POINT: int
47
+ OPAQUE_KIND_CV_POINT: int
48
+ OpaqueKind_CV_POINT2F: int
49
+ OPAQUE_KIND_CV_POINT2F: int
50
+ OpaqueKind_CV_POINT3F: int
51
+ OPAQUE_KIND_CV_POINT3F: int
52
+ OpaqueKind_CV_SIZE: int
53
+ OPAQUE_KIND_CV_SIZE: int
54
+ OpaqueKind_CV_RECT: int
55
+ OPAQUE_KIND_CV_RECT: int
56
+ OpaqueKind_CV_SCALAR: int
57
+ OPAQUE_KIND_CV_SCALAR: int
58
+ OpaqueKind_CV_MAT: int
59
+ OPAQUE_KIND_CV_MAT: int
60
+ OpaqueKind_CV_DRAW_PRIM: int
61
+ OPAQUE_KIND_CV_DRAW_PRIM: int
62
+ OpaqueKind = int
63
+ """One of [OpaqueKind_CV_UNKNOWN, OPAQUE_KIND_CV_UNKNOWN, OpaqueKind_CV_BOOL, OPAQUE_KIND_CV_BOOL, OpaqueKind_CV_INT, OPAQUE_KIND_CV_INT, OpaqueKind_CV_INT64, OPAQUE_KIND_CV_INT64, OpaqueKind_CV_DOUBLE, OPAQUE_KIND_CV_DOUBLE, OpaqueKind_CV_FLOAT, OPAQUE_KIND_CV_FLOAT, OpaqueKind_CV_UINT64, OPAQUE_KIND_CV_UINT64, OpaqueKind_CV_STRING, OPAQUE_KIND_CV_STRING, OpaqueKind_CV_POINT, OPAQUE_KIND_CV_POINT, OpaqueKind_CV_POINT2F, OPAQUE_KIND_CV_POINT2F, OpaqueKind_CV_POINT3F, OPAQUE_KIND_CV_POINT3F, OpaqueKind_CV_SIZE, OPAQUE_KIND_CV_SIZE, OpaqueKind_CV_RECT, OPAQUE_KIND_CV_RECT, OpaqueKind_CV_SCALAR, OPAQUE_KIND_CV_SCALAR, OpaqueKind_CV_MAT, OPAQUE_KIND_CV_MAT, OpaqueKind_CV_DRAW_PRIM, OPAQUE_KIND_CV_DRAW_PRIM]"""
64
+
65
+ ArgKind_OPAQUE_VAL: int
66
+ ARG_KIND_OPAQUE_VAL: int
67
+ ArgKind_OPAQUE: int
68
+ ARG_KIND_OPAQUE: int
69
+ ArgKind_GOBJREF: int
70
+ ARG_KIND_GOBJREF: int
71
+ ArgKind_GMAT: int
72
+ ARG_KIND_GMAT: int
73
+ ArgKind_GMATP: int
74
+ ARG_KIND_GMATP: int
75
+ ArgKind_GFRAME: int
76
+ ARG_KIND_GFRAME: int
77
+ ArgKind_GSCALAR: int
78
+ ARG_KIND_GSCALAR: int
79
+ ArgKind_GARRAY: int
80
+ ARG_KIND_GARRAY: int
81
+ ArgKind_GOPAQUE: int
82
+ ARG_KIND_GOPAQUE: int
83
+ ArgKind = int
84
+ """One of [ArgKind_OPAQUE_VAL, ARG_KIND_OPAQUE_VAL, ArgKind_OPAQUE, ARG_KIND_OPAQUE, ArgKind_GOBJREF, ARG_KIND_GOBJREF, ArgKind_GMAT, ARG_KIND_GMAT, ArgKind_GMATP, ARG_KIND_GMATP, ArgKind_GFRAME, ARG_KIND_GFRAME, ArgKind_GSCALAR, ARG_KIND_GSCALAR, ArgKind_GARRAY, ARG_KIND_GARRAY, ArgKind_GOPAQUE, ARG_KIND_GOPAQUE]"""
85
+
86
+
87
+ Blender_NO: int
88
+ BLENDER_NO: int
89
+ Blender_FEATHER: int
90
+ BLENDER_FEATHER: int
91
+ Blender_MULTI_BAND: int
92
+ BLENDER_MULTI_BAND: int
93
+
94
+ ExposureCompensator_NO: int
95
+ EXPOSURE_COMPENSATOR_NO: int
96
+ ExposureCompensator_GAIN: int
97
+ EXPOSURE_COMPENSATOR_GAIN: int
98
+ ExposureCompensator_GAIN_BLOCKS: int
99
+ EXPOSURE_COMPENSATOR_GAIN_BLOCKS: int
100
+ ExposureCompensator_CHANNELS: int
101
+ EXPOSURE_COMPENSATOR_CHANNELS: int
102
+ ExposureCompensator_CHANNELS_BLOCKS: int
103
+ EXPOSURE_COMPENSATOR_CHANNELS_BLOCKS: int
104
+
105
+ SeamFinder_NO: int
106
+ SEAM_FINDER_NO: int
107
+ SeamFinder_VORONOI_SEAM: int
108
+ SEAM_FINDER_VORONOI_SEAM: int
109
+ SeamFinder_DP_SEAM: int
110
+ SEAM_FINDER_DP_SEAM: int
111
+
112
+ DpSeamFinder_COLOR: int
113
+ DP_SEAM_FINDER_COLOR: int
114
+ DpSeamFinder_COLOR_GRAD: int
115
+ DP_SEAM_FINDER_COLOR_GRAD: int
116
+ DpSeamFinder_CostFunction = int
117
+ """One of [DpSeamFinder_COLOR, DP_SEAM_FINDER_COLOR, DpSeamFinder_COLOR_GRAD, DP_SEAM_FINDER_COLOR_GRAD]"""
118
+
119
+ Timelapser_AS_IS: int
120
+ TIMELAPSER_AS_IS: int
121
+ Timelapser_CROP: int
122
+ TIMELAPSER_CROP: int
123
+
124
+ GraphCutSeamFinderBase_COST_COLOR: int
125
+ GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR: int
126
+ GraphCutSeamFinderBase_COST_COLOR_GRAD: int
127
+ GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR_GRAD: int
128
+ GraphCutSeamFinderBase_CostType = int
129
+ """One of [GraphCutSeamFinderBase_COST_COLOR, GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR, GraphCutSeamFinderBase_COST_COLOR_GRAD, GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR_GRAD]"""
130
+
131
+ TrackerSamplerCSC_MODE_INIT_POS: int
132
+ TRACKER_SAMPLER_CSC_MODE_INIT_POS: int
133
+ TrackerSamplerCSC_MODE_INIT_NEG: int
134
+ TRACKER_SAMPLER_CSC_MODE_INIT_NEG: int
135
+ TrackerSamplerCSC_MODE_TRACK_POS: int
136
+ TRACKER_SAMPLER_CSC_MODE_TRACK_POS: int
137
+ TrackerSamplerCSC_MODE_TRACK_NEG: int
138
+ TRACKER_SAMPLER_CSC_MODE_TRACK_NEG: int
139
+ TrackerSamplerCSC_MODE_DETECT: int
140
+ TRACKER_SAMPLER_CSC_MODE_DETECT: int
141
+ TrackerSamplerCSC_MODE = int
142
+ """One of [TrackerSamplerCSC_MODE_INIT_POS, TRACKER_SAMPLER_CSC_MODE_INIT_POS, TrackerSamplerCSC_MODE_INIT_NEG, TRACKER_SAMPLER_CSC_MODE_INIT_NEG, TrackerSamplerCSC_MODE_TRACK_POS, TRACKER_SAMPLER_CSC_MODE_TRACK_POS, TrackerSamplerCSC_MODE_TRACK_NEG, TRACKER_SAMPLER_CSC_MODE_TRACK_NEG, TrackerSamplerCSC_MODE_DETECT, TRACKER_SAMPLER_CSC_MODE_DETECT]"""
143
+
144
+
145
+ # Classes
146
+ class Blender:
147
+ # Functions
148
+ @classmethod
149
+ def createDefault(cls, type: int, try_gpu: bool = ...) -> Blender: ...
150
+
151
+ @_typing.overload
152
+ def prepare(self, corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> None: ...
153
+ @_typing.overload
154
+ def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
155
+
156
+ @_typing.overload
157
+ def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
158
+ @_typing.overload
159
+ def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
160
+
161
+ @_typing.overload
162
+ def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
163
+ @_typing.overload
164
+ def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
165
+
166
+
167
+ class FeatherBlender(Blender):
168
+ # Functions
169
+ def __init__(self, sharpness: float = ...) -> None: ...
170
+
171
+ def sharpness(self) -> float: ...
172
+
173
+ def setSharpness(self, val: float) -> None: ...
174
+
175
+ def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
176
+
177
+ @_typing.overload
178
+ def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
179
+ @_typing.overload
180
+ def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
181
+
182
+ @_typing.overload
183
+ def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
184
+ @_typing.overload
185
+ def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
186
+
187
+ def createWeightMaps(self, masks: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], weight_maps: _typing.Sequence[cv2.UMat]) -> tuple[cv2.typing.Rect, _typing.Sequence[cv2.UMat]]: ...
188
+
189
+
190
+ class MultiBandBlender(Blender):
191
+ # Functions
192
+ def __init__(self, try_gpu: int = ..., num_bands: int = ..., weight_type: int = ...) -> None: ...
193
+
194
+ def numBands(self) -> int: ...
195
+
196
+ def setNumBands(self, val: int) -> None: ...
197
+
198
+ def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
199
+
200
+ @_typing.overload
201
+ def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
202
+ @_typing.overload
203
+ def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
204
+
205
+ @_typing.overload
206
+ def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
207
+ @_typing.overload
208
+ def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
209
+
210
+
211
+ class CameraParams:
212
+ focal: float
213
+ aspect: float
214
+ ppx: float
215
+ ppy: float
216
+ R: cv2.typing.MatLike
217
+ t: cv2.typing.MatLike
218
+
219
+ # Functions
220
+ def K(self) -> cv2.typing.MatLike: ...
221
+
222
+
223
+ class ExposureCompensator:
224
+ # Functions
225
+ @classmethod
226
+ def createDefault(cls, type: int) -> ExposureCompensator: ...
227
+
228
+ def feed(self, corners: _typing.Sequence[cv2.typing.Point], images: _typing.Sequence[cv2.UMat], masks: _typing.Sequence[cv2.UMat]) -> None: ...
229
+
230
+ @_typing.overload
231
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
232
+ @_typing.overload
233
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
234
+
235
+ def getMatGains(self, arg1: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
236
+
237
+ def setMatGains(self, arg1: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
238
+
239
+ def setUpdateGain(self, b: bool) -> None: ...
240
+
241
+ def getUpdateGain(self) -> bool: ...
242
+
243
+
244
+ class NoExposureCompensator(ExposureCompensator):
245
+ # Functions
246
+ @_typing.overload
247
+ def apply(self, arg1: int, arg2: cv2.typing.Point, arg3: cv2.typing.MatLike, arg4: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
248
+ @_typing.overload
249
+ def apply(self, arg1: int, arg2: cv2.typing.Point, arg3: cv2.UMat, arg4: cv2.UMat) -> cv2.UMat: ...
250
+
251
+ def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
252
+
253
+ def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
254
+
255
+
256
+ class GainCompensator(ExposureCompensator):
257
+ # Functions
258
+ @_typing.overload
259
+ def __init__(self) -> None: ...
260
+ @_typing.overload
261
+ def __init__(self, nr_feeds: int) -> None: ...
262
+
263
+ @_typing.overload
264
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
265
+ @_typing.overload
266
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
267
+
268
+ def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
269
+
270
+ def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
271
+
272
+ def setNrFeeds(self, nr_feeds: int) -> None: ...
273
+
274
+ def getNrFeeds(self) -> int: ...
275
+
276
+ def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
277
+
278
+ def getSimilarityThreshold(self) -> float: ...
279
+
280
+
281
+ class ChannelsCompensator(ExposureCompensator):
282
+ # Functions
283
+ def __init__(self, nr_feeds: int = ...) -> None: ...
284
+
285
+ @_typing.overload
286
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
287
+ @_typing.overload
288
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
289
+
290
+ def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
291
+
292
+ def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
293
+
294
+ def setNrFeeds(self, nr_feeds: int) -> None: ...
295
+
296
+ def getNrFeeds(self) -> int: ...
297
+
298
+ def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
299
+
300
+ def getSimilarityThreshold(self) -> float: ...
301
+
302
+
303
+ class BlocksCompensator(ExposureCompensator):
304
+ # Functions
305
+ @_typing.overload
306
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
307
+ @_typing.overload
308
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
309
+
310
+ def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
311
+
312
+ def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
313
+
314
+ def setNrFeeds(self, nr_feeds: int) -> None: ...
315
+
316
+ def getNrFeeds(self) -> int: ...
317
+
318
+ def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
319
+
320
+ def getSimilarityThreshold(self) -> float: ...
321
+
322
+ @_typing.overload
323
+ def setBlockSize(self, width: int, height: int) -> None: ...
324
+ @_typing.overload
325
+ def setBlockSize(self, size: cv2.typing.Size) -> None: ...
326
+
327
+ def getBlockSize(self) -> cv2.typing.Size: ...
328
+
329
+ def setNrGainsFilteringIterations(self, nr_iterations: int) -> None: ...
330
+
331
+ def getNrGainsFilteringIterations(self) -> int: ...
332
+
333
+
334
+ class BlocksGainCompensator(BlocksCompensator):
335
+ # Functions
336
+ @_typing.overload
337
+ def __init__(self, bl_width: int = ..., bl_height: int = ...) -> None: ...
338
+ @_typing.overload
339
+ def __init__(self, bl_width: int, bl_height: int, nr_feeds: int) -> None: ...
340
+
341
+ @_typing.overload
342
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
343
+ @_typing.overload
344
+ def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
345
+
346
+ def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
347
+
348
+ def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
349
+
350
+
351
+ class BlocksChannelsCompensator(BlocksCompensator):
352
+ # Functions
353
+ def __init__(self, bl_width: int = ..., bl_height: int = ..., nr_feeds: int = ...) -> None: ...
354
+
355
+
356
+ class ImageFeatures:
357
+ img_idx: int
358
+ img_size: cv2.typing.Size
359
+ keypoints: _typing.Sequence[cv2.KeyPoint]
360
+ descriptors: cv2.UMat
361
+
362
+ # Functions
363
+ def getKeypoints(self) -> _typing.Sequence[cv2.KeyPoint]: ...
364
+
365
+
366
+ class MatchesInfo:
367
+ src_img_idx: int
368
+ dst_img_idx: int
369
+ matches: _typing.Sequence[cv2.DMatch]
370
+ inliers_mask: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]
371
+ num_inliers: int
372
+ H: cv2.typing.MatLike
373
+ confidence: float
374
+
375
+ # Functions
376
+ def getMatches(self) -> _typing.Sequence[cv2.DMatch]: ...
377
+
378
+ def getInliers(self) -> numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]: ...
379
+
380
+
381
+ class FeaturesMatcher:
382
+ # Functions
383
+ def apply(self, features1: ImageFeatures, features2: ImageFeatures) -> MatchesInfo: ...
384
+
385
+ def apply2(self, features: _typing.Sequence[ImageFeatures], mask: cv2.UMat | None = ...) -> _typing.Sequence[MatchesInfo]: ...
386
+
387
+ def isThreadSafe(self) -> bool: ...
388
+
389
+ def collectGarbage(self) -> None: ...
390
+
391
+
392
+ class BestOf2NearestMatcher(FeaturesMatcher):
393
+ # Functions
394
+ def __init__(self, try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ..., matches_confindece_thresh: float = ...) -> None: ...
395
+
396
+ def collectGarbage(self) -> None: ...
397
+
398
+ @classmethod
399
+ def create(cls, try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ..., matches_confindece_thresh: float = ...) -> BestOf2NearestMatcher: ...
400
+
401
+
402
+ class BestOf2NearestRangeMatcher(BestOf2NearestMatcher):
403
+ # Functions
404
+ def __init__(self, range_width: int = ..., try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ...) -> None: ...
405
+
406
+
407
+ class AffineBestOf2NearestMatcher(BestOf2NearestMatcher):
408
+ # Functions
409
+ def __init__(self, full_affine: bool = ..., try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ...) -> None: ...
410
+
411
+
412
+ class Estimator:
413
+ # Functions
414
+ def apply(self, features: _typing.Sequence[ImageFeatures], pairwise_matches: _typing.Sequence[MatchesInfo], cameras: _typing.Sequence[CameraParams]) -> tuple[bool, _typing.Sequence[CameraParams]]: ...
415
+
416
+
417
+ class HomographyBasedEstimator(Estimator):
418
+ # Functions
419
+ def __init__(self, is_focals_estimated: bool = ...) -> None: ...
420
+
421
+
422
+ class AffineBasedEstimator(Estimator):
423
+ # Functions
424
+ def __init__(self) -> None: ...
425
+
426
+
427
+ class BundleAdjusterBase(Estimator):
428
+ # Functions
429
+ def refinementMask(self) -> cv2.typing.MatLike: ...
430
+
431
+ def setRefinementMask(self, mask: cv2.typing.MatLike) -> None: ...
432
+
433
+ def confThresh(self) -> float: ...
434
+
435
+ def setConfThresh(self, conf_thresh: float) -> None: ...
436
+
437
+ def termCriteria(self) -> cv2.typing.TermCriteria: ...
438
+
439
+ def setTermCriteria(self, term_criteria: cv2.typing.TermCriteria) -> None: ...
440
+
441
+
442
+ class NoBundleAdjuster(BundleAdjusterBase):
443
+ # Functions
444
+ def __init__(self) -> None: ...
445
+
446
+
447
+ class BundleAdjusterReproj(BundleAdjusterBase):
448
+ # Functions
449
+ def __init__(self) -> None: ...
450
+
451
+
452
+ class BundleAdjusterRay(BundleAdjusterBase):
453
+ # Functions
454
+ def __init__(self) -> None: ...
455
+
456
+
457
+ class BundleAdjusterAffine(BundleAdjusterBase):
458
+ # Functions
459
+ def __init__(self) -> None: ...
460
+
461
+
462
+ class BundleAdjusterAffinePartial(BundleAdjusterBase):
463
+ # Functions
464
+ def __init__(self) -> None: ...
465
+
466
+
467
+ class SeamFinder:
468
+ # Functions
469
+ def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
470
+
471
+ @classmethod
472
+ def createDefault(cls, type: int) -> SeamFinder: ...
473
+
474
+
475
+ class NoSeamFinder(SeamFinder):
476
+ # Functions
477
+ def find(self, arg1: _typing.Sequence[cv2.UMat], arg2: _typing.Sequence[cv2.typing.Point], arg3: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
478
+
479
+
480
+ class PairwiseSeamFinder(SeamFinder):
481
+ # Functions
482
+ def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
483
+
484
+
485
+ class VoronoiSeamFinder(PairwiseSeamFinder):
486
+ # Functions
487
+ def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
488
+
489
+
490
+ class DpSeamFinder(SeamFinder):
491
+ # Functions
492
+ def __init__(self, costFunc: str) -> None: ...
493
+
494
+ def setCostFunction(self, val: str) -> None: ...
495
+
496
+
497
+ class GraphCutSeamFinder:
498
+ # Functions
499
+ def __init__(self, cost_type: str, terminal_cost: float = ..., bad_region_penalty: float = ...) -> None: ...
500
+
501
+ def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
502
+
503
+
504
+ class Timelapser:
505
+ # Functions
506
+ @classmethod
507
+ def createDefault(cls, type: int) -> Timelapser: ...
508
+
509
+ def initialize(self, corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> None: ...
510
+
511
+ @_typing.overload
512
+ def process(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
513
+ @_typing.overload
514
+ def process(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
515
+
516
+ def getDst(self) -> cv2.UMat: ...
517
+
518
+
519
+ class TimelapserCrop(Timelapser):
520
+ ...
521
+
522
+ class ProjectorBase:
523
+ ...
524
+
525
+ class SphericalProjector(ProjectorBase):
526
+ # Functions
527
+ def mapForward(self, x: float, y: float, u: float, v: float) -> None: ...
528
+
529
+ def mapBackward(self, u: float, v: float, x: float, y: float) -> None: ...
530
+
531
+
532
+
533
+ # Functions
534
+ def calibrateRotatingCamera(Hs: _typing.Sequence[cv2.typing.MatLike], K: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.typing.MatLike]: ...
535
+
536
+ @_typing.overload
537
+ def computeImageFeatures(featuresFinder: cv2.Feature2D, images: _typing.Sequence[cv2.typing.MatLike], masks: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[ImageFeatures]: ...
538
+ @_typing.overload
539
+ def computeImageFeatures(featuresFinder: cv2.Feature2D, images: _typing.Sequence[cv2.UMat], masks: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[ImageFeatures]: ...
540
+
541
+ @_typing.overload
542
+ def computeImageFeatures2(featuresFinder: cv2.Feature2D, image: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ...) -> ImageFeatures: ...
543
+ @_typing.overload
544
+ def computeImageFeatures2(featuresFinder: cv2.Feature2D, image: cv2.UMat, mask: cv2.UMat | None = ...) -> ImageFeatures: ...
545
+
546
+ @_typing.overload
547
+ def createLaplacePyr(img: cv2.typing.MatLike, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
548
+ @_typing.overload
549
+ def createLaplacePyr(img: cv2.UMat, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
550
+
551
+ @_typing.overload
552
+ def createLaplacePyrGpu(img: cv2.typing.MatLike, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
553
+ @_typing.overload
554
+ def createLaplacePyrGpu(img: cv2.UMat, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
555
+
556
+ @_typing.overload
557
+ def createWeightMap(mask: cv2.typing.MatLike, sharpness: float, weight: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
558
+ @_typing.overload
559
+ def createWeightMap(mask: cv2.UMat, sharpness: float, weight: cv2.UMat) -> cv2.UMat: ...
560
+
561
+ def focalsFromHomography(H: cv2.typing.MatLike, f0: float, f1: float, f0_ok: bool, f1_ok: bool) -> None: ...
562
+
563
+ def leaveBiggestComponent(features: _typing.Sequence[ImageFeatures], pairwise_matches: _typing.Sequence[MatchesInfo], conf_threshold: float) -> _typing.Sequence[int]: ...
564
+
565
+ def matchesGraphAsString(paths: _typing.Sequence[str], pairwise_matches: _typing.Sequence[MatchesInfo], conf_threshold: float) -> str: ...
566
+
567
+ @_typing.overload
568
+ def normalizeUsingWeightMap(weight: cv2.typing.MatLike, src: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
569
+ @_typing.overload
570
+ def normalizeUsingWeightMap(weight: cv2.UMat, src: cv2.UMat) -> cv2.UMat: ...
571
+
572
+ def overlapRoi(tl1: cv2.typing.Point, tl2: cv2.typing.Point, sz1: cv2.typing.Size, sz2: cv2.typing.Size, roi: cv2.typing.Rect) -> bool: ...
573
+
574
+ def restoreImageFromLaplacePyr(pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
575
+
576
+ def restoreImageFromLaplacePyrGpu(pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
577
+
578
+ @_typing.overload
579
+ def resultRoi(corners: _typing.Sequence[cv2.typing.Point], images: _typing.Sequence[cv2.UMat]) -> cv2.typing.Rect: ...
580
+ @_typing.overload
581
+ def resultRoi(corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> cv2.typing.Rect: ...
582
+
583
+ def resultRoiIntersection(corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> cv2.typing.Rect: ...
584
+
585
+ def resultTl(corners: _typing.Sequence[cv2.typing.Point]) -> cv2.typing.Point: ...
586
+
587
+ def selectRandomSubset(count: int, size: int, subset: _typing.Sequence[int]) -> None: ...
588
+
589
+ def stitchingLogLevel() -> int: ...
590
+
591
+ @_typing.overload
592
+ def strip(params: cv2.gapi.ie.PyParams) -> cv2.gapi.GNetParam: ...
593
+ @_typing.overload
594
+ def strip(params: cv2.gapi.onnx.PyParams) -> cv2.gapi.GNetParam: ...
595
+ @_typing.overload
596
+ def strip(params: cv2.gapi.ov.PyParams) -> cv2.gapi.GNetParam: ...
597
+
598
+ def waveCorrect(rmats: _typing.Sequence[cv2.typing.MatLike], kind: WaveCorrectKind) -> _typing.Sequence[cv2.typing.MatLike]: ...
599
+
600
+
.venv/lib/python3.11/site-packages/cv2/dnn/__init__.pyi ADDED
@@ -0,0 +1,534 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import numpy
6
+ import sys
7
+ import typing as _typing
8
+ if sys.version_info >= (3, 8):
9
+ from typing import Protocol
10
+ else:
11
+ from typing_extensions import Protocol
12
+
13
+
14
+ # Enumerations
15
+ DNN_BACKEND_DEFAULT: int
16
+ DNN_BACKEND_HALIDE: int
17
+ DNN_BACKEND_INFERENCE_ENGINE: int
18
+ DNN_BACKEND_OPENCV: int
19
+ DNN_BACKEND_VKCOM: int
20
+ DNN_BACKEND_CUDA: int
21
+ DNN_BACKEND_WEBNN: int
22
+ DNN_BACKEND_TIMVX: int
23
+ DNN_BACKEND_CANN: int
24
+ Backend = int
25
+ """One of [DNN_BACKEND_DEFAULT, DNN_BACKEND_HALIDE, DNN_BACKEND_INFERENCE_ENGINE, DNN_BACKEND_OPENCV, DNN_BACKEND_VKCOM, DNN_BACKEND_CUDA, DNN_BACKEND_WEBNN, DNN_BACKEND_TIMVX, DNN_BACKEND_CANN]"""
26
+
27
+ DNN_TARGET_CPU: int
28
+ DNN_TARGET_OPENCL: int
29
+ DNN_TARGET_OPENCL_FP16: int
30
+ DNN_TARGET_MYRIAD: int
31
+ DNN_TARGET_VULKAN: int
32
+ DNN_TARGET_FPGA: int
33
+ DNN_TARGET_CUDA: int
34
+ DNN_TARGET_CUDA_FP16: int
35
+ DNN_TARGET_HDDL: int
36
+ DNN_TARGET_NPU: int
37
+ DNN_TARGET_CPU_FP16: int
38
+ Target = int
39
+ """One of [DNN_TARGET_CPU, DNN_TARGET_OPENCL, DNN_TARGET_OPENCL_FP16, DNN_TARGET_MYRIAD, DNN_TARGET_VULKAN, DNN_TARGET_FPGA, DNN_TARGET_CUDA, DNN_TARGET_CUDA_FP16, DNN_TARGET_HDDL, DNN_TARGET_NPU, DNN_TARGET_CPU_FP16]"""
40
+
41
+ DNN_LAYOUT_UNKNOWN: int
42
+ DNN_LAYOUT_ND: int
43
+ DNN_LAYOUT_NCHW: int
44
+ DNN_LAYOUT_NCDHW: int
45
+ DNN_LAYOUT_NHWC: int
46
+ DNN_LAYOUT_NDHWC: int
47
+ DNN_LAYOUT_PLANAR: int
48
+ DataLayout = int
49
+ """One of [DNN_LAYOUT_UNKNOWN, DNN_LAYOUT_ND, DNN_LAYOUT_NCHW, DNN_LAYOUT_NCDHW, DNN_LAYOUT_NHWC, DNN_LAYOUT_NDHWC, DNN_LAYOUT_PLANAR]"""
50
+
51
+ DNN_PMODE_NULL: int
52
+ DNN_PMODE_CROP_CENTER: int
53
+ DNN_PMODE_LETTERBOX: int
54
+ ImagePaddingMode = int
55
+ """One of [DNN_PMODE_NULL, DNN_PMODE_CROP_CENTER, DNN_PMODE_LETTERBOX]"""
56
+
57
+ SoftNMSMethod_SOFTNMS_LINEAR: int
58
+ SOFT_NMSMETHOD_SOFTNMS_LINEAR: int
59
+ SoftNMSMethod_SOFTNMS_GAUSSIAN: int
60
+ SOFT_NMSMETHOD_SOFTNMS_GAUSSIAN: int
61
+ SoftNMSMethod = int
62
+ """One of [SoftNMSMethod_SOFTNMS_LINEAR, SOFT_NMSMETHOD_SOFTNMS_LINEAR, SoftNMSMethod_SOFTNMS_GAUSSIAN, SOFT_NMSMETHOD_SOFTNMS_GAUSSIAN]"""
63
+
64
+
65
+
66
+ # Classes
67
+ class DictValue:
68
+ # Functions
69
+ @_typing.overload
70
+ def __init__(self, i: int) -> None: ...
71
+ @_typing.overload
72
+ def __init__(self, p: float) -> None: ...
73
+ @_typing.overload
74
+ def __init__(self, s: str) -> None: ...
75
+
76
+ def isInt(self) -> bool: ...
77
+
78
+ def isString(self) -> bool: ...
79
+
80
+ def isReal(self) -> bool: ...
81
+
82
+ def getIntValue(self, idx: int = ...) -> int: ...
83
+
84
+ def getRealValue(self, idx: int = ...) -> float: ...
85
+
86
+ def getStringValue(self, idx: int = ...) -> str: ...
87
+
88
+
89
+ class Layer(cv2.Algorithm):
90
+ blobs: _typing.Sequence[cv2.typing.MatLike]
91
+ @property
92
+ def name(self) -> str: ...
93
+ @property
94
+ def type(self) -> str: ...
95
+ @property
96
+ def preferableTarget(self) -> int: ...
97
+
98
+ # Functions
99
+ @_typing.overload
100
+ def finalize(self, inputs: _typing.Sequence[cv2.typing.MatLike], outputs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
101
+ @_typing.overload
102
+ def finalize(self, inputs: _typing.Sequence[cv2.UMat], outputs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
103
+
104
+ def run(self, inputs: _typing.Sequence[cv2.typing.MatLike], internals: _typing.Sequence[cv2.typing.MatLike], outputs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], _typing.Sequence[cv2.typing.MatLike]]: ...
105
+
106
+ def outputNameToIndex(self, outputName: str) -> int: ...
107
+
108
+
109
+ class Net:
110
+ # Functions
111
+ def __init__(self) -> None: ...
112
+
113
+ @classmethod
114
+ @_typing.overload
115
+ def readFromModelOptimizer(cls, xml: str, bin: str) -> Net: ...
116
+ @classmethod
117
+ @_typing.overload
118
+ def readFromModelOptimizer(cls, bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
119
+
120
+ def empty(self) -> bool: ...
121
+
122
+ def dump(self) -> str: ...
123
+
124
+ def dumpToFile(self, path: str) -> None: ...
125
+
126
+ def dumpToPbtxt(self, path: str) -> None: ...
127
+
128
+ def addLayer(self, name: str, type: str, dtype: int, params: cv2.typing.LayerParams) -> int: ...
129
+
130
+ def addLayerToPrev(self, name: str, type: str, dtype: int, params: cv2.typing.LayerParams) -> int: ...
131
+
132
+ def getLayerId(self, layer: str) -> int: ...
133
+
134
+ def getLayerNames(self) -> _typing.Sequence[str]: ...
135
+
136
+ @_typing.overload
137
+ def getLayer(self, layerId: int) -> Layer: ...
138
+ @_typing.overload
139
+ def getLayer(self, layerName: str) -> Layer: ...
140
+ @_typing.overload
141
+ def getLayer(self, layerId: cv2.typing.LayerId) -> Layer: ...
142
+
143
+ def connect(self, outPin: str, inpPin: str) -> None: ...
144
+
145
+ def setInputsNames(self, inputBlobNames: _typing.Sequence[str]) -> None: ...
146
+
147
+ def setInputShape(self, inputName: str, shape: cv2.typing.MatShape) -> None: ...
148
+
149
+ @_typing.overload
150
+ def forward(self, outputName: str = ...) -> cv2.typing.MatLike: ...
151
+ @_typing.overload
152
+ def forward(self, outputBlobs: _typing.Sequence[cv2.typing.MatLike] | None = ..., outputName: str = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
153
+ @_typing.overload
154
+ def forward(self, outputBlobs: _typing.Sequence[cv2.UMat] | None = ..., outputName: str = ...) -> _typing.Sequence[cv2.UMat]: ...
155
+ @_typing.overload
156
+ def forward(self, outBlobNames: _typing.Sequence[str], outputBlobs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
157
+ @_typing.overload
158
+ def forward(self, outBlobNames: _typing.Sequence[str], outputBlobs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
159
+
160
+ def forwardAsync(self, outputName: str = ...) -> cv2.AsyncArray: ...
161
+
162
+ def forwardAndRetrieve(self, outBlobNames: _typing.Sequence[str]) -> _typing.Sequence[_typing.Sequence[cv2.typing.MatLike]]: ...
163
+
164
+ @_typing.overload
165
+ def quantize(self, calibData: _typing.Sequence[cv2.typing.MatLike], inputsDtype: int, outputsDtype: int, perChannel: bool = ...) -> Net: ...
166
+ @_typing.overload
167
+ def quantize(self, calibData: _typing.Sequence[cv2.UMat], inputsDtype: int, outputsDtype: int, perChannel: bool = ...) -> Net: ...
168
+
169
+ def getInputDetails(self) -> tuple[_typing.Sequence[float], _typing.Sequence[int]]: ...
170
+
171
+ def getOutputDetails(self) -> tuple[_typing.Sequence[float], _typing.Sequence[int]]: ...
172
+
173
+ def setHalideScheduler(self, scheduler: str) -> None: ...
174
+
175
+ def setPreferableBackend(self, backendId: int) -> None: ...
176
+
177
+ def setPreferableTarget(self, targetId: int) -> None: ...
178
+
179
+ @_typing.overload
180
+ def setInput(self, blob: cv2.typing.MatLike, name: str = ..., scalefactor: float = ..., mean: cv2.typing.Scalar = ...) -> None: ...
181
+ @_typing.overload
182
+ def setInput(self, blob: cv2.UMat, name: str = ..., scalefactor: float = ..., mean: cv2.typing.Scalar = ...) -> None: ...
183
+
184
+ @_typing.overload
185
+ def setParam(self, layer: int, numParam: int, blob: cv2.typing.MatLike) -> None: ...
186
+ @_typing.overload
187
+ def setParam(self, layerName: str, numParam: int, blob: cv2.typing.MatLike) -> None: ...
188
+
189
+ @_typing.overload
190
+ def getParam(self, layer: int, numParam: int = ...) -> cv2.typing.MatLike: ...
191
+ @_typing.overload
192
+ def getParam(self, layerName: str, numParam: int = ...) -> cv2.typing.MatLike: ...
193
+
194
+ def getUnconnectedOutLayers(self) -> _typing.Sequence[int]: ...
195
+
196
+ def getUnconnectedOutLayersNames(self) -> _typing.Sequence[str]: ...
197
+
198
+ @_typing.overload
199
+ def getLayersShapes(self, netInputShapes: _typing.Sequence[cv2.typing.MatShape]) -> tuple[_typing.Sequence[int], _typing.Sequence[_typing.Sequence[cv2.typing.MatShape]], _typing.Sequence[_typing.Sequence[cv2.typing.MatShape]]]: ...
200
+ @_typing.overload
201
+ def getLayersShapes(self, netInputShape: cv2.typing.MatShape) -> tuple[_typing.Sequence[int], _typing.Sequence[_typing.Sequence[cv2.typing.MatShape]], _typing.Sequence[_typing.Sequence[cv2.typing.MatShape]]]: ...
202
+
203
+ @_typing.overload
204
+ def getFLOPS(self, netInputShapes: _typing.Sequence[cv2.typing.MatShape]) -> int: ...
205
+ @_typing.overload
206
+ def getFLOPS(self, netInputShape: cv2.typing.MatShape) -> int: ...
207
+ @_typing.overload
208
+ def getFLOPS(self, layerId: int, netInputShapes: _typing.Sequence[cv2.typing.MatShape]) -> int: ...
209
+ @_typing.overload
210
+ def getFLOPS(self, layerId: int, netInputShape: cv2.typing.MatShape) -> int: ...
211
+
212
+ def getLayerTypes(self) -> _typing.Sequence[str]: ...
213
+
214
+ def getLayersCount(self, layerType: str) -> int: ...
215
+
216
+ @_typing.overload
217
+ def getMemoryConsumption(self, netInputShape: cv2.typing.MatShape) -> tuple[int, int]: ...
218
+ @_typing.overload
219
+ def getMemoryConsumption(self, layerId: int, netInputShapes: _typing.Sequence[cv2.typing.MatShape]) -> tuple[int, int]: ...
220
+ @_typing.overload
221
+ def getMemoryConsumption(self, layerId: int, netInputShape: cv2.typing.MatShape) -> tuple[int, int]: ...
222
+
223
+ def enableFusion(self, fusion: bool) -> None: ...
224
+
225
+ def enableWinograd(self, useWinograd: bool) -> None: ...
226
+
227
+ def getPerfProfile(self) -> tuple[int, _typing.Sequence[float]]: ...
228
+
229
+
230
+ class Image2BlobParams:
231
+ scalefactor: cv2.typing.Scalar
232
+ size: cv2.typing.Size
233
+ mean: cv2.typing.Scalar
234
+ swapRB: bool
235
+ ddepth: int
236
+ datalayout: DataLayout
237
+ paddingmode: ImagePaddingMode
238
+ borderValue: cv2.typing.Scalar
239
+
240
+ # Functions
241
+ @_typing.overload
242
+ def __init__(self) -> None: ...
243
+ @_typing.overload
244
+ def __init__(self, scalefactor: cv2.typing.Scalar, size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., ddepth: int = ..., datalayout: DataLayout = ..., mode: ImagePaddingMode = ..., borderValue: cv2.typing.Scalar = ...) -> None: ...
245
+
246
+ def blobRectToImageRect(self, rBlob: cv2.typing.Rect, size: cv2.typing.Size) -> cv2.typing.Rect: ...
247
+
248
+ def blobRectsToImageRects(self, rBlob: _typing.Sequence[cv2.typing.Rect], size: cv2.typing.Size) -> _typing.Sequence[cv2.typing.Rect]: ...
249
+
250
+
251
+ class Model:
252
+ # Functions
253
+ @_typing.overload
254
+ def __init__(self, model: str, config: str = ...) -> None: ...
255
+ @_typing.overload
256
+ def __init__(self, network: Net) -> None: ...
257
+
258
+ @_typing.overload
259
+ def setInputSize(self, size: cv2.typing.Size) -> Model: ...
260
+ @_typing.overload
261
+ def setInputSize(self, width: int, height: int) -> Model: ...
262
+
263
+ def setInputMean(self, mean: cv2.typing.Scalar) -> Model: ...
264
+
265
+ def setInputScale(self, scale: cv2.typing.Scalar) -> Model: ...
266
+
267
+ def setInputCrop(self, crop: bool) -> Model: ...
268
+
269
+ def setInputSwapRB(self, swapRB: bool) -> Model: ...
270
+
271
+ def setOutputNames(self, outNames: _typing.Sequence[str]) -> Model: ...
272
+
273
+ def setInputParams(self, scale: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ...) -> None: ...
274
+
275
+ @_typing.overload
276
+ def predict(self, frame: cv2.typing.MatLike, outs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
277
+ @_typing.overload
278
+ def predict(self, frame: cv2.UMat, outs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
279
+
280
+ def setPreferableBackend(self, backendId: Backend) -> Model: ...
281
+
282
+ def setPreferableTarget(self, targetId: Target) -> Model: ...
283
+
284
+ def enableWinograd(self, useWinograd: bool) -> Model: ...
285
+
286
+
287
+ class ClassificationModel(Model):
288
+ # Functions
289
+ @_typing.overload
290
+ def __init__(self, model: str, config: str = ...) -> None: ...
291
+ @_typing.overload
292
+ def __init__(self, network: Net) -> None: ...
293
+
294
+ def setEnableSoftmaxPostProcessing(self, enable: bool) -> ClassificationModel: ...
295
+
296
+ def getEnableSoftmaxPostProcessing(self) -> bool: ...
297
+
298
+ @_typing.overload
299
+ def classify(self, frame: cv2.typing.MatLike) -> tuple[int, float]: ...
300
+ @_typing.overload
301
+ def classify(self, frame: cv2.UMat) -> tuple[int, float]: ...
302
+
303
+
304
+ class KeypointsModel(Model):
305
+ # Functions
306
+ @_typing.overload
307
+ def __init__(self, model: str, config: str = ...) -> None: ...
308
+ @_typing.overload
309
+ def __init__(self, network: Net) -> None: ...
310
+
311
+ @_typing.overload
312
+ def estimate(self, frame: cv2.typing.MatLike, thresh: float = ...) -> _typing.Sequence[cv2.typing.Point2f]: ...
313
+ @_typing.overload
314
+ def estimate(self, frame: cv2.UMat, thresh: float = ...) -> _typing.Sequence[cv2.typing.Point2f]: ...
315
+
316
+
317
+ class SegmentationModel(Model):
318
+ # Functions
319
+ @_typing.overload
320
+ def __init__(self, model: str, config: str = ...) -> None: ...
321
+ @_typing.overload
322
+ def __init__(self, network: Net) -> None: ...
323
+
324
+ @_typing.overload
325
+ def segment(self, frame: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
326
+ @_typing.overload
327
+ def segment(self, frame: cv2.UMat, mask: cv2.UMat | None = ...) -> cv2.UMat: ...
328
+
329
+
330
+ class DetectionModel(Model):
331
+ # Functions
332
+ @_typing.overload
333
+ def __init__(self, model: str, config: str = ...) -> None: ...
334
+ @_typing.overload
335
+ def __init__(self, network: Net) -> None: ...
336
+
337
+ def setNmsAcrossClasses(self, value: bool) -> DetectionModel: ...
338
+
339
+ def getNmsAcrossClasses(self) -> bool: ...
340
+
341
+ @_typing.overload
342
+ def detect(self, frame: cv2.typing.MatLike, confThreshold: float = ..., nmsThreshold: float = ...) -> tuple[_typing.Sequence[int], _typing.Sequence[float], _typing.Sequence[cv2.typing.Rect]]: ...
343
+ @_typing.overload
344
+ def detect(self, frame: cv2.UMat, confThreshold: float = ..., nmsThreshold: float = ...) -> tuple[_typing.Sequence[int], _typing.Sequence[float], _typing.Sequence[cv2.typing.Rect]]: ...
345
+
346
+
347
+ class TextRecognitionModel(Model):
348
+ # Functions
349
+ @_typing.overload
350
+ def __init__(self, network: Net) -> None: ...
351
+ @_typing.overload
352
+ def __init__(self, model: str, config: str = ...) -> None: ...
353
+
354
+ def setDecodeType(self, decodeType: str) -> TextRecognitionModel: ...
355
+
356
+ def getDecodeType(self) -> str: ...
357
+
358
+ def setDecodeOptsCTCPrefixBeamSearch(self, beamSize: int, vocPruneSize: int = ...) -> TextRecognitionModel: ...
359
+
360
+ def setVocabulary(self, vocabulary: _typing.Sequence[str]) -> TextRecognitionModel: ...
361
+
362
+ def getVocabulary(self) -> _typing.Sequence[str]: ...
363
+
364
+ @_typing.overload
365
+ def recognize(self, frame: cv2.typing.MatLike) -> str: ...
366
+ @_typing.overload
367
+ def recognize(self, frame: cv2.UMat) -> str: ...
368
+ @_typing.overload
369
+ def recognize(self, frame: cv2.typing.MatLike, roiRects: _typing.Sequence[cv2.typing.MatLike]) -> _typing.Sequence[str]: ...
370
+ @_typing.overload
371
+ def recognize(self, frame: cv2.UMat, roiRects: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[str]: ...
372
+
373
+
374
+ class TextDetectionModel(Model):
375
+ # Functions
376
+ @_typing.overload
377
+ def detect(self, frame: cv2.typing.MatLike) -> tuple[_typing.Sequence[_typing.Sequence[cv2.typing.Point]], _typing.Sequence[float]]: ...
378
+ @_typing.overload
379
+ def detect(self, frame: cv2.UMat) -> tuple[_typing.Sequence[_typing.Sequence[cv2.typing.Point]], _typing.Sequence[float]]: ...
380
+ @_typing.overload
381
+ def detect(self, frame: cv2.typing.MatLike) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
382
+ @_typing.overload
383
+ def detect(self, frame: cv2.UMat) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
384
+
385
+ @_typing.overload
386
+ def detectTextRectangles(self, frame: cv2.typing.MatLike) -> tuple[_typing.Sequence[cv2.typing.RotatedRect], _typing.Sequence[float]]: ...
387
+ @_typing.overload
388
+ def detectTextRectangles(self, frame: cv2.UMat) -> tuple[_typing.Sequence[cv2.typing.RotatedRect], _typing.Sequence[float]]: ...
389
+ @_typing.overload
390
+ def detectTextRectangles(self, frame: cv2.typing.MatLike) -> _typing.Sequence[cv2.typing.RotatedRect]: ...
391
+ @_typing.overload
392
+ def detectTextRectangles(self, frame: cv2.UMat) -> _typing.Sequence[cv2.typing.RotatedRect]: ...
393
+
394
+
395
+ class TextDetectionModel_EAST(TextDetectionModel):
396
+ # Functions
397
+ @_typing.overload
398
+ def __init__(self, network: Net) -> None: ...
399
+ @_typing.overload
400
+ def __init__(self, model: str, config: str = ...) -> None: ...
401
+
402
+ def setConfidenceThreshold(self, confThreshold: float) -> TextDetectionModel_EAST: ...
403
+
404
+ def getConfidenceThreshold(self) -> float: ...
405
+
406
+ def setNMSThreshold(self, nmsThreshold: float) -> TextDetectionModel_EAST: ...
407
+
408
+ def getNMSThreshold(self) -> float: ...
409
+
410
+
411
+ class TextDetectionModel_DB(TextDetectionModel):
412
+ # Functions
413
+ @_typing.overload
414
+ def __init__(self, network: Net) -> None: ...
415
+ @_typing.overload
416
+ def __init__(self, model: str, config: str = ...) -> None: ...
417
+
418
+ def setBinaryThreshold(self, binaryThreshold: float) -> TextDetectionModel_DB: ...
419
+
420
+ def getBinaryThreshold(self) -> float: ...
421
+
422
+ def setPolygonThreshold(self, polygonThreshold: float) -> TextDetectionModel_DB: ...
423
+
424
+ def getPolygonThreshold(self) -> float: ...
425
+
426
+ def setUnclipRatio(self, unclipRatio: float) -> TextDetectionModel_DB: ...
427
+
428
+ def getUnclipRatio(self) -> float: ...
429
+
430
+ def setMaxCandidates(self, maxCandidates: int) -> TextDetectionModel_DB: ...
431
+
432
+ def getMaxCandidates(self) -> int: ...
433
+
434
+
435
+ class LayerProtocol(Protocol):
436
+ # Functions
437
+ def __init__(self, params: dict[str, DictValue], blobs: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
438
+
439
+ def getMemoryShapes(self, inputs: _typing.Sequence[_typing.Sequence[int]]) -> _typing.Sequence[_typing.Sequence[int]]: ...
440
+
441
+ def forward(self, inputs: _typing.Sequence[cv2.typing.MatLike]) -> _typing.Sequence[cv2.typing.MatLike]: ...
442
+
443
+
444
+
445
+ # Functions
446
+ def NMSBoxes(bboxes: _typing.Sequence[cv2.typing.Rect2d], scores: _typing.Sequence[float], score_threshold: float, nms_threshold: float, eta: float = ..., top_k: int = ...) -> _typing.Sequence[int]: ...
447
+
448
+ def NMSBoxesBatched(bboxes: _typing.Sequence[cv2.typing.Rect2d], scores: _typing.Sequence[float], class_ids: _typing.Sequence[int], score_threshold: float, nms_threshold: float, eta: float = ..., top_k: int = ...) -> _typing.Sequence[int]: ...
449
+
450
+ def NMSBoxesRotated(bboxes: _typing.Sequence[cv2.typing.RotatedRect], scores: _typing.Sequence[float], score_threshold: float, nms_threshold: float, eta: float = ..., top_k: int = ...) -> _typing.Sequence[int]: ...
451
+
452
+ @_typing.overload
453
+ def blobFromImage(image: cv2.typing.MatLike, scalefactor: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ..., ddepth: int = ...) -> cv2.typing.MatLike: ...
454
+ @_typing.overload
455
+ def blobFromImage(image: cv2.UMat, scalefactor: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ..., ddepth: int = ...) -> cv2.typing.MatLike: ...
456
+
457
+ @_typing.overload
458
+ def blobFromImageWithParams(image: cv2.typing.MatLike, param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
459
+ @_typing.overload
460
+ def blobFromImageWithParams(image: cv2.UMat, param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
461
+ @_typing.overload
462
+ def blobFromImageWithParams(image: cv2.typing.MatLike, blob: cv2.typing.MatLike | None = ..., param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
463
+ @_typing.overload
464
+ def blobFromImageWithParams(image: cv2.UMat, blob: cv2.UMat | None = ..., param: Image2BlobParams = ...) -> cv2.UMat: ...
465
+
466
+ @_typing.overload
467
+ def blobFromImages(images: _typing.Sequence[cv2.typing.MatLike], scalefactor: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ..., ddepth: int = ...) -> cv2.typing.MatLike: ...
468
+ @_typing.overload
469
+ def blobFromImages(images: _typing.Sequence[cv2.UMat], scalefactor: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ..., ddepth: int = ...) -> cv2.typing.MatLike: ...
470
+
471
+ @_typing.overload
472
+ def blobFromImagesWithParams(images: _typing.Sequence[cv2.typing.MatLike], param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
473
+ @_typing.overload
474
+ def blobFromImagesWithParams(images: _typing.Sequence[cv2.UMat], param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
475
+ @_typing.overload
476
+ def blobFromImagesWithParams(images: _typing.Sequence[cv2.typing.MatLike], blob: cv2.typing.MatLike | None = ..., param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
477
+ @_typing.overload
478
+ def blobFromImagesWithParams(images: _typing.Sequence[cv2.UMat], blob: cv2.UMat | None = ..., param: Image2BlobParams = ...) -> cv2.UMat: ...
479
+
480
+ def getAvailableTargets(be: Backend) -> _typing.Sequence[Target]: ...
481
+
482
+ @_typing.overload
483
+ def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
484
+ @_typing.overload
485
+ def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
486
+
487
+ @_typing.overload
488
+ def readNet(model: str, config: str = ..., framework: str = ...) -> Net: ...
489
+ @_typing.overload
490
+ def readNet(framework: str, bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
491
+
492
+ @_typing.overload
493
+ def readNetFromCaffe(prototxt: str, caffeModel: str = ...) -> Net: ...
494
+ @_typing.overload
495
+ def readNetFromCaffe(bufferProto: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
496
+
497
+ @_typing.overload
498
+ def readNetFromDarknet(cfgFile: str, darknetModel: str = ...) -> Net: ...
499
+ @_typing.overload
500
+ def readNetFromDarknet(bufferCfg: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
501
+
502
+ @_typing.overload
503
+ def readNetFromModelOptimizer(xml: str, bin: str = ...) -> Net: ...
504
+ @_typing.overload
505
+ def readNetFromModelOptimizer(bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
506
+
507
+ @_typing.overload
508
+ def readNetFromONNX(onnxFile: str) -> Net: ...
509
+ @_typing.overload
510
+ def readNetFromONNX(buffer: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
511
+
512
+ @_typing.overload
513
+ def readNetFromTFLite(model: str) -> Net: ...
514
+ @_typing.overload
515
+ def readNetFromTFLite(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
516
+
517
+ @_typing.overload
518
+ def readNetFromTensorflow(model: str, config: str = ...) -> Net: ...
519
+ @_typing.overload
520
+ def readNetFromTensorflow(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
521
+
522
+ def readNetFromTorch(model: str, isBinary: bool = ..., evaluate: bool = ...) -> Net: ...
523
+
524
+ def readTensorFromONNX(path: str) -> cv2.typing.MatLike: ...
525
+
526
+ def readTorchBlob(filename: str, isBinary: bool = ...) -> cv2.typing.MatLike: ...
527
+
528
+ def shrinkCaffeModel(src: str, dst: str, layersTypes: _typing.Sequence[str] = ...) -> None: ...
529
+
530
+ def softNMSBoxes(bboxes: _typing.Sequence[cv2.typing.Rect], scores: _typing.Sequence[float], score_threshold: float, nms_threshold: float, top_k: int = ..., sigma: float = ..., method: SoftNMSMethod = ...) -> tuple[_typing.Sequence[float], _typing.Sequence[int]]: ...
531
+
532
+ def writeTextGraph(model: str, output: str) -> None: ...
533
+
534
+
.venv/lib/python3.11/site-packages/cv2/fisheye/__init__.pyi ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Enumerations
9
+ CALIB_USE_INTRINSIC_GUESS: int
10
+ CALIB_RECOMPUTE_EXTRINSIC: int
11
+ CALIB_CHECK_COND: int
12
+ CALIB_FIX_SKEW: int
13
+ CALIB_FIX_K1: int
14
+ CALIB_FIX_K2: int
15
+ CALIB_FIX_K3: int
16
+ CALIB_FIX_K4: int
17
+ CALIB_FIX_INTRINSIC: int
18
+ CALIB_FIX_PRINCIPAL_POINT: int
19
+ CALIB_ZERO_DISPARITY: int
20
+ CALIB_FIX_FOCAL_LENGTH: int
21
+
22
+
23
+
24
+ # Functions
25
+ @_typing.overload
26
+ def calibrate(objectPoints: _typing.Sequence[cv2.typing.MatLike], imagePoints: _typing.Sequence[cv2.typing.MatLike], image_size: cv2.typing.Size, K: cv2.typing.MatLike, D: cv2.typing.MatLike, rvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., tvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], _typing.Sequence[cv2.typing.MatLike]]: ...
27
+ @_typing.overload
28
+ def calibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints: _typing.Sequence[cv2.UMat], image_size: cv2.typing.Size, K: cv2.UMat, D: cv2.UMat, rvecs: _typing.Sequence[cv2.UMat] | None = ..., tvecs: _typing.Sequence[cv2.UMat] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], _typing.Sequence[cv2.UMat]]: ...
29
+
30
+ @_typing.overload
31
+ def distortPoints(undistorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, distorted: cv2.typing.MatLike | None = ..., alpha: float = ...) -> cv2.typing.MatLike: ...
32
+ @_typing.overload
33
+ def distortPoints(undistorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, distorted: cv2.UMat | None = ..., alpha: float = ...) -> cv2.UMat: ...
34
+ @_typing.overload
35
+ def distortPoints(undistorted: cv2.typing.MatLike, Kundistorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, distorted: cv2.typing.MatLike | None = ..., alpha: float = ...) -> cv2.typing.MatLike: ...
36
+ @_typing.overload
37
+ def distortPoints(undistorted: cv2.UMat, Kundistorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, distorted: cv2.UMat | None = ..., alpha: float = ...) -> cv2.UMat: ...
38
+
39
+ @_typing.overload
40
+ def estimateNewCameraMatrixForUndistortRectify(K: cv2.typing.MatLike, D: cv2.typing.MatLike, image_size: cv2.typing.Size, R: cv2.typing.MatLike, P: cv2.typing.MatLike | None = ..., balance: float = ..., new_size: cv2.typing.Size = ..., fov_scale: float = ...) -> cv2.typing.MatLike: ...
41
+ @_typing.overload
42
+ def estimateNewCameraMatrixForUndistortRectify(K: cv2.UMat, D: cv2.UMat, image_size: cv2.typing.Size, R: cv2.UMat, P: cv2.UMat | None = ..., balance: float = ..., new_size: cv2.typing.Size = ..., fov_scale: float = ...) -> cv2.UMat: ...
43
+
44
+ @_typing.overload
45
+ def initUndistortRectifyMap(K: cv2.typing.MatLike, D: cv2.typing.MatLike, R: cv2.typing.MatLike, P: cv2.typing.MatLike, size: cv2.typing.Size, m1type: int, map1: cv2.typing.MatLike | None = ..., map2: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
46
+ @_typing.overload
47
+ def initUndistortRectifyMap(K: cv2.UMat, D: cv2.UMat, R: cv2.UMat, P: cv2.UMat, size: cv2.typing.Size, m1type: int, map1: cv2.UMat | None = ..., map2: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
48
+
49
+ @_typing.overload
50
+ def projectPoints(objectPoints: cv2.typing.MatLike, rvec: cv2.typing.MatLike, tvec: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, imagePoints: cv2.typing.MatLike | None = ..., alpha: float = ..., jacobian: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
51
+ @_typing.overload
52
+ def projectPoints(objectPoints: cv2.UMat, rvec: cv2.UMat, tvec: cv2.UMat, K: cv2.UMat, D: cv2.UMat, imagePoints: cv2.UMat | None = ..., alpha: float = ..., jacobian: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
53
+
54
+ @_typing.overload
55
+ def solvePnP(objectPoints: cv2.typing.MatLike, imagePoints: cv2.typing.MatLike, cameraMatrix: cv2.typing.MatLike, distCoeffs: cv2.typing.MatLike, rvec: cv2.typing.MatLike | None = ..., tvec: cv2.typing.MatLike | None = ..., useExtrinsicGuess: bool = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[bool, cv2.typing.MatLike, cv2.typing.MatLike]: ...
56
+ @_typing.overload
57
+ def solvePnP(objectPoints: cv2.UMat, imagePoints: cv2.UMat, cameraMatrix: cv2.UMat, distCoeffs: cv2.UMat, rvec: cv2.UMat | None = ..., tvec: cv2.UMat | None = ..., useExtrinsicGuess: bool = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[bool, cv2.UMat, cv2.UMat]: ...
58
+
59
+ @_typing.overload
60
+ def stereoCalibrate(objectPoints: _typing.Sequence[cv2.typing.MatLike], imagePoints1: _typing.Sequence[cv2.typing.MatLike], imagePoints2: _typing.Sequence[cv2.typing.MatLike], K1: cv2.typing.MatLike, D1: cv2.typing.MatLike, K2: cv2.typing.MatLike, D2: cv2.typing.MatLike, imageSize: cv2.typing.Size, R: cv2.typing.MatLike | None = ..., T: cv2.typing.MatLike | None = ..., rvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., tvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], _typing.Sequence[cv2.typing.MatLike]]: ...
61
+ @_typing.overload
62
+ def stereoCalibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints1: _typing.Sequence[cv2.UMat], imagePoints2: _typing.Sequence[cv2.UMat], K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat | None = ..., T: cv2.UMat | None = ..., rvecs: _typing.Sequence[cv2.UMat] | None = ..., tvecs: _typing.Sequence[cv2.UMat] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], _typing.Sequence[cv2.UMat]]: ...
63
+ @_typing.overload
64
+ def stereoCalibrate(objectPoints: _typing.Sequence[cv2.typing.MatLike], imagePoints1: _typing.Sequence[cv2.typing.MatLike], imagePoints2: _typing.Sequence[cv2.typing.MatLike], K1: cv2.typing.MatLike, D1: cv2.typing.MatLike, K2: cv2.typing.MatLike, D2: cv2.typing.MatLike, imageSize: cv2.typing.Size, R: cv2.typing.MatLike | None = ..., T: cv2.typing.MatLike | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
65
+ @_typing.overload
66
+ def stereoCalibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints1: _typing.Sequence[cv2.UMat], imagePoints2: _typing.Sequence[cv2.UMat], K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat | None = ..., T: cv2.UMat | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat]: ...
67
+
68
+ @_typing.overload
69
+ def stereoRectify(K1: cv2.typing.MatLike, D1: cv2.typing.MatLike, K2: cv2.typing.MatLike, D2: cv2.typing.MatLike, imageSize: cv2.typing.Size, R: cv2.typing.MatLike, tvec: cv2.typing.MatLike, flags: int, R1: cv2.typing.MatLike | None = ..., R2: cv2.typing.MatLike | None = ..., P1: cv2.typing.MatLike | None = ..., P2: cv2.typing.MatLike | None = ..., Q: cv2.typing.MatLike | None = ..., newImageSize: cv2.typing.Size = ..., balance: float = ..., fov_scale: float = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
70
+ @_typing.overload
71
+ def stereoRectify(K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat, tvec: cv2.UMat, flags: int, R1: cv2.UMat | None = ..., R2: cv2.UMat | None = ..., P1: cv2.UMat | None = ..., P2: cv2.UMat | None = ..., Q: cv2.UMat | None = ..., newImageSize: cv2.typing.Size = ..., balance: float = ..., fov_scale: float = ...) -> tuple[cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat]: ...
72
+
73
+ @_typing.overload
74
+ def undistortImage(distorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, undistorted: cv2.typing.MatLike | None = ..., Knew: cv2.typing.MatLike | None = ..., new_size: cv2.typing.Size = ...) -> cv2.typing.MatLike: ...
75
+ @_typing.overload
76
+ def undistortImage(distorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, undistorted: cv2.UMat | None = ..., Knew: cv2.UMat | None = ..., new_size: cv2.typing.Size = ...) -> cv2.UMat: ...
77
+
78
+ @_typing.overload
79
+ def undistortPoints(distorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, undistorted: cv2.typing.MatLike | None = ..., R: cv2.typing.MatLike | None = ..., P: cv2.typing.MatLike | None = ..., criteria: cv2.typing.TermCriteria = ...) -> cv2.typing.MatLike: ...
80
+ @_typing.overload
81
+ def undistortPoints(distorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, undistorted: cv2.UMat | None = ..., R: cv2.UMat | None = ..., P: cv2.UMat | None = ..., criteria: cv2.typing.TermCriteria = ...) -> cv2.UMat: ...
82
+
83
+
.venv/lib/python3.11/site-packages/cv2/flann/__init__.pyi ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Enumerations
9
+ FLANN_INDEX_TYPE_8U: int
10
+ FLANN_INDEX_TYPE_8S: int
11
+ FLANN_INDEX_TYPE_16U: int
12
+ FLANN_INDEX_TYPE_16S: int
13
+ FLANN_INDEX_TYPE_32S: int
14
+ FLANN_INDEX_TYPE_32F: int
15
+ FLANN_INDEX_TYPE_64F: int
16
+ FLANN_INDEX_TYPE_STRING: int
17
+ FLANN_INDEX_TYPE_BOOL: int
18
+ FLANN_INDEX_TYPE_ALGORITHM: int
19
+ LAST_VALUE_FLANN_INDEX_TYPE: int
20
+ FlannIndexType = int
21
+ """One of [FLANN_INDEX_TYPE_8U, FLANN_INDEX_TYPE_8S, FLANN_INDEX_TYPE_16U, FLANN_INDEX_TYPE_16S, FLANN_INDEX_TYPE_32S, FLANN_INDEX_TYPE_32F, FLANN_INDEX_TYPE_64F, FLANN_INDEX_TYPE_STRING, FLANN_INDEX_TYPE_BOOL, FLANN_INDEX_TYPE_ALGORITHM, LAST_VALUE_FLANN_INDEX_TYPE]"""
22
+
23
+
24
+
25
+ # Classes
26
+ class Index:
27
+ # Functions
28
+ @_typing.overload
29
+ def __init__(self) -> None: ...
30
+ @_typing.overload
31
+ def __init__(self, features: cv2.typing.MatLike, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
32
+ @_typing.overload
33
+ def __init__(self, features: cv2.UMat, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
34
+
35
+ @_typing.overload
36
+ def build(self, features: cv2.typing.MatLike, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
37
+ @_typing.overload
38
+ def build(self, features: cv2.UMat, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
39
+
40
+ @_typing.overload
41
+ def knnSearch(self, query: cv2.typing.MatLike, knn: int, indices: cv2.typing.MatLike | None = ..., dists: cv2.typing.MatLike | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
42
+ @_typing.overload
43
+ def knnSearch(self, query: cv2.UMat, knn: int, indices: cv2.UMat | None = ..., dists: cv2.UMat | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
44
+
45
+ @_typing.overload
46
+ def radiusSearch(self, query: cv2.typing.MatLike, radius: float, maxResults: int, indices: cv2.typing.MatLike | None = ..., dists: cv2.typing.MatLike | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[int, cv2.typing.MatLike, cv2.typing.MatLike]: ...
47
+ @_typing.overload
48
+ def radiusSearch(self, query: cv2.UMat, radius: float, maxResults: int, indices: cv2.UMat | None = ..., dists: cv2.UMat | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[int, cv2.UMat, cv2.UMat]: ...
49
+
50
+ def save(self, filename: str) -> None: ...
51
+
52
+ @_typing.overload
53
+ def load(self, features: cv2.typing.MatLike, filename: str) -> bool: ...
54
+ @_typing.overload
55
+ def load(self, features: cv2.UMat, filename: str) -> bool: ...
56
+
57
+ def release(self) -> None: ...
58
+
59
+ def getDistance(self) -> int: ...
60
+
61
+ def getAlgorithm(self) -> int: ...
62
+
63
+
64
+
.venv/lib/python3.11/site-packages/cv2/gapi/__init__.py ADDED
@@ -0,0 +1,323 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__ = ['op', 'kernel']
2
+
3
+ import sys
4
+ import cv2 as cv
5
+
6
+ # NB: Register function in specific module
7
+ def register(mname):
8
+ def parameterized(func):
9
+ sys.modules[mname].__dict__[func.__name__] = func
10
+ return func
11
+ return parameterized
12
+
13
+
14
+ @register('cv2.gapi')
15
+ def networks(*args):
16
+ return cv.gapi_GNetPackage(list(map(cv.detail.strip, args)))
17
+
18
+
19
+ @register('cv2.gapi')
20
+ def compile_args(*args):
21
+ return list(map(cv.GCompileArg, args))
22
+
23
+
24
+ @register('cv2')
25
+ def GIn(*args):
26
+ return [*args]
27
+
28
+
29
+ @register('cv2')
30
+ def GOut(*args):
31
+ return [*args]
32
+
33
+
34
+ @register('cv2')
35
+ def gin(*args):
36
+ return [*args]
37
+
38
+
39
+ @register('cv2.gapi')
40
+ def descr_of(*args):
41
+ return [*args]
42
+
43
+
44
+ @register('cv2')
45
+ class GOpaque():
46
+ # NB: Inheritance from c++ class cause segfault.
47
+ # So just aggregate cv.GOpaqueT instead of inheritance
48
+ def __new__(cls, argtype):
49
+ return cv.GOpaqueT(argtype)
50
+
51
+ class Bool():
52
+ def __new__(self):
53
+ return cv.GOpaqueT(cv.gapi.CV_BOOL)
54
+
55
+ class Int():
56
+ def __new__(self):
57
+ return cv.GOpaqueT(cv.gapi.CV_INT)
58
+
59
+ class Int64():
60
+ def __new__(self):
61
+ return cv.GOpaqueT(cv.gapi.CV_INT64)
62
+
63
+ class UInt64():
64
+ def __new__(self):
65
+ return cv.GOpaqueT(cv.gapi.CV_UINT64)
66
+
67
+ class Double():
68
+ def __new__(self):
69
+ return cv.GOpaqueT(cv.gapi.CV_DOUBLE)
70
+
71
+ class Float():
72
+ def __new__(self):
73
+ return cv.GOpaqueT(cv.gapi.CV_FLOAT)
74
+
75
+ class String():
76
+ def __new__(self):
77
+ return cv.GOpaqueT(cv.gapi.CV_STRING)
78
+
79
+ class Point():
80
+ def __new__(self):
81
+ return cv.GOpaqueT(cv.gapi.CV_POINT)
82
+
83
+ class Point2f():
84
+ def __new__(self):
85
+ return cv.GOpaqueT(cv.gapi.CV_POINT2F)
86
+
87
+ class Point3f():
88
+ def __new__(self):
89
+ return cv.GOpaqueT(cv.gapi.CV_POINT3F)
90
+
91
+ class Size():
92
+ def __new__(self):
93
+ return cv.GOpaqueT(cv.gapi.CV_SIZE)
94
+
95
+ class Rect():
96
+ def __new__(self):
97
+ return cv.GOpaqueT(cv.gapi.CV_RECT)
98
+
99
+ class Prim():
100
+ def __new__(self):
101
+ return cv.GOpaqueT(cv.gapi.CV_DRAW_PRIM)
102
+
103
+ class Any():
104
+ def __new__(self):
105
+ return cv.GOpaqueT(cv.gapi.CV_ANY)
106
+
107
+ @register('cv2')
108
+ class GArray():
109
+ # NB: Inheritance from c++ class cause segfault.
110
+ # So just aggregate cv.GArrayT instead of inheritance
111
+ def __new__(cls, argtype):
112
+ return cv.GArrayT(argtype)
113
+
114
+ class Bool():
115
+ def __new__(self):
116
+ return cv.GArrayT(cv.gapi.CV_BOOL)
117
+
118
+ class Int():
119
+ def __new__(self):
120
+ return cv.GArrayT(cv.gapi.CV_INT)
121
+
122
+ class Int64():
123
+ def __new__(self):
124
+ return cv.GArrayT(cv.gapi.CV_INT64)
125
+
126
+ class UInt64():
127
+ def __new__(self):
128
+ return cv.GArrayT(cv.gapi.CV_UINT64)
129
+
130
+ class Double():
131
+ def __new__(self):
132
+ return cv.GArrayT(cv.gapi.CV_DOUBLE)
133
+
134
+ class Float():
135
+ def __new__(self):
136
+ return cv.GArrayT(cv.gapi.CV_FLOAT)
137
+
138
+ class String():
139
+ def __new__(self):
140
+ return cv.GArrayT(cv.gapi.CV_STRING)
141
+
142
+ class Point():
143
+ def __new__(self):
144
+ return cv.GArrayT(cv.gapi.CV_POINT)
145
+
146
+ class Point2f():
147
+ def __new__(self):
148
+ return cv.GArrayT(cv.gapi.CV_POINT2F)
149
+
150
+ class Point3f():
151
+ def __new__(self):
152
+ return cv.GArrayT(cv.gapi.CV_POINT3F)
153
+
154
+ class Size():
155
+ def __new__(self):
156
+ return cv.GArrayT(cv.gapi.CV_SIZE)
157
+
158
+ class Rect():
159
+ def __new__(self):
160
+ return cv.GArrayT(cv.gapi.CV_RECT)
161
+
162
+ class Scalar():
163
+ def __new__(self):
164
+ return cv.GArrayT(cv.gapi.CV_SCALAR)
165
+
166
+ class Mat():
167
+ def __new__(self):
168
+ return cv.GArrayT(cv.gapi.CV_MAT)
169
+
170
+ class GMat():
171
+ def __new__(self):
172
+ return cv.GArrayT(cv.gapi.CV_GMAT)
173
+
174
+ class Prim():
175
+ def __new__(self):
176
+ return cv.GArray(cv.gapi.CV_DRAW_PRIM)
177
+
178
+ class Any():
179
+ def __new__(self):
180
+ return cv.GArray(cv.gapi.CV_ANY)
181
+
182
+
183
+ # NB: Top lvl decorator takes arguments
184
+ def op(op_id, in_types, out_types):
185
+
186
+ garray_types= {
187
+ cv.GArray.Bool: cv.gapi.CV_BOOL,
188
+ cv.GArray.Int: cv.gapi.CV_INT,
189
+ cv.GArray.Int64: cv.gapi.CV_INT64,
190
+ cv.GArray.UInt64: cv.gapi.CV_UINT64,
191
+ cv.GArray.Double: cv.gapi.CV_DOUBLE,
192
+ cv.GArray.Float: cv.gapi.CV_FLOAT,
193
+ cv.GArray.String: cv.gapi.CV_STRING,
194
+ cv.GArray.Point: cv.gapi.CV_POINT,
195
+ cv.GArray.Point2f: cv.gapi.CV_POINT2F,
196
+ cv.GArray.Point3f: cv.gapi.CV_POINT3F,
197
+ cv.GArray.Size: cv.gapi.CV_SIZE,
198
+ cv.GArray.Rect: cv.gapi.CV_RECT,
199
+ cv.GArray.Scalar: cv.gapi.CV_SCALAR,
200
+ cv.GArray.Mat: cv.gapi.CV_MAT,
201
+ cv.GArray.GMat: cv.gapi.CV_GMAT,
202
+ cv.GArray.Prim: cv.gapi.CV_DRAW_PRIM,
203
+ cv.GArray.Any: cv.gapi.CV_ANY
204
+ }
205
+
206
+ gopaque_types= {
207
+ cv.GOpaque.Size: cv.gapi.CV_SIZE,
208
+ cv.GOpaque.Rect: cv.gapi.CV_RECT,
209
+ cv.GOpaque.Bool: cv.gapi.CV_BOOL,
210
+ cv.GOpaque.Int: cv.gapi.CV_INT,
211
+ cv.GOpaque.Int64: cv.gapi.CV_INT64,
212
+ cv.GOpaque.UInt64: cv.gapi.CV_UINT64,
213
+ cv.GOpaque.Double: cv.gapi.CV_DOUBLE,
214
+ cv.GOpaque.Float: cv.gapi.CV_FLOAT,
215
+ cv.GOpaque.String: cv.gapi.CV_STRING,
216
+ cv.GOpaque.Point: cv.gapi.CV_POINT,
217
+ cv.GOpaque.Point2f: cv.gapi.CV_POINT2F,
218
+ cv.GOpaque.Point3f: cv.gapi.CV_POINT3F,
219
+ cv.GOpaque.Size: cv.gapi.CV_SIZE,
220
+ cv.GOpaque.Rect: cv.gapi.CV_RECT,
221
+ cv.GOpaque.Prim: cv.gapi.CV_DRAW_PRIM,
222
+ cv.GOpaque.Any: cv.gapi.CV_ANY
223
+ }
224
+
225
+ type2str = {
226
+ cv.gapi.CV_BOOL: 'cv.gapi.CV_BOOL' ,
227
+ cv.gapi.CV_INT: 'cv.gapi.CV_INT' ,
228
+ cv.gapi.CV_INT64: 'cv.gapi.CV_INT64' ,
229
+ cv.gapi.CV_UINT64: 'cv.gapi.CV_UINT64' ,
230
+ cv.gapi.CV_DOUBLE: 'cv.gapi.CV_DOUBLE' ,
231
+ cv.gapi.CV_FLOAT: 'cv.gapi.CV_FLOAT' ,
232
+ cv.gapi.CV_STRING: 'cv.gapi.CV_STRING' ,
233
+ cv.gapi.CV_POINT: 'cv.gapi.CV_POINT' ,
234
+ cv.gapi.CV_POINT2F: 'cv.gapi.CV_POINT2F' ,
235
+ cv.gapi.CV_POINT3F: 'cv.gapi.CV_POINT3F' ,
236
+ cv.gapi.CV_SIZE: 'cv.gapi.CV_SIZE',
237
+ cv.gapi.CV_RECT: 'cv.gapi.CV_RECT',
238
+ cv.gapi.CV_SCALAR: 'cv.gapi.CV_SCALAR',
239
+ cv.gapi.CV_MAT: 'cv.gapi.CV_MAT',
240
+ cv.gapi.CV_GMAT: 'cv.gapi.CV_GMAT',
241
+ cv.gapi.CV_DRAW_PRIM: 'cv.gapi.CV_DRAW_PRIM'
242
+ }
243
+
244
+ # NB: Second lvl decorator takes class to decorate
245
+ def op_with_params(cls):
246
+ if not in_types:
247
+ raise Exception('{} operation should have at least one input!'.format(cls.__name__))
248
+
249
+ if not out_types:
250
+ raise Exception('{} operation should have at least one output!'.format(cls.__name__))
251
+
252
+ for i, t in enumerate(out_types):
253
+ if t not in [cv.GMat, cv.GScalar, *garray_types, *gopaque_types]:
254
+ raise Exception('{} unsupported output type: {} in position: {}'
255
+ .format(cls.__name__, t.__name__, i))
256
+
257
+ def on(*args):
258
+ if len(in_types) != len(args):
259
+ raise Exception('Invalid number of input elements!\nExpected: {}, Actual: {}'
260
+ .format(len(in_types), len(args)))
261
+
262
+ for i, (t, a) in enumerate(zip(in_types, args)):
263
+ if t in garray_types:
264
+ if not isinstance(a, cv.GArrayT):
265
+ raise Exception("{} invalid type for argument {}.\nExpected: {}, Actual: {}"
266
+ .format(cls.__name__, i, cv.GArrayT.__name__, type(a).__name__))
267
+
268
+ elif a.type() != garray_types[t]:
269
+ raise Exception("{} invalid GArrayT type for argument {}.\nExpected: {}, Actual: {}"
270
+ .format(cls.__name__, i, type2str[garray_types[t]], type2str[a.type()]))
271
+
272
+ elif t in gopaque_types:
273
+ if not isinstance(a, cv.GOpaqueT):
274
+ raise Exception("{} invalid type for argument {}.\nExpected: {}, Actual: {}"
275
+ .format(cls.__name__, i, cv.GOpaqueT.__name__, type(a).__name__))
276
+
277
+ elif a.type() != gopaque_types[t]:
278
+ raise Exception("{} invalid GOpaque type for argument {}.\nExpected: {}, Actual: {}"
279
+ .format(cls.__name__, i, type2str[gopaque_types[t]], type2str[a.type()]))
280
+
281
+ else:
282
+ if t != type(a):
283
+ raise Exception('{} invalid input type for argument {}.\nExpected: {}, Actual: {}'
284
+ .format(cls.__name__, i, t.__name__, type(a).__name__))
285
+
286
+ op = cv.gapi.__op(op_id, cls.outMeta, *args)
287
+
288
+ out_protos = []
289
+ for i, out_type in enumerate(out_types):
290
+ if out_type == cv.GMat:
291
+ out_protos.append(op.getGMat())
292
+ elif out_type == cv.GScalar:
293
+ out_protos.append(op.getGScalar())
294
+ elif out_type in gopaque_types:
295
+ out_protos.append(op.getGOpaque(gopaque_types[out_type]))
296
+ elif out_type in garray_types:
297
+ out_protos.append(op.getGArray(garray_types[out_type]))
298
+ else:
299
+ raise Exception("""In {}: G-API operation can't produce the output with type: {} in position: {}"""
300
+ .format(cls.__name__, out_type.__name__, i))
301
+
302
+ return tuple(out_protos) if len(out_protos) != 1 else out_protos[0]
303
+
304
+ # NB: Extend operation class
305
+ cls.id = op_id
306
+ cls.on = staticmethod(on)
307
+ return cls
308
+
309
+ return op_with_params
310
+
311
+
312
+ def kernel(op_cls):
313
+ # NB: Second lvl decorator takes class to decorate
314
+ def kernel_with_params(cls):
315
+ # NB: Add new members to kernel class
316
+ cls.id = op_cls.id
317
+ cls.outMeta = op_cls.outMeta
318
+ return cls
319
+
320
+ return kernel_with_params
321
+
322
+
323
+ cv.gapi.wip.GStreamerPipeline = cv.gapi_wip_gst_GStreamerPipeline
.venv/lib/python3.11/site-packages/cv2/gapi/__init__.pyi ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ from cv2.gapi import core as core
9
+ from cv2.gapi import ie as ie
10
+ from cv2.gapi import imgproc as imgproc
11
+ from cv2.gapi import oak as oak
12
+ from cv2.gapi import onnx as onnx
13
+ from cv2.gapi import ot as ot
14
+ from cv2.gapi import ov as ov
15
+ from cv2.gapi import own as own
16
+ from cv2.gapi import render as render
17
+ from cv2.gapi import streaming as streaming
18
+ from cv2.gapi import video as video
19
+ from cv2.gapi import wip as wip
20
+
21
+
22
+ # Enumerations
23
+ StereoOutputFormat_DEPTH_FLOAT16: int
24
+ STEREO_OUTPUT_FORMAT_DEPTH_FLOAT16: int
25
+ StereoOutputFormat_DEPTH_FLOAT32: int
26
+ STEREO_OUTPUT_FORMAT_DEPTH_FLOAT32: int
27
+ StereoOutputFormat_DISPARITY_FIXED16_11_5: int
28
+ STEREO_OUTPUT_FORMAT_DISPARITY_FIXED16_11_5: int
29
+ StereoOutputFormat_DISPARITY_FIXED16_12_4: int
30
+ STEREO_OUTPUT_FORMAT_DISPARITY_FIXED16_12_4: int
31
+ StereoOutputFormat_DEPTH_16F: int
32
+ STEREO_OUTPUT_FORMAT_DEPTH_16F: int
33
+ StereoOutputFormat_DEPTH_32F: int
34
+ STEREO_OUTPUT_FORMAT_DEPTH_32F: int
35
+ StereoOutputFormat_DISPARITY_16Q_10_5: int
36
+ STEREO_OUTPUT_FORMAT_DISPARITY_16Q_10_5: int
37
+ StereoOutputFormat_DISPARITY_16Q_11_4: int
38
+ STEREO_OUTPUT_FORMAT_DISPARITY_16Q_11_4: int
39
+ StereoOutputFormat = int
40
+ """One of [StereoOutputFormat_DEPTH_FLOAT16, STEREO_OUTPUT_FORMAT_DEPTH_FLOAT16, StereoOutputFormat_DEPTH_FLOAT32, STEREO_OUTPUT_FORMAT_DEPTH_FLOAT32, StereoOutputFormat_DISPARITY_FIXED16_11_5, STEREO_OUTPUT_FORMAT_DISPARITY_FIXED16_11_5, StereoOutputFormat_DISPARITY_FIXED16_12_4, STEREO_OUTPUT_FORMAT_DISPARITY_FIXED16_12_4, StereoOutputFormat_DEPTH_16F, STEREO_OUTPUT_FORMAT_DEPTH_16F, StereoOutputFormat_DEPTH_32F, STEREO_OUTPUT_FORMAT_DEPTH_32F, StereoOutputFormat_DISPARITY_16Q_10_5, STEREO_OUTPUT_FORMAT_DISPARITY_16Q_10_5, StereoOutputFormat_DISPARITY_16Q_11_4, STEREO_OUTPUT_FORMAT_DISPARITY_16Q_11_4]"""
41
+
42
+ CV_BOOL: int
43
+ CV_INT: int
44
+ CV_INT64: int
45
+ CV_UINT64: int
46
+ CV_DOUBLE: int
47
+ CV_FLOAT: int
48
+ CV_STRING: int
49
+ CV_POINT: int
50
+ CV_POINT2F: int
51
+ CV_POINT3F: int
52
+ CV_SIZE: int
53
+ CV_RECT: int
54
+ CV_SCALAR: int
55
+ CV_MAT: int
56
+ CV_GMAT: int
57
+ CV_DRAW_PRIM: int
58
+ CV_ANY: int
59
+ ArgType = int
60
+ """One of [CV_BOOL, CV_INT, CV_INT64, CV_UINT64, CV_DOUBLE, CV_FLOAT, CV_STRING, CV_POINT, CV_POINT2F, CV_POINT3F, CV_SIZE, CV_RECT, CV_SCALAR, CV_MAT, CV_GMAT, CV_DRAW_PRIM, CV_ANY]"""
61
+
62
+
63
+
64
+ # Classes
65
+ class GNetParam:
66
+ ...
67
+
68
+ class GNetPackage:
69
+ # Functions
70
+ @_typing.overload
71
+ def __init__(self) -> None: ...
72
+ @_typing.overload
73
+ def __init__(self, nets: _typing.Sequence[GNetParam]) -> None: ...
74
+
75
+
76
+
77
+ # Functions
78
+ def BGR2Gray(src: cv2.GMat) -> cv2.GMat: ...
79
+
80
+ def BGR2I420(src: cv2.GMat) -> cv2.GMat: ...
81
+
82
+ def BGR2LUV(src: cv2.GMat) -> cv2.GMat: ...
83
+
84
+ def BGR2RGB(src: cv2.GMat) -> cv2.GMat: ...
85
+
86
+ def BGR2YUV(src: cv2.GMat) -> cv2.GMat: ...
87
+
88
+ def BayerGR2RGB(src_gr: cv2.GMat) -> cv2.GMat: ...
89
+
90
+ def Canny(image: cv2.GMat, threshold1: float, threshold2: float, apertureSize: int = ..., L2gradient: bool = ...) -> cv2.GMat: ...
91
+
92
+ def I4202BGR(src: cv2.GMat) -> cv2.GMat: ...
93
+
94
+ def I4202RGB(src: cv2.GMat) -> cv2.GMat: ...
95
+
96
+ def LUT(src: cv2.GMat, lut: cv2.typing.MatLike) -> cv2.GMat: ...
97
+
98
+ def LUV2BGR(src: cv2.GMat) -> cv2.GMat: ...
99
+
100
+ def Laplacian(src: cv2.GMat, ddepth: int, ksize: int = ..., scale: float = ..., delta: float = ..., borderType: int = ...) -> cv2.GMat: ...
101
+
102
+ def NV12toBGR(src_y: cv2.GMat, src_uv: cv2.GMat) -> cv2.GMat: ...
103
+
104
+ def NV12toGray(src_y: cv2.GMat, src_uv: cv2.GMat) -> cv2.GMat: ...
105
+
106
+ def NV12toRGB(src_y: cv2.GMat, src_uv: cv2.GMat) -> cv2.GMat: ...
107
+
108
+ @_typing.overload
109
+ def RGB2Gray(src: cv2.GMat) -> cv2.GMat: ...
110
+ @_typing.overload
111
+ def RGB2Gray(src: cv2.GMat, rY: float, gY: float, bY: float) -> cv2.GMat: ...
112
+
113
+ def RGB2HSV(src: cv2.GMat) -> cv2.GMat: ...
114
+
115
+ def RGB2I420(src: cv2.GMat) -> cv2.GMat: ...
116
+
117
+ def RGB2Lab(src: cv2.GMat) -> cv2.GMat: ...
118
+
119
+ def RGB2YUV(src: cv2.GMat) -> cv2.GMat: ...
120
+
121
+ def RGB2YUV422(src: cv2.GMat) -> cv2.GMat: ...
122
+
123
+ def Sobel(src: cv2.GMat, ddepth: int, dx: int, dy: int, ksize: int = ..., scale: float = ..., delta: float = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
124
+
125
+ def SobelXY(src: cv2.GMat, ddepth: int, order: int, ksize: int = ..., scale: float = ..., delta: float = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> tuple[cv2.GMat, cv2.GMat]: ...
126
+
127
+ def YUV2BGR(src: cv2.GMat) -> cv2.GMat: ...
128
+
129
+ def YUV2RGB(src: cv2.GMat) -> cv2.GMat: ...
130
+
131
+ def absDiff(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
132
+
133
+ def absDiffC(src: cv2.GMat, c: cv2.GScalar) -> cv2.GMat: ...
134
+
135
+ def add(src1: cv2.GMat, src2: cv2.GMat, ddepth: int = ...) -> cv2.GMat: ...
136
+
137
+ @_typing.overload
138
+ def addC(src1: cv2.GMat, c: cv2.GScalar, ddepth: int = ...) -> cv2.GMat: ...
139
+ @_typing.overload
140
+ def addC(c: cv2.GScalar, src1: cv2.GMat, ddepth: int = ...) -> cv2.GMat: ...
141
+
142
+ def addWeighted(src1: cv2.GMat, alpha: float, src2: cv2.GMat, beta: float, gamma: float, ddepth: int = ...) -> cv2.GMat: ...
143
+
144
+ def bilateralFilter(src: cv2.GMat, d: int, sigmaColor: float, sigmaSpace: float, borderType: int = ...) -> cv2.GMat: ...
145
+
146
+ @_typing.overload
147
+ def bitwise_and(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
148
+ @_typing.overload
149
+ def bitwise_and(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
150
+
151
+ def bitwise_not(src: cv2.GMat) -> cv2.GMat: ...
152
+
153
+ @_typing.overload
154
+ def bitwise_or(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
155
+ @_typing.overload
156
+ def bitwise_or(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
157
+
158
+ @_typing.overload
159
+ def bitwise_xor(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
160
+ @_typing.overload
161
+ def bitwise_xor(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
162
+
163
+ def blur(src: cv2.GMat, ksize: cv2.typing.Size, anchor: cv2.typing.Point = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
164
+
165
+ @_typing.overload
166
+ def boundingRect(src: cv2.GMat) -> cv2.GOpaqueT: ...
167
+ @_typing.overload
168
+ def boundingRect(src: cv2.GArrayT) -> cv2.GOpaqueT: ...
169
+ @_typing.overload
170
+ def boundingRect(src: cv2.GArrayT) -> cv2.GOpaqueT: ...
171
+
172
+ def boxFilter(src: cv2.GMat, dtype: int, ksize: cv2.typing.Size, anchor: cv2.typing.Point = ..., normalize: bool = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
173
+
174
+ def cartToPolar(x: cv2.GMat, y: cv2.GMat, angleInDegrees: bool = ...) -> tuple[cv2.GMat, cv2.GMat]: ...
175
+
176
+ @_typing.overload
177
+ def cmpEQ(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
178
+ @_typing.overload
179
+ def cmpEQ(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
180
+
181
+ @_typing.overload
182
+ def cmpGE(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
183
+ @_typing.overload
184
+ def cmpGE(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
185
+
186
+ @_typing.overload
187
+ def cmpGT(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
188
+ @_typing.overload
189
+ def cmpGT(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
190
+
191
+ @_typing.overload
192
+ def cmpLE(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
193
+ @_typing.overload
194
+ def cmpLE(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
195
+
196
+ @_typing.overload
197
+ def cmpLT(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
198
+ @_typing.overload
199
+ def cmpLT(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
200
+
201
+ @_typing.overload
202
+ def cmpNE(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
203
+ @_typing.overload
204
+ def cmpNE(src1: cv2.GMat, src2: cv2.GScalar) -> cv2.GMat: ...
205
+
206
+ def combine(lhs: cv2.GKernelPackage, rhs: cv2.GKernelPackage) -> cv2.GKernelPackage: ...
207
+
208
+ @_typing.overload
209
+ def concatHor(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
210
+ @_typing.overload
211
+ def concatHor(v: _typing.Sequence[cv2.GMat]) -> cv2.GMat: ...
212
+
213
+ @_typing.overload
214
+ def concatVert(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
215
+ @_typing.overload
216
+ def concatVert(v: _typing.Sequence[cv2.GMat]) -> cv2.GMat: ...
217
+
218
+ def convertTo(src: cv2.GMat, rdepth: int, alpha: float = ..., beta: float = ...) -> cv2.GMat: ...
219
+
220
+ def copy(in_: cv2.GMat) -> cv2.GMat: ...
221
+
222
+ def countNonZero(src: cv2.GMat) -> cv2.GOpaqueT: ...
223
+
224
+ def crop(src: cv2.GMat, rect: cv2.typing.Rect) -> cv2.GMat: ...
225
+
226
+ def dilate(src: cv2.GMat, kernel: cv2.typing.MatLike, anchor: cv2.typing.Point = ..., iterations: int = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
227
+
228
+ def dilate3x3(src: cv2.GMat, iterations: int = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
229
+
230
+ def div(src1: cv2.GMat, src2: cv2.GMat, scale: float, ddepth: int = ...) -> cv2.GMat: ...
231
+
232
+ def divC(src: cv2.GMat, divisor: cv2.GScalar, scale: float, ddepth: int = ...) -> cv2.GMat: ...
233
+
234
+ def divRC(divident: cv2.GScalar, src: cv2.GMat, scale: float, ddepth: int = ...) -> cv2.GMat: ...
235
+
236
+ def equalizeHist(src: cv2.GMat) -> cv2.GMat: ...
237
+
238
+ def erode(src: cv2.GMat, kernel: cv2.typing.MatLike, anchor: cv2.typing.Point = ..., iterations: int = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
239
+
240
+ def erode3x3(src: cv2.GMat, iterations: int = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
241
+
242
+ def filter2D(src: cv2.GMat, ddepth: int, kernel: cv2.typing.MatLike, anchor: cv2.typing.Point = ..., delta: cv2.typing.Scalar = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
243
+
244
+ def flip(src: cv2.GMat, flipCode: int) -> cv2.GMat: ...
245
+
246
+ def gaussianBlur(src: cv2.GMat, ksize: cv2.typing.Size, sigmaX: float, sigmaY: float = ..., borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
247
+
248
+ def goodFeaturesToTrack(image: cv2.GMat, maxCorners: int, qualityLevel: float, minDistance: float, mask: cv2.typing.MatLike | None = ..., blockSize: int = ..., useHarrisDetector: bool = ..., k: float = ...) -> cv2.GArrayT: ...
249
+
250
+ def inRange(src: cv2.GMat, threshLow: cv2.GScalar, threshUp: cv2.GScalar) -> cv2.GMat: ...
251
+
252
+ @_typing.overload
253
+ def infer(name: str, inputs: cv2.GInferInputs) -> cv2.GInferOutputs: ...
254
+ @_typing.overload
255
+ def infer(name: str, roi: cv2.GOpaqueT, inputs: cv2.GInferInputs) -> cv2.GInferOutputs: ...
256
+ @_typing.overload
257
+ def infer(name: str, rois: cv2.GArrayT, inputs: cv2.GInferInputs) -> cv2.GInferListOutputs: ...
258
+
259
+ def infer2(name: str, in_: cv2.GMat, inputs: cv2.GInferListInputs) -> cv2.GInferListOutputs: ...
260
+
261
+ def integral(src: cv2.GMat, sdepth: int = ..., sqdepth: int = ...) -> tuple[cv2.GMat, cv2.GMat]: ...
262
+
263
+ @_typing.overload
264
+ def kmeans(data: cv2.GMat, K: int, bestLabels: cv2.GMat, criteria: cv2.typing.TermCriteria, attempts: int, flags: cv2.KmeansFlags) -> tuple[cv2.GOpaqueT, cv2.GMat, cv2.GMat]: ...
265
+ @_typing.overload
266
+ def kmeans(data: cv2.GMat, K: int, criteria: cv2.typing.TermCriteria, attempts: int, flags: cv2.KmeansFlags) -> tuple[cv2.GOpaqueT, cv2.GMat, cv2.GMat]: ...
267
+ @_typing.overload
268
+ def kmeans(data: cv2.GArrayT, K: int, bestLabels: cv2.GArrayT, criteria: cv2.typing.TermCriteria, attempts: int, flags: cv2.KmeansFlags) -> tuple[cv2.GOpaqueT, cv2.GArrayT, cv2.GArrayT]: ...
269
+ @_typing.overload
270
+ def kmeans(data: cv2.GArrayT, K: int, bestLabels: cv2.GArrayT, criteria: cv2.typing.TermCriteria, attempts: int, flags: cv2.KmeansFlags) -> tuple[cv2.GOpaqueT, cv2.GArrayT, cv2.GArrayT]: ...
271
+
272
+ def mask(src: cv2.GMat, mask: cv2.GMat) -> cv2.GMat: ...
273
+
274
+ def max(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
275
+
276
+ def mean(src: cv2.GMat) -> cv2.GScalar: ...
277
+
278
+ def medianBlur(src: cv2.GMat, ksize: int) -> cv2.GMat: ...
279
+
280
+ def merge3(src1: cv2.GMat, src2: cv2.GMat, src3: cv2.GMat) -> cv2.GMat: ...
281
+
282
+ def merge4(src1: cv2.GMat, src2: cv2.GMat, src3: cv2.GMat, src4: cv2.GMat) -> cv2.GMat: ...
283
+
284
+ def min(src1: cv2.GMat, src2: cv2.GMat) -> cv2.GMat: ...
285
+
286
+ def morphologyEx(src: cv2.GMat, op: cv2.MorphTypes, kernel: cv2.typing.MatLike, anchor: cv2.typing.Point = ..., iterations: int = ..., borderType: cv2.BorderTypes = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
287
+
288
+ def mul(src1: cv2.GMat, src2: cv2.GMat, scale: float = ..., ddepth: int = ...) -> cv2.GMat: ...
289
+
290
+ @_typing.overload
291
+ def mulC(src: cv2.GMat, multiplier: float, ddepth: int = ...) -> cv2.GMat: ...
292
+ @_typing.overload
293
+ def mulC(src: cv2.GMat, multiplier: cv2.GScalar, ddepth: int = ...) -> cv2.GMat: ...
294
+ @_typing.overload
295
+ def mulC(multiplier: cv2.GScalar, src: cv2.GMat, ddepth: int = ...) -> cv2.GMat: ...
296
+
297
+ def normInf(src: cv2.GMat) -> cv2.GScalar: ...
298
+
299
+ def normL1(src: cv2.GMat) -> cv2.GScalar: ...
300
+
301
+ def normL2(src: cv2.GMat) -> cv2.GScalar: ...
302
+
303
+ def normalize(src: cv2.GMat, alpha: float, beta: float, norm_type: int, ddepth: int = ...) -> cv2.GMat: ...
304
+
305
+ @_typing.overload
306
+ def parseSSD(in_: cv2.GMat, inSz: cv2.GOpaqueT, confidenceThreshold: float = ..., filterLabel: int = ...) -> tuple[cv2.GArrayT, cv2.GArrayT]: ...
307
+ @_typing.overload
308
+ def parseSSD(in_: cv2.GMat, inSz: cv2.GOpaqueT, confidenceThreshold: float, alignmentToSquare: bool, filterOutOfBounds: bool) -> cv2.GArrayT: ...
309
+
310
+ def parseYolo(in_: cv2.GMat, inSz: cv2.GOpaqueT, confidenceThreshold: float = ..., nmsThreshold: float = ..., anchors: _typing.Sequence[float] = ...) -> tuple[cv2.GArrayT, cv2.GArrayT]: ...
311
+
312
+ def phase(x: cv2.GMat, y: cv2.GMat, angleInDegrees: bool = ...) -> cv2.GMat: ...
313
+
314
+ def polarToCart(magnitude: cv2.GMat, angle: cv2.GMat, angleInDegrees: bool = ...) -> tuple[cv2.GMat, cv2.GMat]: ...
315
+
316
+ def remap(src: cv2.GMat, map1: cv2.typing.MatLike, map2: cv2.typing.MatLike, interpolation: int, borderMode: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
317
+
318
+ def resize(src: cv2.GMat, dsize: cv2.typing.Size, fx: float = ..., fy: float = ..., interpolation: int = ...) -> cv2.GMat: ...
319
+
320
+ def select(src1: cv2.GMat, src2: cv2.GMat, mask: cv2.GMat) -> cv2.GMat: ...
321
+
322
+ def sepFilter(src: cv2.GMat, ddepth: int, kernelX: cv2.typing.MatLike, kernelY: cv2.typing.MatLike, anchor: cv2.typing.Point, delta: cv2.typing.Scalar, borderType: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
323
+
324
+ def split3(src: cv2.GMat) -> tuple[cv2.GMat, cv2.GMat, cv2.GMat]: ...
325
+
326
+ def split4(src: cv2.GMat) -> tuple[cv2.GMat, cv2.GMat, cv2.GMat, cv2.GMat]: ...
327
+
328
+ def sqrt(src: cv2.GMat) -> cv2.GMat: ...
329
+
330
+ def sub(src1: cv2.GMat, src2: cv2.GMat, ddepth: int = ...) -> cv2.GMat: ...
331
+
332
+ def subC(src: cv2.GMat, c: cv2.GScalar, ddepth: int = ...) -> cv2.GMat: ...
333
+
334
+ def subRC(c: cv2.GScalar, src: cv2.GMat, ddepth: int = ...) -> cv2.GMat: ...
335
+
336
+ def sum(src: cv2.GMat) -> cv2.GScalar: ...
337
+
338
+ @_typing.overload
339
+ def threshold(src: cv2.GMat, thresh: cv2.GScalar, maxval: cv2.GScalar, type: int) -> cv2.GMat: ...
340
+ @_typing.overload
341
+ def threshold(src: cv2.GMat, maxval: cv2.GScalar, type: int) -> tuple[cv2.GMat, cv2.GScalar]: ...
342
+
343
+ def transpose(src: cv2.GMat) -> cv2.GMat: ...
344
+
345
+ def warpAffine(src: cv2.GMat, M: cv2.typing.MatLike, dsize: cv2.typing.Size, flags: int = ..., borderMode: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
346
+
347
+ def warpPerspective(src: cv2.GMat, M: cv2.typing.MatLike, dsize: cv2.typing.Size, flags: int = ..., borderMode: int = ..., borderValue: cv2.typing.Scalar = ...) -> cv2.GMat: ...
348
+
349
+
.venv/lib/python3.11/site-packages/cv2/gapi/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (24.9 kB). View file
 
.venv/lib/python3.11/site-packages/cv2/gapi/core/__init__.pyi ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ from cv2.gapi.core import cpu as cpu
4
+ from cv2.gapi.core import fluid as fluid
5
+ from cv2.gapi.core import ocl as ocl
6
+
7
+
.venv/lib/python3.11/site-packages/cv2/gapi/core/cpu/__init__.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+
5
+
6
+ # Functions
7
+ def kernels() -> cv2.GKernelPackage: ...
8
+
9
+
.venv/lib/python3.11/site-packages/cv2/gapi/core/fluid/__init__.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+
5
+
6
+ # Functions
7
+ def kernels() -> cv2.GKernelPackage: ...
8
+
9
+
.venv/lib/python3.11/site-packages/cv2/gapi/core/ocl/__init__.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+
5
+
6
+ # Functions
7
+ def kernels() -> cv2.GKernelPackage: ...
8
+
9
+
.venv/lib/python3.11/site-packages/cv2/gapi/imgproc/__init__.pyi ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ from cv2.gapi.imgproc import fluid as fluid
4
+
5
+
.venv/lib/python3.11/site-packages/cv2/gapi/imgproc/fluid/__init__.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+
5
+
6
+ # Functions
7
+ def kernels() -> cv2.GKernelPackage: ...
8
+
9
+
.venv/lib/python3.11/site-packages/cv2/gapi/oak/__init__.pyi ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ EncoderConfig_RateControlMode_CBR: int
4
+ ENCODER_CONFIG_RATE_CONTROL_MODE_CBR: int
5
+ EncoderConfig_RateControlMode_VBR: int
6
+ ENCODER_CONFIG_RATE_CONTROL_MODE_VBR: int
7
+ EncoderConfig_RateControlMode = int
8
+ """One of [EncoderConfig_RateControlMode_CBR, ENCODER_CONFIG_RATE_CONTROL_MODE_CBR, EncoderConfig_RateControlMode_VBR, ENCODER_CONFIG_RATE_CONTROL_MODE_VBR]"""
9
+
10
+ EncoderConfig_Profile_H264_BASELINE: int
11
+ ENCODER_CONFIG_PROFILE_H264_BASELINE: int
12
+ EncoderConfig_Profile_H264_HIGH: int
13
+ ENCODER_CONFIG_PROFILE_H264_HIGH: int
14
+ EncoderConfig_Profile_H264_MAIN: int
15
+ ENCODER_CONFIG_PROFILE_H264_MAIN: int
16
+ EncoderConfig_Profile_H265_MAIN: int
17
+ ENCODER_CONFIG_PROFILE_H265_MAIN: int
18
+ EncoderConfig_Profile_MJPEG: int
19
+ ENCODER_CONFIG_PROFILE_MJPEG: int
20
+ EncoderConfig_Profile = int
21
+ """One of [EncoderConfig_Profile_H264_BASELINE, ENCODER_CONFIG_PROFILE_H264_BASELINE, EncoderConfig_Profile_H264_HIGH, ENCODER_CONFIG_PROFILE_H264_HIGH, EncoderConfig_Profile_H264_MAIN, ENCODER_CONFIG_PROFILE_H264_MAIN, EncoderConfig_Profile_H265_MAIN, ENCODER_CONFIG_PROFILE_H265_MAIN, EncoderConfig_Profile_MJPEG, ENCODER_CONFIG_PROFILE_MJPEG]"""
22
+
23
+ ColorCameraParams_BoardSocket_RGB: int
24
+ COLOR_CAMERA_PARAMS_BOARD_SOCKET_RGB: int
25
+ ColorCameraParams_BoardSocket_BGR: int
26
+ COLOR_CAMERA_PARAMS_BOARD_SOCKET_BGR: int
27
+ ColorCameraParams_BoardSocket = int
28
+ """One of [ColorCameraParams_BoardSocket_RGB, COLOR_CAMERA_PARAMS_BOARD_SOCKET_RGB, ColorCameraParams_BoardSocket_BGR, COLOR_CAMERA_PARAMS_BOARD_SOCKET_BGR]"""
29
+
30
+ ColorCameraParams_Resolution_THE_1080_P: int
31
+ COLOR_CAMERA_PARAMS_RESOLUTION_THE_1080_P: int
32
+ ColorCameraParams_Resolution = int
33
+ """One of [ColorCameraParams_Resolution_THE_1080_P, COLOR_CAMERA_PARAMS_RESOLUTION_THE_1080_P]"""
34
+
35
+
36
+ # Classes
37
+
.venv/lib/python3.11/site-packages/cv2/gapi/ov/__init__.pyi ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2.typing
4
+ import typing as _typing
5
+
6
+
7
+ # Classes
8
+ class PyParams:
9
+ # Functions
10
+ @_typing.overload
11
+ def __init__(self) -> None: ...
12
+ @_typing.overload
13
+ def __init__(self, tag: str, model_path: str, bin_path: str, device: str) -> None: ...
14
+ @_typing.overload
15
+ def __init__(self, tag: str, blob_path: str, device: str) -> None: ...
16
+
17
+ def cfgPluginConfig(self, config: cv2.typing.map_string_and_string) -> PyParams: ...
18
+
19
+ @_typing.overload
20
+ def cfgInputTensorLayout(self, tensor_layout: str) -> PyParams: ...
21
+ @_typing.overload
22
+ def cfgInputTensorLayout(self, layout_map: cv2.typing.map_string_and_string) -> PyParams: ...
23
+
24
+ @_typing.overload
25
+ def cfgInputModelLayout(self, tensor_layout: str) -> PyParams: ...
26
+ @_typing.overload
27
+ def cfgInputModelLayout(self, layout_map: cv2.typing.map_string_and_string) -> PyParams: ...
28
+
29
+ @_typing.overload
30
+ def cfgOutputTensorLayout(self, tensor_layout: str) -> PyParams: ...
31
+ @_typing.overload
32
+ def cfgOutputTensorLayout(self, layout_map: cv2.typing.map_string_and_string) -> PyParams: ...
33
+
34
+ @_typing.overload
35
+ def cfgOutputModelLayout(self, tensor_layout: str) -> PyParams: ...
36
+ @_typing.overload
37
+ def cfgOutputModelLayout(self, layout_map: cv2.typing.map_string_and_string) -> PyParams: ...
38
+
39
+ @_typing.overload
40
+ def cfgOutputTensorPrecision(self, precision: int) -> PyParams: ...
41
+ @_typing.overload
42
+ def cfgOutputTensorPrecision(self, precision_map: cv2.typing.map_string_and_int) -> PyParams: ...
43
+
44
+ @_typing.overload
45
+ def cfgReshape(self, new_shape: _typing.Sequence[int]) -> PyParams: ...
46
+ @_typing.overload
47
+ def cfgReshape(self, new_shape_map: cv2.typing.map_string_and_vector_size_t) -> PyParams: ...
48
+
49
+ def cfgNumRequests(self, nireq: int) -> PyParams: ...
50
+
51
+ @_typing.overload
52
+ def cfgMean(self, mean_values: _typing.Sequence[float]) -> PyParams: ...
53
+ @_typing.overload
54
+ def cfgMean(self, mean_map: cv2.typing.map_string_and_vector_float) -> PyParams: ...
55
+
56
+ @_typing.overload
57
+ def cfgScale(self, scale_values: _typing.Sequence[float]) -> PyParams: ...
58
+ @_typing.overload
59
+ def cfgScale(self, scale_map: cv2.typing.map_string_and_vector_float) -> PyParams: ...
60
+
61
+ @_typing.overload
62
+ def cfgResize(self, interpolation: int) -> PyParams: ...
63
+ @_typing.overload
64
+ def cfgResize(self, interpolation: cv2.typing.map_string_and_int) -> PyParams: ...
65
+
66
+
67
+
68
+ # Functions
69
+ @_typing.overload
70
+ def params(tag: str, model_path: str, weights: str, device: str) -> PyParams: ...
71
+ @_typing.overload
72
+ def params(tag: str, bin_path: str, device: str) -> PyParams: ...
73
+
74
+
.venv/lib/python3.11/site-packages/cv2/gapi/own/__init__.pyi ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ from cv2.gapi.own import detail as detail
4
+
5
+
.venv/lib/python3.11/site-packages/cv2/gapi/own/detail/__init__.pyi ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ MatHeader_AUTO_STEP: int
4
+ MAT_HEADER_AUTO_STEP: int
5
+ MatHeader_TYPE_MASK: int
6
+ MAT_HEADER_TYPE_MASK: int
7
+
8
+
9
+ # Classes
10
+
.venv/lib/python3.11/site-packages/cv2/gapi/render/__init__.pyi ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ from cv2.gapi.render import ocv as ocv
4
+
5
+
.venv/lib/python3.11/site-packages/cv2/gapi/render/ocv/__init__.pyi ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+
5
+
6
+ # Functions
7
+ def kernels() -> cv2.GKernelPackage: ...
8
+
9
+
.venv/lib/python3.11/site-packages/cv2/gapi/streaming/__init__.pyi ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import typing as _typing
5
+
6
+
7
+ # Enumerations
8
+ sync_policy_dont_sync: int
9
+ SYNC_POLICY_DONT_SYNC: int
10
+ sync_policy_drop: int
11
+ SYNC_POLICY_DROP: int
12
+ sync_policy = int
13
+ """One of [sync_policy_dont_sync, SYNC_POLICY_DONT_SYNC, sync_policy_drop, SYNC_POLICY_DROP]"""
14
+
15
+
16
+
17
+ # Classes
18
+ class queue_capacity:
19
+ capacity: int
20
+
21
+ # Functions
22
+ def __init__(self, cap: int = ...) -> None: ...
23
+
24
+
25
+
26
+ # Functions
27
+ def desync(g: cv2.GMat) -> cv2.GMat: ...
28
+
29
+ def seqNo(arg1: cv2.GMat) -> cv2.GOpaqueT: ...
30
+
31
+ def seq_id(arg1: cv2.GMat) -> cv2.GOpaqueT: ...
32
+
33
+ @_typing.overload
34
+ def size(src: cv2.GMat) -> cv2.GOpaqueT: ...
35
+ @_typing.overload
36
+ def size(r: cv2.GOpaqueT) -> cv2.GOpaqueT: ...
37
+ @_typing.overload
38
+ def size(src: cv2.GFrame) -> cv2.GOpaqueT: ...
39
+
40
+ def timestamp(arg1: cv2.GMat) -> cv2.GOpaqueT: ...
41
+
42
+
.venv/lib/python3.11/site-packages/cv2/gapi/video/__init__.pyi ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ # Enumerations
4
+ TYPE_BS_MOG2: int
5
+ TYPE_BS_KNN: int
6
+ BackgroundSubtractorType = int
7
+ """One of [TYPE_BS_MOG2, TYPE_BS_KNN]"""
8
+
9
+
10
+
.venv/lib/python3.11/site-packages/cv2/ipp/__init__.pyi ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__: list[str] = []
2
+
3
+ # Functions
4
+ def getIppVersion() -> str: ...
5
+
6
+ def setUseIPP(flag: bool) -> None: ...
7
+
8
+ def setUseIPP_NotExact(flag: bool) -> None: ...
9
+
10
+ def useIPP() -> bool: ...
11
+
12
+ def useIPP_NotExact() -> bool: ...
13
+
14
+
.venv/lib/python3.11/site-packages/cv2/mat_wrapper/__init__.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __all__ = []
2
+
3
+ import numpy as np
4
+ import cv2 as cv
5
+ from typing import TYPE_CHECKING, Any
6
+
7
+ # Same as cv2.typing.NumPyArrayNumeric, but avoids circular dependencies
8
+ if TYPE_CHECKING:
9
+ _NumPyArrayNumeric = np.ndarray[Any, np.dtype[np.integer[Any] | np.floating[Any]]]
10
+ else:
11
+ _NumPyArrayNumeric = np.ndarray
12
+
13
+ # NumPy documentation: https://numpy.org/doc/stable/user/basics.subclassing.html
14
+
15
+
16
+ class Mat(_NumPyArrayNumeric):
17
+ '''
18
+ cv.Mat wrapper for numpy array.
19
+
20
+ Stores extra metadata information how to interpret and process of numpy array for underlying C++ code.
21
+ '''
22
+
23
+ def __new__(cls, arr, **kwargs):
24
+ obj = arr.view(Mat)
25
+ return obj
26
+
27
+ def __init__(self, arr, **kwargs):
28
+ self.wrap_channels = kwargs.pop('wrap_channels', getattr(arr, 'wrap_channels', False))
29
+ if len(kwargs) > 0:
30
+ raise TypeError('Unknown parameters: {}'.format(repr(kwargs)))
31
+
32
+ def __array_finalize__(self, obj):
33
+ if obj is None:
34
+ return
35
+ self.wrap_channels = getattr(obj, 'wrap_channels', None)
36
+
37
+
38
+ Mat.__module__ = cv.__name__
39
+ cv.Mat = Mat
40
+ cv._registerMatType(Mat)