opencv-python-headless 4.11.0.86__cp37-abi3-win32.whl → 4.13.0.90__cp37-abi3-win32.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.
cv2/aruco/__init__.pyi CHANGED
@@ -170,22 +170,39 @@ class RefineParameters:
170
170
 
171
171
  class ArucoDetector(cv2.Algorithm):
172
172
  # Functions
173
+ @_typing.overload
173
174
  def __init__(self, dictionary: Dictionary = ..., detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
175
+ @_typing.overload
176
+ def __init__(self, dictionaries: _typing.Sequence[Dictionary], detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
174
177
 
175
178
  @_typing.overload
176
179
  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
180
  @_typing.overload
178
181
  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
182
 
183
+ @_typing.overload
184
+ def detectMarkersWithConfidence(self, image: cv2.typing.MatLike, corners: _typing.Sequence[cv2.typing.MatLike] | None = ..., ids: cv2.typing.MatLike | None = ..., markersConfidence: cv2.typing.MatLike | None = ..., rejectedImgPoints: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike]]: ...
185
+ @_typing.overload
186
+ def detectMarkersWithConfidence(self, image: cv2.UMat, corners: _typing.Sequence[cv2.UMat] | None = ..., ids: cv2.UMat | None = ..., markersConfidence: cv2.UMat | None = ..., rejectedImgPoints: _typing.Sequence[cv2.UMat] | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat]]: ...
187
+
180
188
  @_typing.overload
181
189
  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
190
  @_typing.overload
183
191
  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
192
 
