opencv-contrib-python-headless 4.11.0.86__cp37-abi3-macosx_13_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. cv2/.dylibs/libSvtAv1Enc.2.2.0.dylib +0 -0
  2. cv2/.dylibs/libX11.6.dylib +0 -0
  3. cv2/.dylibs/libXau.6.0.0.dylib +0 -0
  4. cv2/.dylibs/libXdmcp.6.dylib +0 -0
  5. cv2/.dylibs/libaom.3.11.0.dylib +0 -0
  6. cv2/.dylibs/libarchive.13.dylib +0 -0
  7. cv2/.dylibs/libaribb24.0.dylib +0 -0
  8. cv2/.dylibs/libavcodec.61.19.100.dylib +0 -0
  9. cv2/.dylibs/libavformat.61.7.100.dylib +0 -0
  10. cv2/.dylibs/libavutil.59.39.100.dylib +0 -0
  11. cv2/.dylibs/libb2.1.dylib +0 -0
  12. cv2/.dylibs/libbluray.2.dylib +0 -0
  13. cv2/.dylibs/libbrotlicommon.1.1.0.dylib +0 -0
  14. cv2/.dylibs/libbrotlidec.1.1.0.dylib +0 -0
  15. cv2/.dylibs/libbrotlienc.1.1.0.dylib +0 -0
  16. cv2/.dylibs/libcjson.1.7.18.dylib +0 -0
  17. cv2/.dylibs/libcrypto.3.dylib +0 -0
  18. cv2/.dylibs/libdav1d.7.dylib +0 -0
  19. cv2/.dylibs/libfontconfig.1.dylib +0 -0
  20. cv2/.dylibs/libfreetype.6.dylib +0 -0
  21. cv2/.dylibs/libgif.7.2.0.dylib +0 -0
  22. cv2/.dylibs/libgmp.10.dylib +0 -0
  23. cv2/.dylibs/libgnutls.30.dylib +0 -0
  24. cv2/.dylibs/libhogweed.6.9.dylib +0 -0
  25. cv2/.dylibs/libhwy.1.2.0.dylib +0 -0
  26. cv2/.dylibs/libidn2.0.dylib +0 -0
  27. cv2/.dylibs/libintl.8.dylib +0 -0
  28. cv2/.dylibs/libjpeg.8.3.2.dylib +0 -0
  29. cv2/.dylibs/libjxl.0.11.1.dylib +0 -0
  30. cv2/.dylibs/libjxl_cms.0.11.1.dylib +0 -0
  31. cv2/.dylibs/libjxl_threads.0.11.1.dylib +0 -0
  32. cv2/.dylibs/liblcms2.2.dylib +0 -0
  33. cv2/.dylibs/libleptonica.6.dylib +0 -0
  34. cv2/.dylibs/liblz4.1.10.0.dylib +0 -0
  35. cv2/.dylibs/liblzma.5.dylib +0 -0
  36. cv2/.dylibs/libmbedcrypto.3.6.2.dylib +0 -0
  37. cv2/.dylibs/libmp3lame.0.dylib +0 -0
  38. cv2/.dylibs/libnettle.8.9.dylib +0 -0
  39. cv2/.dylibs/libogg.0.dylib +0 -0
  40. cv2/.dylibs/libopencore-amrnb.0.dylib +0 -0
  41. cv2/.dylibs/libopencore-amrwb.0.dylib +0 -0
  42. cv2/.dylibs/libopenjp2.2.5.2.dylib +0 -0
  43. cv2/.dylibs/libopus.0.dylib +0 -0
  44. cv2/.dylibs/libp11-kit.0.dylib +0 -0
  45. cv2/.dylibs/libpng16.16.dylib +0 -0
  46. cv2/.dylibs/librav1e.0.7.1.dylib +0 -0
  47. cv2/.dylibs/librist.4.dylib +0 -0
  48. cv2/.dylibs/libsharpyuv.0.1.0.dylib +0 -0
  49. cv2/.dylibs/libsnappy.1.2.1.dylib +0 -0
  50. cv2/.dylibs/libsodium.26.dylib +0 -0
  51. cv2/.dylibs/libsoxr.0.1.2.dylib +0 -0
  52. cv2/.dylibs/libspeex.1.dylib +0 -0
  53. cv2/.dylibs/libsrt.1.5.4.dylib +0 -0
  54. cv2/.dylibs/libssh.4.10.1.dylib +0 -0
  55. cv2/.dylibs/libssl.3.dylib +0 -0
  56. cv2/.dylibs/libswresample.5.3.100.dylib +0 -0
  57. cv2/.dylibs/libswscale.8.3.100.dylib +0 -0
  58. cv2/.dylibs/libtasn1.6.dylib +0 -0
  59. cv2/.dylibs/libtesseract.5.dylib +0 -0
  60. cv2/.dylibs/libtheoradec.1.dylib +0 -0
  61. cv2/.dylibs/libtheoraenc.1.dylib +0 -0
  62. cv2/.dylibs/libtiff.6.dylib +0 -0
  63. cv2/.dylibs/libunistring.5.dylib +0 -0
  64. cv2/.dylibs/libvmaf.3.dylib +0 -0
  65. cv2/.dylibs/libvorbis.0.dylib +0 -0
  66. cv2/.dylibs/libvorbisenc.2.dylib +0 -0
  67. cv2/.dylibs/libvpx.9.dylib +0 -0
  68. cv2/.dylibs/libwebp.7.1.9.dylib +0 -0
  69. cv2/.dylibs/libwebpmux.3.1.0.dylib +0 -0
  70. cv2/.dylibs/libx264.164.dylib +0 -0
  71. cv2/.dylibs/libx265.212.dylib +0 -0
  72. cv2/.dylibs/libxcb.1.1.0.dylib +0 -0
  73. cv2/.dylibs/libzmq.5.dylib +0 -0
  74. cv2/.dylibs/libzstd.1.5.6.dylib +0 -0
  75. cv2/Error/__init__.pyi +118 -0
  76. cv2/LICENSE-3RD-PARTY.txt +3090 -0
  77. cv2/LICENSE.txt +21 -0
  78. cv2/__init__.py +181 -0
  79. cv2/__init__.pyi +6681 -0
  80. cv2/aruco/__init__.pyi +392 -0
  81. cv2/barcode/__init__.pyi +39 -0
  82. cv2/bgsegm/__init__.pyi +177 -0
  83. cv2/bioinspired/__init__.pyi +121 -0
  84. cv2/ccm/__init__.pyi +167 -0
  85. cv2/colored_kinfu/__init__.pyi +96 -0
  86. cv2/config-3.py +24 -0
  87. cv2/config.py +5 -0
  88. cv2/cuda/__init__.pyi +551 -0
  89. cv2/cv2.abi3.so +0 -0
  90. cv2/data/__init__.py +3 -0
  91. cv2/data/haarcascade_eye.xml +12213 -0
  92. cv2/data/haarcascade_eye_tree_eyeglasses.xml +22619 -0
  93. cv2/data/haarcascade_frontalcatface.xml +14382 -0
  94. cv2/data/haarcascade_frontalcatface_extended.xml +13394 -0
  95. cv2/data/haarcascade_frontalface_alt.xml +24350 -0
  96. cv2/data/haarcascade_frontalface_alt2.xml +20719 -0
  97. cv2/data/haarcascade_frontalface_alt_tree.xml +96484 -0
  98. cv2/data/haarcascade_frontalface_default.xml +33314 -0
  99. cv2/data/haarcascade_fullbody.xml +17030 -0
  100. cv2/data/haarcascade_lefteye_2splits.xml +7390 -0
  101. cv2/data/haarcascade_license_plate_rus_16stages.xml +1404 -0
  102. cv2/data/haarcascade_lowerbody.xml +14056 -0
  103. cv2/data/haarcascade_profileface.xml +29690 -0
  104. cv2/data/haarcascade_righteye_2splits.xml +7407 -0
  105. cv2/data/haarcascade_russian_plate_number.xml +2656 -0
  106. cv2/data/haarcascade_smile.xml +6729 -0
  107. cv2/data/haarcascade_upperbody.xml +28134 -0
  108. cv2/datasets/__init__.pyi +80 -0
  109. cv2/detail/__init__.pyi +627 -0
  110. cv2/dnn/__init__.pyi +534 -0
  111. cv2/dnn_superres/__init__.pyi +37 -0
  112. cv2/dpm/__init__.pyi +10 -0
  113. cv2/dynafu/__init__.pyi +43 -0
  114. cv2/face/__init__.pyi +219 -0
  115. cv2/fisheye/__init__.pyi +83 -0
  116. cv2/flann/__init__.pyi +64 -0
  117. cv2/ft/__init__.pyi +98 -0
  118. cv2/gapi/__init__.py +323 -0
  119. cv2/gapi/__init__.pyi +349 -0
  120. cv2/gapi/core/__init__.pyi +7 -0
  121. cv2/gapi/core/cpu/__init__.pyi +9 -0
  122. cv2/gapi/core/fluid/__init__.pyi +9 -0
  123. cv2/gapi/core/ocl/__init__.pyi +9 -0
  124. cv2/gapi/ie/__init__.pyi +51 -0
  125. cv2/gapi/ie/detail/__init__.pyi +12 -0
  126. cv2/gapi/imgproc/__init__.pyi +5 -0
  127. cv2/gapi/imgproc/fluid/__init__.pyi +9 -0
  128. cv2/gapi/oak/__init__.pyi +37 -0
  129. cv2/gapi/onnx/__init__.pyi +55 -0
  130. cv2/gapi/onnx/ep/__init__.pyi +63 -0
  131. cv2/gapi/ot/__init__.pyi +32 -0
  132. cv2/gapi/ot/cpu/__init__.pyi +9 -0
  133. cv2/gapi/ov/__init__.pyi +74 -0
  134. cv2/gapi/own/__init__.pyi +5 -0
  135. cv2/gapi/own/detail/__init__.pyi +10 -0
  136. cv2/gapi/render/__init__.pyi +5 -0
  137. cv2/gapi/render/ocv/__init__.pyi +9 -0
  138. cv2/gapi/streaming/__init__.pyi +42 -0
  139. cv2/gapi/video/__init__.pyi +10 -0
  140. cv2/gapi/wip/__init__.pyi +41 -0
  141. cv2/gapi/wip/draw/__init__.pyi +119 -0
  142. cv2/gapi/wip/gst/__init__.pyi +17 -0
  143. cv2/gapi/wip/onevpl/__init__.pyi +16 -0
  144. cv2/hfs/__init__.pyi +53 -0
  145. cv2/img_hash/__init__.pyi +116 -0
  146. cv2/intensity_transform/__init__.pyi +27 -0
  147. cv2/ipp/__init__.pyi +14 -0
  148. cv2/kinfu/__init__.pyi +133 -0
  149. cv2/kinfu/detail/__init__.pyi +7 -0
  150. cv2/large_kinfu/__init__.pyi +73 -0
  151. cv2/legacy/__init__.pyi +93 -0
  152. cv2/line_descriptor/__init__.pyi +112 -0
  153. cv2/linemod/__init__.pyi +151 -0
  154. cv2/load_config_py2.py +6 -0
  155. cv2/load_config_py3.py +9 -0
  156. cv2/mat_wrapper/__init__.py +40 -0
  157. cv2/mcc/__init__.pyi +109 -0
  158. cv2/misc/__init__.py +1 -0
  159. cv2/misc/version.py +5 -0
  160. cv2/ml/__init__.pyi +695 -0
  161. cv2/motempl/__init__.pyi +29 -0
  162. cv2/multicalib/__init__.pyi +10 -0
  163. cv2/ocl/__init__.pyi +252 -0
  164. cv2/ogl/__init__.pyi +51 -0
  165. cv2/omnidir/__init__.pyi +68 -0
  166. cv2/optflow/__init__.pyi +286 -0
  167. cv2/parallel/__init__.pyi +6 -0
  168. cv2/phase_unwrapping/__init__.pyi +41 -0
  169. cv2/plot/__init__.pyi +64 -0
  170. cv2/ppf_match_3d/__init__.pyi +90 -0
  171. cv2/py.typed +0 -0
  172. cv2/quality/__init__.pyi +149 -0
  173. cv2/rapid/__init__.pyi +91 -0
  174. cv2/reg/__init__.pyi +210 -0
  175. cv2/rgbd/__init__.pyi +449 -0
  176. cv2/saliency/__init__.pyi +119 -0
  177. cv2/samples/__init__.pyi +12 -0
  178. cv2/segmentation/__init__.pyi +39 -0
  179. cv2/signal/__init__.pyi +14 -0
  180. cv2/stereo/__init__.pyi +87 -0
  181. cv2/structured_light/__init__.pyi +94 -0
  182. cv2/text/__init__.pyi +203 -0
  183. cv2/typing/__init__.py +180 -0
  184. cv2/utils/__init__.py +14 -0
  185. cv2/utils/__init__.pyi +109 -0
  186. cv2/utils/fs/__init__.pyi +6 -0
  187. cv2/utils/nested/__init__.pyi +31 -0
  188. cv2/version.py +5 -0
  189. cv2/videoio_registry/__init__.pyi +31 -0
  190. cv2/videostab/__init__.pyi +16 -0
  191. cv2/wechat_qrcode/__init__.pyi +23 -0
  192. cv2/xfeatures2d/__init__.pyi +537 -0
  193. cv2/ximgproc/__init__.pyi +742 -0
  194. cv2/ximgproc/segmentation/__init__.pyi +116 -0
  195. cv2/xphoto/__init__.pyi +142 -0
  196. opencv_contrib_python_headless-4.11.0.86.dist-info/LICENSE-3RD-PARTY.txt +3090 -0
  197. opencv_contrib_python_headless-4.11.0.86.dist-info/LICENSE.txt +21 -0
  198. opencv_contrib_python_headless-4.11.0.86.dist-info/METADATA +306 -0
  199. opencv_contrib_python_headless-4.11.0.86.dist-info/RECORD +201 -0
  200. opencv_contrib_python_headless-4.11.0.86.dist-info/WHEEL +5 -0
  201. opencv_contrib_python_headless-4.11.0.86.dist-info/top_level.txt +1 -0
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
+
@@ -0,0 +1,37 @@
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.typing
5
+ import typing as _typing
6
+
7
+
8
+ # Classes
9
+ class DnnSuperResImpl:
10
+ # Functions
11
+ @classmethod
12
+ def create(cls) -> DnnSuperResImpl: ...
13
+
14
+ def readModel(self, path: str) -> None: ...
15
+
16
+ def setModel(self, algo: str, scale: int) -> None: ...
17
+
18
+ def setPreferableBackend(self, backendId: int) -> None: ...
19
+
20
+ def setPreferableTarget(self, targetId: int) -> None: ...
21
+
22
+ @_typing.overload
23
+ def upsample(self, img: cv2.typing.MatLike, result: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
24
+ @_typing.overload
25
+ def upsample(self, img: cv2.UMat, result: cv2.UMat | None = ...) -> cv2.UMat: ...
26
+
27
+ @_typing.overload
28
+ def upsampleMultioutput(self, img: cv2.typing.MatLike, imgs_new: _typing.Sequence[cv2.typing.MatLike], scale_factors: _typing.Sequence[int], node_names: _typing.Sequence[str]) -> None: ...
29
+ @_typing.overload
30
+ def upsampleMultioutput(self, img: cv2.UMat, imgs_new: _typing.Sequence[cv2.typing.MatLike], scale_factors: _typing.Sequence[int], node_names: _typing.Sequence[str]) -> None: ...
31
+
32
+ def getScale(self) -> int: ...
33
+
34
+ def getAlgorithm(self) -> str: ...
35
+
36
+
37
+
cv2/dpm/__init__.pyi ADDED
@@ -0,0 +1,10 @@
1
+ __all__: list[str] = []
2
+
3
+ # Classes
4
+ class DPMDetector:
5
+ # Classes
6
+ class ObjectDetection:
7
+ ...
8
+
9
+
10
+
@@ -0,0 +1,43 @@
1
+ __all__: list[str] = []
2
+
3
+ import cv2
4
+ import cv2.kinfu
5
+ import cv2.typing
6
+ import typing as _typing
7
+
8
+
9
+ # Classes
10
+ class DynaFu:
11
+ # Functions
12
+ @classmethod
13
+ def create(cls, _params: cv2.kinfu.Params) -> DynaFu: ...
14
+
15
+ @_typing.overload
16
+ def render(self, image: cv2.typing.MatLike | None = ..., cameraPose: cv2.typing.Matx44f = ...) -> cv2.typing.MatLike: ...
17
+ @_typing.overload
18
+ def render(self, image: cv2.UMat | None = ..., cameraPose: cv2.typing.Matx44f = ...) -> cv2.UMat: ...
19
+
20
+ @_typing.overload
21
+ def getCloud(self, points: cv2.typing.MatLike | None = ..., normals: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
22
+ @_typing.overload
23
+ def getCloud(self, points: cv2.UMat | None = ..., normals: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
24
+
25
+ @_typing.overload
26
+ def getPoints(self, points: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
27
+ @_typing.overload
28
+ def getPoints(self, points: cv2.UMat | None = ...) -> cv2.UMat: ...
29
+
30
+ @_typing.overload
31
+ def getNormals(self, points: cv2.typing.MatLike, normals: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
32
+ @_typing.overload
33
+ def getNormals(self, points: cv2.UMat, normals: cv2.UMat | None = ...) -> cv2.UMat: ...
34
+
35
+ def reset(self) -> None: ...
36
+
37
+ @_typing.overload
38
+ def update(self, depth: cv2.typing.MatLike) -> bool: ...
39
+ @_typing.overload
40
+ def update(self, depth: cv2.UMat) -> bool: ...
41
+
42
+
43
+