types-opencv-python 1.0.0__py3-none-any.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/Error.pyi +78 -0
- cv2/__init__.pyi +12673 -0
- cv2/aruco.pyi +627 -0
- cv2/barcode.pyi +93 -0
- cv2/cuda.pyi +996 -0
- cv2/detail.pyi +1029 -0
- cv2/dnn.pyi +1564 -0
- cv2/fisheye.pyi +302 -0
- cv2/flann.pyi +55 -0
- cv2/gapi/__init__.pyi +1509 -0
- cv2/gapi/core/cpu.pyi +25 -0
- cv2/gapi/core/fluid.pyi +25 -0
- cv2/gapi/core/ocl.pyi +25 -0
- cv2/gapi/ie/__init__.pyi +84 -0
- cv2/gapi/ie/detail.pyi +25 -0
- cv2/gapi/imgproc/fluid.pyi +25 -0
- cv2/gapi/oak.pyi +33 -0
- cv2/gapi/onnx/__init__.pyi +81 -0
- cv2/gapi/onnx/ep.pyi +145 -0
- cv2/gapi/ot/__init__.pyi +60 -0
- cv2/gapi/ot/cpu.pyi +25 -0
- cv2/gapi/ov.pyi +207 -0
- cv2/gapi/own/detail.pyi +25 -0
- cv2/gapi/render/ocv.pyi +25 -0
- cv2/gapi/streaming.pyi +73 -0
- cv2/gapi/video.pyi +25 -0
- cv2/gapi/wip/__init__.pyi +78 -0
- cv2/gapi/wip/draw.pyi +222 -0
- cv2/gapi/wip/gst.pyi +34 -0
- cv2/gapi/wip/onevpl.pyi +27 -0
- cv2/instr.pyi +33 -0
- cv2/ipp.pyi +33 -0
- cv2/ml.pyi +1500 -0
- cv2/ocl.pyi +234 -0
- cv2/ogl.pyi +44 -0
- cv2/parallel.pyi +30 -0
- cv2/py.typed +0 -0
- cv2/samples.pyi +68 -0
- cv2/segmentation.pyi +124 -0
- cv2/utils/__init__.pyi +204 -0
- cv2/utils/fs.pyi +25 -0
- cv2/utils/logging.pyi +40 -0
- cv2/utils/nested.pyi +45 -0
- cv2/videoio_registry.pyi +70 -0
- types_opencv_python-1.0.0.dist-info/METADATA +4 -0
- types_opencv_python-1.0.0.dist-info/RECORD +48 -0
- types_opencv_python-1.0.0.dist-info/WHEEL +5 -0
- types_opencv_python-1.0.0.dist-info/top_level.txt +1 -0
cv2/detail.pyi
ADDED
|
@@ -0,0 +1,1029 @@
|
|
|
1
|
+
'''
|
|
2
|
+
encode: utf-8
|
|
3
|
+
Date: 2026-02-19 15:09:25
|
|
4
|
+
LastEditTime: 2026-02-19 15:09:25
|
|
5
|
+
FilePath: /genout6/media/adminmaster/veracrypt3/Develop/td-opencv/dev/base.pyi
|
|
6
|
+
'''
|
|
7
|
+
import typing
|
|
8
|
+
from typing import overload
|
|
9
|
+
|
|
10
|
+
T0=typing.TypeVar("T0")
|
|
11
|
+
T1=typing.TypeVar("T1")
|
|
12
|
+
T2=typing.TypeVar("T2")
|
|
13
|
+
T3=typing.TypeVar("T3")
|
|
14
|
+
T4=typing.TypeVar("T4")
|
|
15
|
+
T5=typing.TypeVar("T5")
|
|
16
|
+
T6=typing.TypeVar("T6")
|
|
17
|
+
T7=typing.TypeVar("T7")
|
|
18
|
+
T8=typing.TypeVar("T8")
|
|
19
|
+
|
|
20
|
+
retval=typing.Any
|
|
21
|
+
readyIndex=int
|
|
22
|
+
|
|
23
|
+
TEST_CUSTOM:int = ...
|
|
24
|
+
TEST_EQ:int = ...
|
|
25
|
+
TEST_NE:int = ...
|
|
26
|
+
TEST_LE:int = ...
|
|
27
|
+
TEST_LT:int = ...
|
|
28
|
+
TEST_GE:int = ...
|
|
29
|
+
TEST_GT:int = ...
|
|
30
|
+
TrackerSamplerCSC_MODE_INIT_POS:int = ...
|
|
31
|
+
TrackerSamplerCSC_MODE_INIT_NEG:int = ...
|
|
32
|
+
TrackerSamplerCSC_MODE_TRACK_POS:int = ...
|
|
33
|
+
TrackerSamplerCSC_MODE_TRACK_NEG:int = ...
|
|
34
|
+
TrackerSamplerCSC_MODE_DETECT:int = ...
|
|
35
|
+
OpaqueKind_CV_UNKNOWN:int = ...
|
|
36
|
+
OpaqueKind_CV_BOOL:int = ...
|
|
37
|
+
OpaqueKind_CV_INT:int = ...
|
|
38
|
+
OpaqueKind_CV_INT64:int = ...
|
|
39
|
+
OpaqueKind_CV_DOUBLE:int = ...
|
|
40
|
+
OpaqueKind_CV_FLOAT:int = ...
|
|
41
|
+
OpaqueKind_CV_UINT64:int = ...
|
|
42
|
+
OpaqueKind_CV_STRING:int = ...
|
|
43
|
+
OpaqueKind_CV_POINT:int = ...
|
|
44
|
+
OpaqueKind_CV_POINT2F:int = ...
|
|
45
|
+
OpaqueKind_CV_POINT3F:int = ...
|
|
46
|
+
OpaqueKind_CV_SIZE:int = ...
|
|
47
|
+
OpaqueKind_CV_RECT:int = ...
|
|
48
|
+
OpaqueKind_CV_SCALAR:int = ...
|
|
49
|
+
OpaqueKind_CV_MAT:int = ...
|
|
50
|
+
OpaqueKind_CV_DRAW_PRIM:int = ...
|
|
51
|
+
ArgKind_OPAQUE_VAL:int = ...
|
|
52
|
+
ArgKind_OPAQUE:int = ...
|
|
53
|
+
ArgKind_GOBJREF:int = ...
|
|
54
|
+
ArgKind_GMAT:int = ...
|
|
55
|
+
ArgKind_GMATP:int = ...
|
|
56
|
+
ArgKind_GFRAME:int = ...
|
|
57
|
+
ArgKind_GSCALAR:int = ...
|
|
58
|
+
ArgKind_GARRAY:int = ...
|
|
59
|
+
ArgKind_GOPAQUE:int = ...
|
|
60
|
+
Blender_NO:int = ...
|
|
61
|
+
Blender_FEATHER:int = ...
|
|
62
|
+
Blender_MULTI_BAND:int = ...
|
|
63
|
+
ExposureCompensator_NO:int = ...
|
|
64
|
+
ExposureCompensator_GAIN:int = ...
|
|
65
|
+
ExposureCompensator_GAIN_BLOCKS:int = ...
|
|
66
|
+
ExposureCompensator_CHANNELS:int = ...
|
|
67
|
+
ExposureCompensator_CHANNELS_BLOCKS:int = ...
|
|
68
|
+
WAVE_CORRECT_HORIZ:int = ...
|
|
69
|
+
WAVE_CORRECT_VERT:int = ...
|
|
70
|
+
WAVE_CORRECT_AUTO:int = ...
|
|
71
|
+
SeamFinder_NO:int = ...
|
|
72
|
+
SeamFinder_VORONOI_SEAM:int = ...
|
|
73
|
+
SeamFinder_DP_SEAM:int = ...
|
|
74
|
+
DpSeamFinder_COLOR:int = ...
|
|
75
|
+
DpSeamFinder_COLOR_GRAD:int = ...
|
|
76
|
+
GraphCutSeamFinderBase_COST_COLOR:int = ...
|
|
77
|
+
GraphCutSeamFinderBase_COST_COLOR_GRAD:int = ...
|
|
78
|
+
Timelapser_AS_IS:int = ...
|
|
79
|
+
Timelapser_CROP:int = ...
|
|
80
|
+
class Blender:
|
|
81
|
+
@overload
|
|
82
|
+
def prepare(self,dst_roi) -> None:
|
|
83
|
+
"""
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
@overload
|
|
90
|
+
def prepare(self,corners,sizes) -> None:
|
|
91
|
+
"""
|
|
92
|
+
```
|
|
93
|
+
Prepares the blender for blending.
|
|
94
|
+
```
|
|
95
|
+
---
|
|
96
|
+
```
|
|
97
|
+
Parameters:
|
|
98
|
+
corners: Source images top-left corners
|
|
99
|
+
sizes: Source image sizes
|
|
100
|
+
```
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
def feed(self,img,mask,tl) -> None:
|
|
104
|
+
"""
|
|
105
|
+
```
|
|
106
|
+
Processes the image.
|
|
107
|
+
```
|
|
108
|
+
---
|
|
109
|
+
```
|
|
110
|
+
Parameters:
|
|
111
|
+
img: Source image
|
|
112
|
+
mask: Source image mask
|
|
113
|
+
tl: Source image top-left corners
|
|
114
|
+
```
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
@staticmethod
|
|
118
|
+
def createDefault(type:int,try_gpu:bool=...) -> Blender:
|
|
119
|
+
"""
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
def blend(self,dst:T0,dst_mask:T0) -> T0|T0:
|
|
126
|
+
"""
|
|
127
|
+
```
|
|
128
|
+
Blends and returns the final pano.
|
|
129
|
+
```
|
|
130
|
+
---
|
|
131
|
+
```
|
|
132
|
+
Parameters:
|
|
133
|
+
dst: Final pano
|
|
134
|
+
dst_mask: Final pano mask
|
|
135
|
+
```
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
class FeatherBlender(Blender):
|
|
139
|
+
def sharpness(self) -> retval: ...
|
|
140
|
+
|
|
141
|
+
def setSharpness(self,val:float) -> None:
|
|
142
|
+
"""
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
"""
|
|
147
|
+
|
|
148
|
+
def prepare(self,dst_roi) -> None:
|
|
149
|
+
"""
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
"""
|
|
154
|
+
|
|
155
|
+
def feed(self,img,mask,tl) -> None:
|
|
156
|
+
"""
|
|
157
|
+
```
|
|
158
|
+
Processes the image.
|
|
159
|
+
```
|
|
160
|
+
---
|
|
161
|
+
```
|
|
162
|
+
Parameters:
|
|
163
|
+
img: Source image
|
|
164
|
+
mask: Source image mask
|
|
165
|
+
tl: Source image top-left corners
|
|
166
|
+
```
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
def createWeightMaps(self,masks,corners,weight_maps:T0) -> retval|T0:
|
|
170
|
+
"""
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
"""
|
|
175
|
+
|
|
176
|
+
def blend(self,dst:T0,dst_mask:T0) -> T0|T0:
|
|
177
|
+
"""
|
|
178
|
+
```
|
|
179
|
+
Blends and returns the final pano.
|
|
180
|
+
```
|
|
181
|
+
---
|
|
182
|
+
```
|
|
183
|
+
Parameters:
|
|
184
|
+
dst: Final pano
|
|
185
|
+
dst_mask: Final pano mask
|
|
186
|
+
```
|
|
187
|
+
"""
|
|
188
|
+
|
|
189
|
+
@overload
|
|
190
|
+
def __init__(self,sharpness:float=...) -> None:
|
|
191
|
+
"""
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
"""
|
|
196
|
+
|
|
197
|
+
class MultiBandBlender(Blender):
|
|
198
|
+
def setNumBands(self,val:int) -> None:
|
|
199
|
+
"""
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
def prepare(self,dst_roi) -> None:
|
|
206
|
+
"""
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
"""
|
|
211
|
+
|
|
212
|
+
def numBands(self) -> retval: ...
|
|
213
|
+
|
|
214
|
+
def feed(self,img,mask,tl) -> None:
|
|
215
|
+
"""
|
|
216
|
+
```
|
|
217
|
+
Processes the image.
|
|
218
|
+
```
|
|
219
|
+
---
|
|
220
|
+
```
|
|
221
|
+
Parameters:
|
|
222
|
+
img: Source image
|
|
223
|
+
mask: Source image mask
|
|
224
|
+
tl: Source image top-left corners
|
|
225
|
+
```
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
def blend(self,dst:T0,dst_mask:T0) -> T0|T0:
|
|
229
|
+
"""
|
|
230
|
+
```
|
|
231
|
+
Blends and returns the final pano.
|
|
232
|
+
```
|
|
233
|
+
---
|
|
234
|
+
```
|
|
235
|
+
Parameters:
|
|
236
|
+
dst: Final pano
|
|
237
|
+
dst_mask: Final pano mask
|
|
238
|
+
```
|
|
239
|
+
"""
|
|
240
|
+
|
|
241
|
+
@overload
|
|
242
|
+
def __init__(self,try_gpu:int=...,num_bands:int=...,weight_type:int=...) -> None:
|
|
243
|
+
"""
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
"""
|
|
248
|
+
|
|
249
|
+
class CameraParams:
|
|
250
|
+
def K(self) -> retval: ...
|
|
251
|
+
|
|
252
|
+
class ExposureCompensator:
|
|
253
|
+
def setUpdateGain(self,b:bool) -> None:
|
|
254
|
+
"""
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
"""
|
|
259
|
+
|
|
260
|
+
def setMatGains(self,arg1) -> None: ...
|
|
261
|
+
|
|
262
|
+
def getUpdateGain(self) -> retval: ...
|
|
263
|
+
|
|
264
|
+
def getMatGains(self,arg1:T0=...) -> T0: ...
|
|
265
|
+
|
|
266
|
+
def feed(self,corners,images,masks) -> None:
|
|
267
|
+
"""
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
"""
|
|
272
|
+
|
|
273
|
+
@staticmethod
|
|
274
|
+
def createDefault(type:int) -> ExposureCompensator:
|
|
275
|
+
"""
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
"""
|
|
280
|
+
|
|
281
|
+
def apply(self,index:int,corner,image:T0,mask) -> T0:
|
|
282
|
+
"""
|
|
283
|
+
```
|
|
284
|
+
Compensate exposure in the specified image.
|
|
285
|
+
```
|
|
286
|
+
---
|
|
287
|
+
```
|
|
288
|
+
Parameters:
|
|
289
|
+
index: Image index
|
|
290
|
+
corner: Image top-left corner
|
|
291
|
+
image: Image to process
|
|
292
|
+
mask: Image mask
|
|
293
|
+
```
|
|
294
|
+
"""
|
|
295
|
+
|
|
296
|
+
class NoExposureCompensator(ExposureCompensator):
|
|
297
|
+
def setMatGains(self,umv) -> None:
|
|
298
|
+
"""
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
"""
|
|
303
|
+
|
|
304
|
+
def getMatGains(self,umv:T0=...) -> T0:
|
|
305
|
+
"""
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
"""
|
|
310
|
+
|
|
311
|
+
def apply(self,arg1,arg2,arg3:T0,arg4) -> T0: ...
|
|
312
|
+
|
|
313
|
+
class GainCompensator(ExposureCompensator):
|
|
314
|
+
def setSimilarityThreshold(self,similarity_threshold:float) -> None:
|
|
315
|
+
"""
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
"""
|
|
320
|
+
|
|
321
|
+
def setNrFeeds(self,nr_feeds:int) -> None:
|
|
322
|
+
"""
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
"""
|
|
327
|
+
|
|
328
|
+
def setMatGains(self,umv) -> None:
|
|
329
|
+
"""
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
"""
|
|
334
|
+
|
|
335
|
+
def getSimilarityThreshold(self) -> retval: ...
|
|
336
|
+
|
|
337
|
+
def getNrFeeds(self) -> retval: ...
|
|
338
|
+
|
|
339
|
+
def getMatGains(self,umv:T0=...) -> T0:
|
|
340
|
+
"""
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
"""
|
|
345
|
+
|
|
346
|
+
def apply(self,index:int,corner,image:T0,mask) -> T0:
|
|
347
|
+
"""
|
|
348
|
+
```
|
|
349
|
+
Compensate exposure in the specified image.
|
|
350
|
+
```
|
|
351
|
+
---
|
|
352
|
+
```
|
|
353
|
+
Parameters:
|
|
354
|
+
index: Image index
|
|
355
|
+
corner: Image top-left corner
|
|
356
|
+
image: Image to process
|
|
357
|
+
mask: Image mask
|
|
358
|
+
```
|
|
359
|
+
"""
|
|
360
|
+
|
|
361
|
+
@overload
|
|
362
|
+
def __init__(self,nr_feeds:int) -> None:
|
|
363
|
+
"""
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
```
|
|
367
|
+
"""
|
|
368
|
+
|
|
369
|
+
def __init__(self) -> None: ...
|
|
370
|
+
|
|
371
|
+
class ChannelsCompensator(ExposureCompensator):
|
|
372
|
+
def setSimilarityThreshold(self,similarity_threshold:float) -> None:
|
|
373
|
+
"""
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
```
|
|
377
|
+
"""
|
|
378
|
+
|
|
379
|
+
def setNrFeeds(self,nr_feeds:int) -> None:
|
|
380
|
+
"""
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
"""
|
|
385
|
+
|
|
386
|
+
def setMatGains(self,umv) -> None:
|
|
387
|
+
"""
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
```
|
|
391
|
+
"""
|
|
392
|
+
|
|
393
|
+
def getSimilarityThreshold(self) -> retval: ...
|
|
394
|
+
|
|
395
|
+
def getNrFeeds(self) -> retval: ...
|
|
396
|
+
|
|
397
|
+
def getMatGains(self,umv:T0=...) -> T0:
|
|
398
|
+
"""
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
```
|
|
402
|
+
"""
|
|
403
|
+
|
|
404
|
+
def apply(self,index:int,corner,image:T0,mask) -> T0:
|
|
405
|
+
"""
|
|
406
|
+
```
|
|
407
|
+
Compensate exposure in the specified image.
|
|
408
|
+
```
|
|
409
|
+
---
|
|
410
|
+
```
|
|
411
|
+
Parameters:
|
|
412
|
+
index: Image index
|
|
413
|
+
corner: Image top-left corner
|
|
414
|
+
image: Image to process
|
|
415
|
+
mask: Image mask
|
|
416
|
+
```
|
|
417
|
+
"""
|
|
418
|
+
|
|
419
|
+
@overload
|
|
420
|
+
def __init__(self,nr_feeds:int=...) -> None:
|
|
421
|
+
"""
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
```
|
|
425
|
+
"""
|
|
426
|
+
|
|
427
|
+
class BlocksCompensator(ExposureCompensator):
|
|
428
|
+
def setSimilarityThreshold(self,similarity_threshold:float) -> None:
|
|
429
|
+
"""
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
```
|
|
433
|
+
"""
|
|
434
|
+
|
|
435
|
+
def setNrGainsFilteringIterations(self,nr_iterations:int) -> None:
|
|
436
|
+
"""
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
"""
|
|
441
|
+
|
|
442
|
+
def setNrFeeds(self,nr_feeds:int) -> None:
|
|
443
|
+
"""
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
```
|
|
447
|
+
"""
|
|
448
|
+
|
|
449
|
+
def setMatGains(self,umv) -> None:
|
|
450
|
+
"""
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
```
|
|
454
|
+
"""
|
|
455
|
+
|
|
456
|
+
@overload
|
|
457
|
+
def setBlockSize(self,size) -> None:
|
|
458
|
+
"""
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
```
|
|
462
|
+
"""
|
|
463
|
+
|
|
464
|
+
@overload
|
|
465
|
+
def setBlockSize(self,width:int,height:int) -> None:
|
|
466
|
+
"""
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
"""
|
|
471
|
+
|
|
472
|
+
def getSimilarityThreshold(self) -> retval: ...
|
|
473
|
+
|
|
474
|
+
def getNrGainsFilteringIterations(self) -> retval: ...
|
|
475
|
+
|
|
476
|
+
def getNrFeeds(self) -> retval: ...
|
|
477
|
+
|
|
478
|
+
def getMatGains(self,umv:T0=...) -> T0:
|
|
479
|
+
"""
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
"""
|
|
484
|
+
|
|
485
|
+
def getBlockSize(self) -> retval: ...
|
|
486
|
+
|
|
487
|
+
def apply(self,index:int,corner,image:T0,mask) -> T0:
|
|
488
|
+
"""
|
|
489
|
+
```
|
|
490
|
+
Compensate exposure in the specified image.
|
|
491
|
+
```
|
|
492
|
+
---
|
|
493
|
+
```
|
|
494
|
+
Parameters:
|
|
495
|
+
index: Image index
|
|
496
|
+
corner: Image top-left corner
|
|
497
|
+
image: Image to process
|
|
498
|
+
mask: Image mask
|
|
499
|
+
```
|
|
500
|
+
"""
|
|
501
|
+
|
|
502
|
+
class BlocksGainCompensator(BlocksCompensator):
|
|
503
|
+
def setMatGains(self,umv) -> None:
|
|
504
|
+
"""
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
```
|
|
508
|
+
"""
|
|
509
|
+
|
|
510
|
+
def getMatGains(self,umv:T0=...) -> T0:
|
|
511
|
+
"""
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
```
|
|
515
|
+
"""
|
|
516
|
+
|
|
517
|
+
def apply(self,index:int,corner,image:T0,mask) -> T0:
|
|
518
|
+
"""
|
|
519
|
+
```
|
|
520
|
+
Compensate exposure in the specified image.
|
|
521
|
+
```
|
|
522
|
+
---
|
|
523
|
+
```
|
|
524
|
+
Parameters:
|
|
525
|
+
index: Image index
|
|
526
|
+
corner: Image top-left corner
|
|
527
|
+
image: Image to process
|
|
528
|
+
mask: Image mask
|
|
529
|
+
```
|
|
530
|
+
"""
|
|
531
|
+
|
|
532
|
+
@overload
|
|
533
|
+
def __init__(self,bl_width:int,bl_height:int,nr_feeds:int) -> None:
|
|
534
|
+
"""
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
```
|
|
538
|
+
"""
|
|
539
|
+
|
|
540
|
+
@overload
|
|
541
|
+
def __init__(self,bl_width:int=...,bl_height:int=...) -> None:
|
|
542
|
+
"""
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
```
|
|
546
|
+
"""
|
|
547
|
+
|
|
548
|
+
class BlocksChannelsCompensator(BlocksCompensator):
|
|
549
|
+
@overload
|
|
550
|
+
def __init__(self,bl_width:int=...,bl_height:int=...,nr_feeds:int=...) -> None:
|
|
551
|
+
"""
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
```
|
|
555
|
+
"""
|
|
556
|
+
|
|
557
|
+
class ImageFeatures:
|
|
558
|
+
def getKeypoints(self) -> retval: ...
|
|
559
|
+
|
|
560
|
+
class MatchesInfo:
|
|
561
|
+
def getMatches(self) -> retval: ...
|
|
562
|
+
|
|
563
|
+
def getInliers(self) -> retval: ...
|
|
564
|
+
|
|
565
|
+
class FeaturesMatcher:
|
|
566
|
+
def isThreadSafe(self) -> retval: ...
|
|
567
|
+
|
|
568
|
+
def collectGarbage(self) -> None: ...
|
|
569
|
+
|
|
570
|
+
def apply2(self,features,mask=...) -> pairwise_matches: ...
|
|
571
|
+
|
|
572
|
+
def apply(self,features1,features2) -> matches_info: ...
|
|
573
|
+
|
|
574
|
+
class BestOf2NearestMatcher(FeaturesMatcher):
|
|
575
|
+
@staticmethod
|
|
576
|
+
def create(try_use_gpu:bool=...,match_conf:float=...,num_matches_thresh1:int=...,num_matches_thresh2:int=...,matches_confindece_thresh:float=...) -> BestOf2NearestMatcher:
|
|
577
|
+
"""
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
```
|
|
581
|
+
"""
|
|
582
|
+
|
|
583
|
+
def collectGarbage(self) -> None: ...
|
|
584
|
+
|
|
585
|
+
@overload
|
|
586
|
+
def __init__(self,try_use_gpu:bool=...,match_conf:float=...,num_matches_thresh1:int=...,num_matches_thresh2:int=...,matches_confindece_thresh:float=...) -> None:
|
|
587
|
+
"""
|
|
588
|
+
```
|
|
589
|
+
Constructs a "best of 2 nearest" matcher.
|
|
590
|
+
```
|
|
591
|
+
---
|
|
592
|
+
```
|
|
593
|
+
Parameters:
|
|
594
|
+
try_use_gpu: Should try to use GPU or not
|
|
595
|
+
match_conf: Match distances ration threshold
|
|
596
|
+
num_matches_thresh1: Minimum number of matches required for the 2D projective transform estimation used in the inliers classification step
|
|
597
|
+
num_matches_thresh2: Minimum number of matches required for the 2D projective transform re-estimation on inliers
|
|
598
|
+
matches_confindece_thresh: Matching confidence threshold to take the match into account. The threshold was determined experimentally and set to 3 by default.
|
|
599
|
+
```
|
|
600
|
+
"""
|
|
601
|
+
|
|
602
|
+
class BestOf2NearestRangeMatcher(BestOf2NearestMatcher):
|
|
603
|
+
@overload
|
|
604
|
+
def __init__(self,range_width:int=...,try_use_gpu:bool=...,match_conf:float=...,num_matches_thresh1:int=...,num_matches_thresh2:int=...) -> None:
|
|
605
|
+
"""
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
```
|
|
609
|
+
"""
|
|
610
|
+
|
|
611
|
+
class AffineBestOf2NearestMatcher(BestOf2NearestMatcher):
|
|
612
|
+
@overload
|
|
613
|
+
def __init__(self,full_affine:bool=...,try_use_gpu:bool=...,match_conf:float=...,num_matches_thresh1:int=...) -> None:
|
|
614
|
+
"""
|
|
615
|
+
```
|
|
616
|
+
Constructs a "best of 2 nearest" matcher that expects affine transformation between images.
|
|
617
|
+
```
|
|
618
|
+
---
|
|
619
|
+
```
|
|
620
|
+
Parameters:
|
|
621
|
+
full_affine: whether to use full affine transformation with 6 degress of freedom or reduced transformation with 4 degrees of freedom using only rotation, translation and uniform scaling
|
|
622
|
+
try_use_gpu: Should try to use GPU or not
|
|
623
|
+
match_conf: Match distances ration threshold
|
|
624
|
+
num_matches_thresh1: Minimum number of matches required for the 2D affine transform estimation used in the inliers classification step
|
|
625
|
+
```
|
|
626
|
+
"""
|
|
627
|
+
|
|
628
|
+
class Estimator:
|
|
629
|
+
def apply(self,features,pairwise_matches,cameras:T0) -> retval|T0:
|
|
630
|
+
"""
|
|
631
|
+
```
|
|
632
|
+
Estimates camera parameters.
|
|
633
|
+
```
|
|
634
|
+
---
|
|
635
|
+
```
|
|
636
|
+
Parameters:
|
|
637
|
+
features: Features of images
|
|
638
|
+
pairwise_matches: Pairwise matches of images
|
|
639
|
+
cameras: Estimated camera parameters
|
|
640
|
+
```
|
|
641
|
+
"""
|
|
642
|
+
|
|
643
|
+
class HomographyBasedEstimator(Estimator):
|
|
644
|
+
@overload
|
|
645
|
+
def __init__(self,is_focals_estimated:bool=...) -> None:
|
|
646
|
+
"""
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
```
|
|
650
|
+
"""
|
|
651
|
+
|
|
652
|
+
class AffineBasedEstimator(Estimator):
|
|
653
|
+
def __init__(self) -> None: ...
|
|
654
|
+
|
|
655
|
+
class BundleAdjusterBase(Estimator):
|
|
656
|
+
def termCriteria(self) -> retval: ...
|
|
657
|
+
|
|
658
|
+
def setTermCriteria(self,term_criteria) -> None:
|
|
659
|
+
"""
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
```
|
|
663
|
+
"""
|
|
664
|
+
|
|
665
|
+
def setRefinementMask(self,mask) -> None:
|
|
666
|
+
"""
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
```
|
|
670
|
+
"""
|
|
671
|
+
|
|
672
|
+
def setConfThresh(self,conf_thresh:float) -> None:
|
|
673
|
+
"""
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
```
|
|
677
|
+
"""
|
|
678
|
+
|
|
679
|
+
def refinementMask(self) -> retval: ...
|
|
680
|
+
|
|
681
|
+
def confThresh(self) -> retval: ...
|
|
682
|
+
|
|
683
|
+
class NoBundleAdjuster(BundleAdjusterBase):
|
|
684
|
+
def __init__(self) -> None: ...
|
|
685
|
+
|
|
686
|
+
class BundleAdjusterReproj(BundleAdjusterBase):
|
|
687
|
+
def __init__(self) -> None: ...
|
|
688
|
+
|
|
689
|
+
class BundleAdjusterRay(BundleAdjusterBase):
|
|
690
|
+
def __init__(self) -> None: ...
|
|
691
|
+
|
|
692
|
+
class BundleAdjusterAffine(BundleAdjusterBase):
|
|
693
|
+
def __init__(self) -> None: ...
|
|
694
|
+
|
|
695
|
+
class BundleAdjusterAffinePartial(BundleAdjusterBase):
|
|
696
|
+
def __init__(self) -> None: ...
|
|
697
|
+
|
|
698
|
+
class SeamFinder:
|
|
699
|
+
def find(self,src,corners,masks:T0) -> T0:
|
|
700
|
+
"""
|
|
701
|
+
```
|
|
702
|
+
Estimates seams.
|
|
703
|
+
```
|
|
704
|
+
---
|
|
705
|
+
```
|
|
706
|
+
Parameters:
|
|
707
|
+
src: Source images
|
|
708
|
+
corners: Source image top-left corners
|
|
709
|
+
masks: Source image masks to update
|
|
710
|
+
```
|
|
711
|
+
"""
|
|
712
|
+
|
|
713
|
+
@staticmethod
|
|
714
|
+
def createDefault(type:int) -> SeamFinder:
|
|
715
|
+
"""
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
```
|
|
719
|
+
"""
|
|
720
|
+
|
|
721
|
+
class NoSeamFinder(SeamFinder):
|
|
722
|
+
def find(self,arg1,arg2,arg3:T0) -> T0: ...
|
|
723
|
+
|
|
724
|
+
class PairwiseSeamFinder(SeamFinder):
|
|
725
|
+
def find(self,src,corners,masks:T0) -> T0:
|
|
726
|
+
"""
|
|
727
|
+
```
|
|
728
|
+
Estimates seams.
|
|
729
|
+
```
|
|
730
|
+
---
|
|
731
|
+
```
|
|
732
|
+
Parameters:
|
|
733
|
+
src: Source images
|
|
734
|
+
corners: Source image top-left corners
|
|
735
|
+
masks: Source image masks to update
|
|
736
|
+
```
|
|
737
|
+
"""
|
|
738
|
+
|
|
739
|
+
class VoronoiSeamFinder(PairwiseSeamFinder):
|
|
740
|
+
def find(self,src,corners,masks:T0) -> T0:
|
|
741
|
+
"""
|
|
742
|
+
```
|
|
743
|
+
Estimates seams.
|
|
744
|
+
```
|
|
745
|
+
---
|
|
746
|
+
```
|
|
747
|
+
Parameters:
|
|
748
|
+
src: Source images
|
|
749
|
+
corners: Source image top-left corners
|
|
750
|
+
masks: Source image masks to update
|
|
751
|
+
```
|
|
752
|
+
"""
|
|
753
|
+
|
|
754
|
+
class DpSeamFinder(SeamFinder):
|
|
755
|
+
def setCostFunction(self,val) -> None:
|
|
756
|
+
"""
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
```
|
|
760
|
+
"""
|
|
761
|
+
|
|
762
|
+
@overload
|
|
763
|
+
def __init__(self,costFunc) -> None:
|
|
764
|
+
"""
|
|
765
|
+
```
|
|
766
|
+
|
|
767
|
+
```
|
|
768
|
+
"""
|
|
769
|
+
|
|
770
|
+
class GraphCutSeamFinder:
|
|
771
|
+
def find(self,src,corners,masks:T0) -> T0:
|
|
772
|
+
"""
|
|
773
|
+
```
|
|
774
|
+
Estimates seams.
|
|
775
|
+
```
|
|
776
|
+
---
|
|
777
|
+
```
|
|
778
|
+
Parameters:
|
|
779
|
+
src: Source images
|
|
780
|
+
corners: Source image top-left corners
|
|
781
|
+
masks: Source image masks to update
|
|
782
|
+
```
|
|
783
|
+
"""
|
|
784
|
+
|
|
785
|
+
@overload
|
|
786
|
+
def __init__(self,cost_type:int,terminal_cost:float=...,bad_region_penalty:float=...) -> None:
|
|
787
|
+
"""
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
```
|
|
791
|
+
"""
|
|
792
|
+
|
|
793
|
+
class Timelapser:
|
|
794
|
+
def process(self,img,mask,tl) -> None:
|
|
795
|
+
"""
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
```
|
|
799
|
+
"""
|
|
800
|
+
|
|
801
|
+
def initialize(self,corners,sizes) -> None:
|
|
802
|
+
"""
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
```
|
|
806
|
+
"""
|
|
807
|
+
|
|
808
|
+
def getDst(self) -> retval: ...
|
|
809
|
+
|
|
810
|
+
@staticmethod
|
|
811
|
+
def createDefault(type:int) -> Timelapser:
|
|
812
|
+
"""
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
```
|
|
816
|
+
"""
|
|
817
|
+
|
|
818
|
+
class TimelapserCrop(Timelapser): ...
|
|
819
|
+
class ProjectorBase: ...
|
|
820
|
+
class SphericalProjector(ProjectorBase):
|
|
821
|
+
def mapForward(self,x:float,y:float,u:float,v:float) -> None:
|
|
822
|
+
"""
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
```
|
|
826
|
+
"""
|
|
827
|
+
|
|
828
|
+
def mapBackward(self,u:float,v:float,x:float,y:float) -> None:
|
|
829
|
+
"""
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
```
|
|
833
|
+
"""
|
|
834
|
+
|
|
835
|
+
@staticmethod
|
|
836
|
+
def BestOf2NearestMatcher_create(try_use_gpu:bool=...,match_conf:float=...,num_matches_thresh1:int=...,num_matches_thresh2:int=...,matches_confindece_thresh:float=...) -> BestOf2NearestMatcher:
|
|
837
|
+
"""
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
```
|
|
841
|
+
"""
|
|
842
|
+
|
|
843
|
+
@staticmethod
|
|
844
|
+
def Blender_createDefault(type:int,try_gpu:bool=...) -> Blender:
|
|
845
|
+
"""
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
```
|
|
849
|
+
"""
|
|
850
|
+
|
|
851
|
+
@staticmethod
|
|
852
|
+
def ExposureCompensator_createDefault(type:int) -> ExposureCompensator:
|
|
853
|
+
"""
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
```
|
|
857
|
+
"""
|
|
858
|
+
|
|
859
|
+
@staticmethod
|
|
860
|
+
def SeamFinder_createDefault(type:int) -> SeamFinder:
|
|
861
|
+
"""
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
```
|
|
865
|
+
"""
|
|
866
|
+
|
|
867
|
+
@staticmethod
|
|
868
|
+
def Timelapser_createDefault(type:int) -> Timelapser:
|
|
869
|
+
"""
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
```
|
|
873
|
+
"""
|
|
874
|
+
|
|
875
|
+
def calibrateRotatingCamera(Hs,K:T0=...) -> retval|T0:
|
|
876
|
+
"""
|
|
877
|
+
```
|
|
878
|
+
|
|
879
|
+
```
|
|
880
|
+
"""
|
|
881
|
+
|
|
882
|
+
def computeImageFeatures(featuresFinder,images,masks=...) -> features: ...
|
|
883
|
+
|
|
884
|
+
def computeImageFeatures2(featuresFinder,image,mask=...) -> features: ...
|
|
885
|
+
|
|
886
|
+
def createLaplacePyr(img,num_levels:int,pyr:T0) -> T0:
|
|
887
|
+
"""
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
```
|
|
891
|
+
"""
|
|
892
|
+
|
|
893
|
+
def createLaplacePyrGpu(img,num_levels:int,pyr:T0) -> T0:
|
|
894
|
+
"""
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
```
|
|
898
|
+
"""
|
|
899
|
+
|
|
900
|
+
def createWeightMap(mask,sharpness:float,weight:T0) -> T0:
|
|
901
|
+
"""
|
|
902
|
+
```
|
|
903
|
+
|
|
904
|
+
```
|
|
905
|
+
"""
|
|
906
|
+
|
|
907
|
+
def focalsFromHomography(H,f0:float,f1:float,f0_ok:bool,f1_ok:bool) -> None:
|
|
908
|
+
"""
|
|
909
|
+
```
|
|
910
|
+
Tries to estimate focal lengths from the given homography under the assumption that the camera undergoes rotations around its centre only.
|
|
911
|
+
```
|
|
912
|
+
---
|
|
913
|
+
```
|
|
914
|
+
Parameters:
|
|
915
|
+
H: Homography.
|
|
916
|
+
f0: Estimated focal length along X axis.
|
|
917
|
+
f1: Estimated focal length along Y axis.
|
|
918
|
+
f0_ok: True, if f0 was estimated successfully, false otherwise.
|
|
919
|
+
f1_ok: True, if f1 was estimated successfully, false otherwise.
|
|
920
|
+
```
|
|
921
|
+
"""
|
|
922
|
+
|
|
923
|
+
def leaveBiggestComponent(features,pairwise_matches,conf_threshold:float) -> retval:
|
|
924
|
+
"""
|
|
925
|
+
```
|
|
926
|
+
|
|
927
|
+
```
|
|
928
|
+
"""
|
|
929
|
+
|
|
930
|
+
def matchesGraphAsString(paths,pairwise_matches,conf_threshold:float) -> retval:
|
|
931
|
+
"""
|
|
932
|
+
```
|
|
933
|
+
|
|
934
|
+
```
|
|
935
|
+
"""
|
|
936
|
+
|
|
937
|
+
def normalizeUsingWeightMap(weight,src:T0) -> T0:
|
|
938
|
+
"""
|
|
939
|
+
```
|
|
940
|
+
|
|
941
|
+
```
|
|
942
|
+
"""
|
|
943
|
+
|
|
944
|
+
def overlapRoi(tl1,tl2,sz1,sz2,roi) -> retval:
|
|
945
|
+
"""
|
|
946
|
+
```
|
|
947
|
+
|
|
948
|
+
```
|
|
949
|
+
"""
|
|
950
|
+
|
|
951
|
+
def restoreImageFromLaplacePyr(pyr:T0) -> T0:
|
|
952
|
+
"""
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
```
|
|
956
|
+
"""
|
|
957
|
+
|
|
958
|
+
def restoreImageFromLaplacePyrGpu(pyr:T0) -> T0:
|
|
959
|
+
"""
|
|
960
|
+
```
|
|
961
|
+
|
|
962
|
+
```
|
|
963
|
+
"""
|
|
964
|
+
|
|
965
|
+
@overload
|
|
966
|
+
def resultRoi(corners,images) -> retval:
|
|
967
|
+
"""
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
```
|
|
971
|
+
"""
|
|
972
|
+
|
|
973
|
+
@overload
|
|
974
|
+
def resultRoi(corners,sizes) -> retval:
|
|
975
|
+
"""
|
|
976
|
+
```
|
|
977
|
+
|
|
978
|
+
```
|
|
979
|
+
"""
|
|
980
|
+
|
|
981
|
+
def resultRoiIntersection(corners,sizes) -> retval:
|
|
982
|
+
"""
|
|
983
|
+
```
|
|
984
|
+
|
|
985
|
+
```
|
|
986
|
+
"""
|
|
987
|
+
|
|
988
|
+
def resultTl(corners) -> retval:
|
|
989
|
+
"""
|
|
990
|
+
```
|
|
991
|
+
|
|
992
|
+
```
|
|
993
|
+
"""
|
|
994
|
+
|
|
995
|
+
def selectRandomSubset(count:int,size:int,subset) -> None:
|
|
996
|
+
"""
|
|
997
|
+
```
|
|
998
|
+
|
|
999
|
+
```
|
|
1000
|
+
"""
|
|
1001
|
+
|
|
1002
|
+
def stitchingLogLevel() -> retval: ...
|
|
1003
|
+
|
|
1004
|
+
def strip(params) -> retval: ...
|
|
1005
|
+
|
|
1006
|
+
def waveCorrect(rmats:T0,kind) -> T0:
|
|
1007
|
+
"""
|
|
1008
|
+
```
|
|
1009
|
+
Tries to make panorama more horizontal (or vertical).
|
|
1010
|
+
```
|
|
1011
|
+
---
|
|
1012
|
+
```
|
|
1013
|
+
Parameters:
|
|
1014
|
+
rmats: Camera rotation matrices.
|
|
1015
|
+
kind: Correction kind, see detail::WaveCorrectKind.
|
|
1016
|
+
```
|
|
1017
|
+
"""
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
matches_info=typing.Any
|
|
1023
|
+
features=typing.Any
|
|
1024
|
+
pairwise_matches=typing.Any
|
|
1025
|
+
ExposureCompensator=typing.Any
|
|
1026
|
+
Timelapser=typing.Any
|
|
1027
|
+
Blender=typing.Any
|
|
1028
|
+
SeamFinder=typing.Any
|
|
1029
|
+
BestOf2NearestMatcher=typing.Any
|