193
+ @_typing.overload
194
+ def detectMarkersMultiDict(self, image: cv2.typing.MatLike, corners: _typing.Sequence[cv2.typing.MatLike] | None = ..., ids: cv2.typing.MatLike | None = ..., rejectedImgPoints: _typing.Sequence[cv2.typing.MatLike] | None = ..., dictIndices: cv2.typing.MatLike | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
195
+ @_typing.overload
196
+ def detectMarkersMultiDict(self, image: cv2.UMat, corners: _typing.Sequence[cv2.UMat] | None = ..., ids: cv2.UMat | None = ..., rejectedImgPoints: _typing.Sequence[cv2.UMat] | None = ..., dictIndices: cv2.UMat | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
197
+
185
198
  def getDictionary(self) -> Dictionary: ...
186
199
 
187
200
  def setDictionary(self, dictionary: Dictionary) -> None: ...
188
201
 
202
+ def getDictionaries(self) -> _typing.Sequence[Dictionary]: ...
203
+
204
+ def setDictionaries(self, dictionaries: _typing.Sequence[Dictionary]) -> None: ...
205
+
189
206
  def getDetectorParameters(self) -> DetectorParameters: ...
190
207
 
191
208
  def setDetectorParameters(self, detectorParameters: DetectorParameters) -> None: ...
@@ -230,7 +247,7 @@ class Dictionary:
230
247
  def getByteListFromBits(bits: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
231
248
 
232
249
  @staticmethod
233
- def getBitsFromByteList(byteList: cv2.typing.MatLike, markerSize: int) -> cv2.typing.MatLike: ...
250
+ def getBitsFromByteList(byteList: cv2.typing.MatLike, markerSize: int, rotationId: int = ...) -> cv2.typing.MatLike: ...
234
251
 
235
252
 
236
253
  class CharucoParameters:
@@ -238,6 +255,7 @@ class CharucoParameters:
238
255
  distCoeffs: cv2.typing.MatLike
239
256
  minMarkers: int
240
257
  tryRefineMarkers: bool
258
+ checkMarkers: bool
241
259
 
242
260
  # Functions
243
261
  def __init__(self) -> None: ...
cv2/barcode/__init__.pyi CHANGED
@@ -2,6 +2,7 @@ __all__: list[str] = []
2
2
 
3
3
  import cv2
4
4
  import cv2.typing
5
+ import os
5
6
  import typing as _typing
6
7
 
7
8
 
@@ -11,7 +12,7 @@ class BarcodeDetector(cv2.GraphicalCodeDetector):
11
12
  @_typing.overload
12
13
  def __init__(self) -> None: ...
13
14
  @_typing.overload
14
- def __init__(self, prototxt_path: str, model_path: str) -> None: ...
15
+ def __init__(self, prototxt_path: str | os.PathLike[str], model_path: str | os.PathLike[str]) -> None: ...
15
16
 
16
17
  @_typing.overload
17
18
  def decodeWithType(self, img: cv2.typing.MatLike, points: cv2.typing.MatLike) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str]]: ...
cv2/config.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import os
2
2
 
3
3
  BINARIES_PATHS = [
4
- os.path.join(os.path.join(LOADER_DIR, '../../'), 'x86/vc14/bin')
4
+ os.path.join(os.path.join(LOADER_DIR, '../../'), 'x86/vc17/bin')
5
5
  ] + BINARIES_PATHS
cv2/cuda/__init__.pyi CHANGED
@@ -163,6 +163,8 @@ class GpuMat:
163
163
  @_typing.overload
164
164
  def setTo(self, s: cv2.typing.Scalar, mask: cv2.UMat, stream: Stream) -> GpuMat: ...
165
165
 
166
+ @_typing.overload
167
+ def convertTo(self, rtype: int, dst: GpuMat | None = ...) -> GpuMat: ...
166
168
  @_typing.overload
167
169
  def convertTo(self, rtype: int, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
168
170
  @_typing.overload
cv2/cv2.pyd CHANGED
Binary file
cv2/dnn/__init__.pyi CHANGED
@@ -3,6 +3,7 @@ __all__: list[str] = []
3
3
  import cv2
4
4
  import cv2.typing
5
5
  import numpy
6
+ import os
6
7
  import sys
7
8
  import typing as _typing
8
9
  if sys.version_info >= (3, 8):
@@ -112,7 +113,7 @@ class Net:
112
113
 
113
114
  @classmethod
114
115
  @_typing.overload
115
- def readFromModelOptimizer(cls, xml: str, bin: str) -> Net: ...
116
+ def readFromModelOptimizer(cls, xml: str | os.PathLike[str], bin: str | os.PathLike[str]) -> Net: ...
116
117
  @classmethod
117
118
  @_typing.overload
118
119
  def readFromModelOptimizer(cls, bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
@@ -121,9 +122,9 @@ class Net:
121
122
 
122
123
  def dump(self) -> str: ...
123
124
 
124
- def dumpToFile(self, path: str) -> None: ...
125
+ def dumpToFile(self, path: str | os.PathLike[str]) -> None: ...
125
126
 
126
- def dumpToPbtxt(self, path: str) -> None: ...
127
+ def dumpToPbtxt(self, path: str | os.PathLike[str]) -> None: ...
127
128
 
128
129
  def addLayer(self, name: str, type: str, dtype: int, params: cv2.typing.LayerParams) -> int: ...
129
130
 
@@ -142,6 +143,8 @@ class Net:
142
143
 
143
144
  def connect(self, outPin: str, inpPin: str) -> None: ...
144
145
 
146
+ def registerOutput(self, outputName: str, layerId: int, outputPort: int) -> int: ...
147
+
145
148
  def setInputsNames(self, inputBlobNames: _typing.Sequence[str]) -> None: ...
146
149
 
147
150
  def setInputShape(self, inputName: str, shape: cv2.typing.MatShape) -> None: ...
@@ -251,7 +254,7 @@ class Image2BlobParams:
251
254
  class Model:
252
255
  # Functions
253
256
  @_typing.overload
254
- def __init__(self, model: str, config: str = ...) -> None: ...
257
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
255
258
  @_typing.overload
256
259
  def __init__(self, network: Net) -> None: ...
257
260
 
@@ -287,7 +290,7 @@ class Model:
287
290
  class ClassificationModel(Model):
288
291
  # Functions
289
292
  @_typing.overload
290
- def __init__(self, model: str, config: str = ...) -> None: ...
293
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
291
294
  @_typing.overload
292
295
  def __init__(self, network: Net) -> None: ...
293
296
 
@@ -304,7 +307,7 @@ class ClassificationModel(Model):
304
307
  class KeypointsModel(Model):
305
308
  # Functions
306
309
  @_typing.overload
307
- def __init__(self, model: str, config: str = ...) -> None: ...
310
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
308
311
  @_typing.overload
309
312
  def __init__(self, network: Net) -> None: ...
310
313
 
@@ -317,7 +320,7 @@ class KeypointsModel(Model):
317
320
  class SegmentationModel(Model):
318
321
  # Functions
319
322
  @_typing.overload
320
- def __init__(self, model: str, config: str = ...) -> None: ...
323
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
321
324
  @_typing.overload
322
325
  def __init__(self, network: Net) -> None: ...
323
326
 
@@ -330,7 +333,7 @@ class SegmentationModel(Model):
330
333
  class DetectionModel(Model):
331
334
  # Functions
332
335
  @_typing.overload
333
- def __init__(self, model: str, config: str = ...) -> None: ...
336
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
334
337
  @_typing.overload
335
338
  def __init__(self, network: Net) -> None: ...
336
339
 
@@ -349,7 +352,7 @@ class TextRecognitionModel(Model):
349
352
  @_typing.overload
350
353
  def __init__(self, network: Net) -> None: ...
351
354
  @_typing.overload
352
- def __init__(self, model: str, config: str = ...) -> None: ...
355
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
353
356
 
354
357
  def setDecodeType(self, decodeType: str) -> TextRecognitionModel: ...
355
358
 
@@ -397,7 +400,7 @@ class TextDetectionModel_EAST(TextDetectionModel):
397
400
  @_typing.overload
398
401
  def __init__(self, network: Net) -> None: ...
399
402
  @_typing.overload
400
- def __init__(self, model: str, config: str = ...) -> None: ...
403
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
401
404
 
402
405
  def setConfidenceThreshold(self, confThreshold: float) -> TextDetectionModel_EAST: ...
403
406
 
@@ -413,7 +416,7 @@ class TextDetectionModel_DB(TextDetectionModel):
413
416
  @_typing.overload
414
417
  def __init__(self, network: Net) -> None: ...
415
418
  @_typing.overload
416
- def __init__(self, model: str, config: str = ...) -> None: ...
419
+ def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
417
420
 
418
421
  def setBinaryThreshold(self, binaryThreshold: float) -> TextDetectionModel_DB: ...
419
422
 
@@ -479,56 +482,68 @@ def blobFromImagesWithParams(images: _typing.Sequence[cv2.UMat], blob: cv2.UMat
479
482
 
480
483
  def getAvailableTargets(be: Backend) -> _typing.Sequence[Target]: ...
481
484
 
485
+ def getInferenceEngineBackendType() -> str: ...
486
+
487
+ def getInferenceEngineCPUType() -> str: ...
488
+
489
+ def getInferenceEngineVPUType() -> str: ...
490
+
482
491
  @_typing.overload
483
492
  def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
484
493
  @_typing.overload
485
494
  def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
486
495
 
487
496
  @_typing.overload
488
- def readNet(model: str, config: str = ..., framework: str = ...) -> Net: ...
497
+ def readNet(model: str | os.PathLike[str], config: str | os.PathLike[str] = ..., framework: str = ...) -> Net: ...
489
498
  @_typing.overload
490
499
  def readNet(framework: str, bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
491
500
 
492
501
  @_typing.overload
493
- def readNetFromCaffe(prototxt: str, caffeModel: str = ...) -> Net: ...
502
+ def readNetFromCaffe(prototxt: str | os.PathLike[str], caffeModel: str | os.PathLike[str] = ...) -> Net: ...
494
503
  @_typing.overload
495
504
  def readNetFromCaffe(bufferProto: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
496
505
 
497
506
  @_typing.overload
498
- def readNetFromDarknet(cfgFile: str, darknetModel: str = ...) -> Net: ...
507
+ def readNetFromDarknet(cfgFile: str | os.PathLike[str], darknetModel: str | os.PathLike[str] = ...) -> Net: ...
499
508
  @_typing.overload
500
509
  def readNetFromDarknet(bufferCfg: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
501
510
 
502
511
  @_typing.overload
503
- def readNetFromModelOptimizer(xml: str, bin: str = ...) -> Net: ...
512
+ def readNetFromModelOptimizer(xml: str | os.PathLike[str], bin: str | os.PathLike[str] = ...) -> Net: ...
504
513
  @_typing.overload
505
514
  def readNetFromModelOptimizer(bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
506
515
 
507
516
  @_typing.overload
508
- def readNetFromONNX(onnxFile: str) -> Net: ...
517
+ def readNetFromONNX(onnxFile: str | os.PathLike[str]) -> Net: ...
509
518
  @_typing.overload
510
519
  def readNetFromONNX(buffer: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
511
520
 
512
521
  @_typing.overload
513
- def readNetFromTFLite(model: str) -> Net: ...
522
+ def readNetFromTFLite(model: str | os.PathLike[str]) -> Net: ...
514
523
  @_typing.overload
515
524
  def readNetFromTFLite(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
516
525
 
517
526
  @_typing.overload
518
- def readNetFromTensorflow(model: str, config: str = ...) -> Net: ...
527
+ def readNetFromTensorflow(model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> Net: ...
519
528
  @_typing.overload
520
529
  def readNetFromTensorflow(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ...) -> Net: ...
521
530
 
522
- def readNetFromTorch(model: str, isBinary: bool = ..., evaluate: bool = ...) -> Net: ...
531
+ def readNetFromTorch(model: str | os.PathLike[str], isBinary: bool = ..., evaluate: bool = ...) -> Net: ...
532
+
533
+ def readTensorFromONNX(path: str | os.PathLike[str]) -> cv2.typing.MatLike: ...
534
+
535
+ def readTorchBlob(filename: str | os.PathLike[str], isBinary: bool = ...) -> cv2.typing.MatLike: ...
536
+
537
+ def releaseHDDLPlugin() -> None: ...
523
538
 
524
- def readTensorFromONNX(path: str) -> cv2.typing.MatLike: ...
539
+ def resetMyriadDevice() -> None: ...
525
540
 
526
- def readTorchBlob(filename: str, isBinary: bool = ...) -> cv2.typing.MatLike: ...
541
+ def setInferenceEngineBackendType(newBackendType: str) -> str: ...
527
542
 
528
- def shrinkCaffeModel(src: str, dst: str, layersTypes: _typing.Sequence[str] = ...) -> None: ...
543
+ def shrinkCaffeModel(src: str | os.PathLike[str], dst: str | os.PathLike[str], layersTypes: _typing.Sequence[str] = ...) -> None: ...
529
544
 
530
545
  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
546
 
532
- def writeTextGraph(model: str, output: str) -> None: ...
547
+ def writeTextGraph(model: str | os.PathLike[str], output: str | os.PathLike[str]) -> None: ...
533
548
 
534
549
 
cv2/fisheye/__init__.pyi CHANGED
@@ -42,9 +42,9 @@ def estimateNewCameraMatrixForUndistortRectify(K: cv2.typing.MatLike, D: cv2.typ
42
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
43
 
44
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]: ...
45
+ def initUndistortRectifyMap(K: cv2.typing.MatLike, D: cv2.typing.MatLike | None, 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
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]: ...
47
+ def initUndistortRectifyMap(K: cv2.UMat, D: cv2.UMat | None, 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
48
 
49
49
  @_typing.overload
50
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]: ...
@@ -56,6 +56,11 @@ def solvePnP(objectPoints: cv2.typing.MatLike, imagePoints: cv2.typing.MatLike,
56
56
  @_typing.overload
57
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
58
 
59
+ @_typing.overload
60
+ def solvePnPRansac(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 = ..., iterationsCount: int = ..., reprojectionError: float = ..., confidence: float = ..., inliers: cv2.typing.MatLike | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[bool, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
61
+ @_typing.overload
62
+ def solvePnPRansac(objectPoints: cv2.UMat, imagePoints: cv2.UMat, cameraMatrix: cv2.UMat, distCoeffs: cv2.UMat, rvec: cv2.UMat | None = ..., tvec: cv2.UMat | None = ..., useExtrinsicGuess: bool = ..., iterationsCount: int = ..., reprojectionError: float = ..., confidence: float = ..., inliers: cv2.UMat | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[bool, cv2.UMat, cv2.UMat, cv2.UMat]: ...
63
+
59
64
  @_typing.overload
60
65
  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
66
  @_typing.overload
cv2/flann/__init__.pyi CHANGED
@@ -2,6 +2,7 @@ __all__: list[str] = []
2
2
 
3
3
  import cv2
4
4
  import cv2.typing
5
+ import os
5
6
  import typing as _typing
6
7
 
7
8
 
@@ -47,12 +48,12 @@ class Index:
47
48
  @_typing.overload
48
49
  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
 
50
- def save(self, filename: str) -> None: ...
51
+ def save(self, filename: str | os.PathLike[str]) -> None: ...
51
52
 
52
53
  @_typing.overload
53
- def load(self, features: cv2.typing.MatLike, filename: str) -> bool: ...
54
+ def load(self, features: cv2.typing.MatLike, filename: str | os.PathLike[str]) -> bool: ...
54
55
  @_typing.overload
55
- def load(self, features: cv2.UMat, filename: str) -> bool: ...
56
+ def load(self, features: cv2.UMat, filename: str | os.PathLike[str]) -> bool: ...
56
57
 
57
58
  def release(self) -> None: ...
58
59
 
cv2/gapi/wip/__init__.pyi CHANGED
@@ -38,4 +38,6 @@ def make_capture_src(id: int, properties: cv2.typing.map_int_and_double = ...) -
38
38
 
39
39
  def make_gst_src(pipeline: str, outputType: cv2.gapi.wip.gst.GStreamerSource_OutputType = ...) -> IStreamSource: ...
40
40
 
41
+ def make_py_src(src: IStreamSource) -> IStreamSource: ...
42
+
41
43
 
cv2/instr/__init__.pyi ADDED
@@ -0,0 +1,24 @@
1
+ __all__: list[str] = []
2
+
3
+ # Enumerations
4
+ TYPE_GENERAL: int
5
+ TYPE_MARKER: int
6
+ TYPE_WRAPPER: int
7
+ TYPE_FUN: int
8
+ TYPE = int
9
+ """One of [TYPE_GENERAL, TYPE_MARKER, TYPE_WRAPPER, TYPE_FUN]"""
10
+
11
+ IMPL_PLAIN: int
12
+ IMPL_IPP: int
13
+ IMPL_OPENCL: int
14
+ IMPL = int
15
+ """One of [IMPL_PLAIN, IMPL_IPP, IMPL_OPENCL]"""
16
+
17
+ FLAGS_NONE: int
18
+ FLAGS_MAPPING: int
19
+ FLAGS_EXPAND_SAME_NAMES: int
20
+ FLAGS = int
21
+ """One of [FLAGS_NONE, FLAGS_MAPPING, FLAGS_EXPAND_SAME_NAMES]"""
22
+
23
+
24
+
cv2/load_config_py3.py CHANGED
@@ -5,5 +5,5 @@ import sys
5
5
  if sys.version_info[:2] >= (3, 0):
6
6
  def exec_file_wrapper(fpath, g_vars, l_vars):
7
7
  with open(fpath) as f:
8
- code = compile(f.read(), os.path.basename(fpath), 'exec')
8
+ code = compile(f.read(), fpath, 'exec')
9
9
  exec(code, g_vars, l_vars)
cv2/ml/__init__.pyi CHANGED
@@ -2,6 +2,7 @@ __all__: list[str] = []
2
2
 
3
3
  import cv2
4
4
  import cv2.typing
5
+ import os
5
6
  import typing as _typing
6
7
 
7
8
 
@@ -294,7 +295,7 @@ class NormalBayesClassifier(StatModel):
294
295
  def create(cls) -> NormalBayesClassifier: ...
295
296
 
296
297
  @classmethod
297
- def load(cls, filepath: str, nodeName: str = ...) -> NormalBayesClassifier: ...
298
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> NormalBayesClassifier: ...
298
299
 
299
300
 
300
301
  class KNearest(StatModel):
@@ -324,7 +325,7 @@ class KNearest(StatModel):
324
325
  def create(cls) -> KNearest: ...
325
326
 
326
327
  @classmethod
327
- def load(cls, filepath: str) -> KNearest: ...
328
+ def load(cls, filepath: str | os.PathLike[str]) -> KNearest: ...
328
329
 
329
330
 
330
331
  class SVM(StatModel):
@@ -390,7 +391,7 @@ class SVM(StatModel):
390
391
  def create(cls) -> SVM: ...
391
392
 
392
393
  @classmethod
393
- def load(cls, filepath: str) -> SVM: ...
394
+ def load(cls, filepath: str | os.PathLike[str]) -> SVM: ...
394
395
 
395
396
 
396
397
  class EM(StatModel):
@@ -442,7 +443,7 @@ class EM(StatModel):
442
443
  def create(cls) -> EM: ...
443
444
 
444
445
  @classmethod
445
- def load(cls, filepath: str, nodeName: str = ...) -> EM: ...
446
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> EM: ...
446
447
 
447
448
 
448
449
  class DTrees(StatModel):
@@ -487,7 +488,7 @@ class DTrees(StatModel):
487
488
  def create(cls) -> DTrees: ...
488
489
 
489
490
  @classmethod
490
- def load(cls, filepath: str, nodeName: str = ...) -> DTrees: ...
491
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> DTrees: ...
491
492
 
492
493
 
493
494
  class RTrees(DTrees):
@@ -517,7 +518,7 @@ class RTrees(DTrees):
517
518
  def create(cls) -> RTrees: ...
518
519
 
519
520
  @classmethod
520
- def load(cls, filepath: str, nodeName: str = ...) -> RTrees: ...
521
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> RTrees: ...
521
522
 
522
523
 
523
524
  class Boost(DTrees):
@@ -538,7 +539,7 @@ class Boost(DTrees):
538
539
  def create(cls) -> Boost: ...
539
540
 
540
541
  @classmethod
541
- def load(cls, filepath: str, nodeName: str = ...) -> Boost: ...
542
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> Boost: ...
542
543
 
543
544
 
544
545
  class ANN_MLP(StatModel):
@@ -610,7 +611,7 @@ class ANN_MLP(StatModel):
610
611
  def create(cls) -> ANN_MLP: ...
611
612
 
612
613
  @classmethod
613
- def load(cls, filepath: str) -> ANN_MLP: ...
614
+ def load(cls, filepath: str | os.PathLike[str]) -> ANN_MLP: ...
614
615
 
615
616
 
616
617
  class LogisticRegression(StatModel):
@@ -650,7 +651,7 @@ class LogisticRegression(StatModel):
650
651
  def create(cls) -> LogisticRegression: ...
651
652
 
652
653
  @classmethod
653
- def load(cls, filepath: str, nodeName: str = ...) -> LogisticRegression: ...
654
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> LogisticRegression: ...
654
655
 
655
656
 
656
657
  class SVMSGD(StatModel):
@@ -663,7 +664,7 @@ class SVMSGD(StatModel):
663
664
  def create(cls) -> SVMSGD: ...
664
665
 
665
666
  @classmethod
666
- def load(cls, filepath: str, nodeName: str = ...) -> SVMSGD: ...
667
+ def load(cls, filepath: str | os.PathLike[str], nodeName: str = ...) -> SVMSGD: ...
667
668
 
668
669
  def setOptimalParameters(self, svmsgdType: int = ..., marginType: int = ...) -> None: ...
669
670
 
cv2/typing/__init__.py CHANGED
@@ -58,12 +58,12 @@ __all__ = [
58
58
  "ExtractMetaCallback",
59
59
  ]
60
60
 
61
+ import numpy
62
+ import typing as _typing
61
63
  import cv2.dnn
64
+ import cv2
62
65
  import cv2.gapi.wip.draw
63
- import typing as _typing
64
66
  import cv2.mat_wrapper
65
- import numpy
66
- import cv2
67
67
 
68
68
 
69
69
  if _typing.TYPE_CHECKING:
@@ -98,8 +98,8 @@ Size = _typing.Sequence[int]
98
98
  """Required length is 2"""
99
99
  Size2f = _typing.Sequence[float]
100
100
  """Required length is 2"""
101
- Scalar = _typing.Sequence[float]
102
- """Required length is at most 4"""
101
+ Scalar = _typing.Union[_typing.Sequence[float], float]
102
+ """Max sequence length is at most 4"""
103
103
  Point = _typing.Sequence[int]
104
104
  """Required length is 2"""
105
105
  Point2i = Point
cv2/utils/__init__.pyi CHANGED
@@ -6,6 +6,7 @@ import typing as _typing
6
6
 
7
7
 
8
8
  from cv2.utils import fs as fs
9
+ from cv2.utils import logging as logging
9
10
  from cv2.utils import nested as nested
10
11
 
11
12
 
@@ -0,0 +1,22 @@
1
+ __all__: list[str] = []
2
+
3
+ # Enumerations
4
+ LOG_LEVEL_SILENT: int
5
+ LOG_LEVEL_FATAL: int
6
+ LOG_LEVEL_ERROR: int
7
+ LOG_LEVEL_WARNING: int
8
+ LOG_LEVEL_INFO: int
9
+ LOG_LEVEL_DEBUG: int
10
+ LOG_LEVEL_VERBOSE: int
11
+ ENUM_LOG_LEVEL_FORCE_INT: int
12
+ LogLevel = int
13
+ """One of [LOG_LEVEL_SILENT, LOG_LEVEL_FATAL, LOG_LEVEL_ERROR, LOG_LEVEL_WARNING, LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_VERBOSE, ENUM_LOG_LEVEL_FORCE_INT]"""
14
+
15
+
16
+
17
+ # Functions
18
+ def getLogLevel() -> LogLevel: ...
19
+
20
+ def setLogLevel(logLevel: LogLevel) -> LogLevel: ...
21
+
22
+
cv2/version.py CHANGED
@@ -1,4 +1,4 @@
1
- opencv_version = "4.11.0.86"
1
+ opencv_version = "4.13.0.90"
2
2
  contrib = False
3
3
  headless = True
4
4
  rolling = False