First Commit

This commit is contained in:
marco
2026-09-07 12:08:27 -03:00
commit 995adb4757
3490 changed files with 685824 additions and 0 deletions
+118
View File
@@ -0,0 +1,118 @@
__all__: list[str] = []
# Enumerations
StsOk: int
STS_OK: int
StsBackTrace: int
STS_BACK_TRACE: int
StsError: int
STS_ERROR: int
StsInternal: int
STS_INTERNAL: int
StsNoMem: int
STS_NO_MEM: int
StsBadArg: int
STS_BAD_ARG: int
StsBadFunc: int
STS_BAD_FUNC: int
StsNoConv: int
STS_NO_CONV: int
StsAutoTrace: int
STS_AUTO_TRACE: int
HeaderIsNull: int
HEADER_IS_NULL: int
BadImageSize: int
BAD_IMAGE_SIZE: int
BadOffset: int
BAD_OFFSET: int
BadDataPtr: int
BAD_DATA_PTR: int
BadStep: int
BAD_STEP: int
BadModelOrChSeq: int
BAD_MODEL_OR_CH_SEQ: int
BadNumChannels: int
BAD_NUM_CHANNELS: int
BadNumChannel1U: int
BAD_NUM_CHANNEL1U: int
BadDepth: int
BAD_DEPTH: int
BadAlphaChannel: int
BAD_ALPHA_CHANNEL: int
BadOrder: int
BAD_ORDER: int
BadOrigin: int
BAD_ORIGIN: int
BadAlign: int
BAD_ALIGN: int
BadCallBack: int
BAD_CALL_BACK: int
BadTileSize: int
BAD_TILE_SIZE: int
BadCOI: int
BAD_COI: int
BadROISize: int
BAD_ROISIZE: int
MaskIsTiled: int
MASK_IS_TILED: int
StsNullPtr: int
STS_NULL_PTR: int
StsVecLengthErr: int
STS_VEC_LENGTH_ERR: int
StsFilterStructContentErr: int
STS_FILTER_STRUCT_CONTENT_ERR: int
StsKernelStructContentErr: int
STS_KERNEL_STRUCT_CONTENT_ERR: int
StsFilterOffsetErr: int
STS_FILTER_OFFSET_ERR: int
StsBadSize: int
STS_BAD_SIZE: int
StsDivByZero: int
STS_DIV_BY_ZERO: int
StsInplaceNotSupported: int
STS_INPLACE_NOT_SUPPORTED: int
StsObjectNotFound: int
STS_OBJECT_NOT_FOUND: int
StsUnmatchedFormats: int
STS_UNMATCHED_FORMATS: int
StsBadFlag: int
STS_BAD_FLAG: int
StsBadPoint: int
STS_BAD_POINT: int
StsBadMask: int
STS_BAD_MASK: int
StsUnmatchedSizes: int
STS_UNMATCHED_SIZES: int
StsUnsupportedFormat: int
STS_UNSUPPORTED_FORMAT: int
StsOutOfRange: int
STS_OUT_OF_RANGE: int
StsParseError: int
STS_PARSE_ERROR: int
StsNotImplemented: int
STS_NOT_IMPLEMENTED: int
StsBadMemBlock: int
STS_BAD_MEM_BLOCK: int
StsAssert: int
STS_ASSERT: int
GpuNotSupported: int
GPU_NOT_SUPPORTED: int
GpuApiCallError: int
GPU_API_CALL_ERROR: int
OpenGlNotSupported: int
OPEN_GL_NOT_SUPPORTED: int
OpenGlApiCallError: int
OPEN_GL_API_CALL_ERROR: int
OpenCLApiCallError: int
OPEN_CLAPI_CALL_ERROR: int
OpenCLDoubleNotSupported: int
OPEN_CLDOUBLE_NOT_SUPPORTED: int
OpenCLInitError: int
OPEN_CLINIT_ERROR: int
OpenCLNoAMDBlasFft: int
OPEN_CLNO_AMDBLAS_FFT: int
Code = int
"""One of [StsOk, STS_OK, StsBackTrace, STS_BACK_TRACE, StsError, STS_ERROR, StsInternal, STS_INTERNAL, StsNoMem, STS_NO_MEM, StsBadArg, STS_BAD_ARG, StsBadFunc, STS_BAD_FUNC, StsNoConv, STS_NO_CONV, StsAutoTrace, STS_AUTO_TRACE, HeaderIsNull, HEADER_IS_NULL, BadImageSize, BAD_IMAGE_SIZE, BadOffset, BAD_OFFSET, BadDataPtr, BAD_DATA_PTR, BadStep, BAD_STEP, BadModelOrChSeq, BAD_MODEL_OR_CH_SEQ, BadNumChannels, BAD_NUM_CHANNELS, BadNumChannel1U, BAD_NUM_CHANNEL1U, BadDepth, BAD_DEPTH, BadAlphaChannel, BAD_ALPHA_CHANNEL, BadOrder, BAD_ORDER, BadOrigin, BAD_ORIGIN, BadAlign, BAD_ALIGN, BadCallBack, BAD_CALL_BACK, BadTileSize, BAD_TILE_SIZE, BadCOI, BAD_COI, BadROISize, BAD_ROISIZE, MaskIsTiled, MASK_IS_TILED, StsNullPtr, STS_NULL_PTR, StsVecLengthErr, STS_VEC_LENGTH_ERR, StsFilterStructContentErr, STS_FILTER_STRUCT_CONTENT_ERR, StsKernelStructContentErr, STS_KERNEL_STRUCT_CONTENT_ERR, StsFilterOffsetErr, STS_FILTER_OFFSET_ERR, StsBadSize, STS_BAD_SIZE, StsDivByZero, STS_DIV_BY_ZERO, StsInplaceNotSupported, STS_INPLACE_NOT_SUPPORTED, StsObjectNotFound, STS_OBJECT_NOT_FOUND, StsUnmatchedFormats, STS_UNMATCHED_FORMATS, StsBadFlag, STS_BAD_FLAG, StsBadPoint, STS_BAD_POINT, StsBadMask, STS_BAD_MASK, StsUnmatchedSizes, STS_UNMATCHED_SIZES, StsUnsupportedFormat, STS_UNSUPPORTED_FORMAT, StsOutOfRange, STS_OUT_OF_RANGE, StsParseError, STS_PARSE_ERROR, StsNotImplemented, STS_NOT_IMPLEMENTED, StsBadMemBlock, STS_BAD_MEM_BLOCK, StsAssert, STS_ASSERT, GpuNotSupported, GPU_NOT_SUPPORTED, GpuApiCallError, GPU_API_CALL_ERROR, OpenGlNotSupported, OPEN_GL_NOT_SUPPORTED, OpenGlApiCallError, OPEN_GL_API_CALL_ERROR, OpenCLApiCallError, OPEN_CLAPI_CALL_ERROR, OpenCLDoubleNotSupported, OPEN_CLDOUBLE_NOT_SUPPORTED, OpenCLInitError, OPEN_CLINIT_ERROR, OpenCLNoAMDBlasFft, OPEN_CLNO_AMDBLAS_FFT]"""
File diff suppressed because it is too large Load Diff
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) Olli-Pekka Heinisuo
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+181
View File
@@ -0,0 +1,181 @@
'''
OpenCV Python binary extension loader
'''
import os
import importlib
import sys
__all__ = []
try:
import numpy
import numpy.core.multiarray
except ImportError:
print('OpenCV bindings requires "numpy" package.')
print('Install it via command:')
print(' pip install numpy')
raise
# TODO
# is_x64 = sys.maxsize > 2**32
def __load_extra_py_code_for_module(base, name, enable_debug_print=False):
module_name = "{}.{}".format(__name__, name)
export_module_name = "{}.{}".format(base, name)
native_module = sys.modules.pop(module_name, None)
try:
py_module = importlib.import_module(module_name)
except (ImportError, AttributeError) as err:
if enable_debug_print:
print("Can't load Python code for module:", module_name,
". Reason:", err)
# Extension doesn't contain extra py code
return False
if base in sys.modules and not hasattr(sys.modules[base], name):
setattr(sys.modules[base], name, py_module)
sys.modules[export_module_name] = py_module
# If it is C extension module it is already loaded by cv2 package
if native_module:
setattr(py_module, "_native", native_module)
for k, v in filter(lambda kv: not hasattr(py_module, kv[0]),
native_module.__dict__.items()):
if enable_debug_print: print(' symbol({}): {} = {}'.format(name, k, v))
setattr(py_module, k, v)
return True
def __collect_extra_submodules(enable_debug_print=False):
def modules_filter(module):
return all((
# module is not internal
not module.startswith("_"),
not module.startswith("python-"),
# it is not a file
os.path.isdir(os.path.join(_extra_submodules_init_path, module))
))
if sys.version_info[0] < 3:
if enable_debug_print:
print("Extra submodules is loaded only for Python 3")
return []
__INIT_FILE_PATH = os.path.abspath(__file__)
_extra_submodules_init_path = os.path.dirname(__INIT_FILE_PATH)
return filter(modules_filter, os.listdir(_extra_submodules_init_path))
def bootstrap():
import sys
import copy
save_sys_path = copy.copy(sys.path)
if hasattr(sys, 'OpenCV_LOADER'):
print(sys.path)
raise ImportError('ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.')
sys.OpenCV_LOADER = True
DEBUG = False
if hasattr(sys, 'OpenCV_LOADER_DEBUG'):
DEBUG = True
import platform
if DEBUG: print('OpenCV loader: os.name="{}" platform.system()="{}"'.format(os.name, str(platform.system())))
LOADER_DIR = os.path.dirname(os.path.abspath(os.path.realpath(__file__)))
PYTHON_EXTENSIONS_PATHS = []
BINARIES_PATHS = []
g_vars = globals()
l_vars = locals().copy()
if sys.version_info[:2] < (3, 0):
from . load_config_py2 import exec_file_wrapper
else:
from . load_config_py3 import exec_file_wrapper
def load_first_config(fnames, required=True):
for fname in fnames:
fpath = os.path.join(LOADER_DIR, fname)
if not os.path.exists(fpath):
if DEBUG: print('OpenCV loader: config not found, skip: {}'.format(fpath))
continue
if DEBUG: print('OpenCV loader: loading config: {}'.format(fpath))
exec_file_wrapper(fpath, g_vars, l_vars)
return True
if required:
raise ImportError('OpenCV loader: missing configuration file: {}. Check OpenCV installation.'.format(fnames))
load_first_config(['config.py'], True)
load_first_config([
'config-{}.{}.py'.format(sys.version_info[0], sys.version_info[1]),
'config-{}.py'.format(sys.version_info[0])
], True)
if DEBUG: print('OpenCV loader: PYTHON_EXTENSIONS_PATHS={}'.format(str(l_vars['PYTHON_EXTENSIONS_PATHS'])))
if DEBUG: print('OpenCV loader: BINARIES_PATHS={}'.format(str(l_vars['BINARIES_PATHS'])))
applySysPathWorkaround = False
if hasattr(sys, 'OpenCV_REPLACE_SYS_PATH_0'):
applySysPathWorkaround = True
else:
try:
BASE_DIR = os.path.dirname(LOADER_DIR)
if sys.path[0] == BASE_DIR or os.path.realpath(sys.path[0]) == BASE_DIR:
applySysPathWorkaround = True
except:
if DEBUG: print('OpenCV loader: exception during checking workaround for sys.path[0]')
pass # applySysPathWorkaround is False
for p in reversed(l_vars['PYTHON_EXTENSIONS_PATHS']):
sys.path.insert(1 if not applySysPathWorkaround else 0, p)
if os.name == 'nt':
if sys.version_info[:2] >= (3, 8): # https://github.com/python/cpython/pull/12302
for p in l_vars['BINARIES_PATHS']:
try:
os.add_dll_directory(p)
except Exception as e:
if DEBUG: print('Failed os.add_dll_directory(): '+ str(e))
pass
os.environ['PATH'] = ';'.join(l_vars['BINARIES_PATHS']) + ';' + os.environ.get('PATH', '')
if DEBUG: print('OpenCV loader: PATH={}'.format(str(os.environ['PATH'])))
else:
# amending of LD_LIBRARY_PATH works for sub-processes only
os.environ['LD_LIBRARY_PATH'] = ':'.join(l_vars['BINARIES_PATHS']) + ':' + os.environ.get('LD_LIBRARY_PATH', '')
if DEBUG: print("Relink everything from native cv2 module to cv2 package")
py_module = sys.modules.pop("cv2")
native_module = importlib.import_module("cv2")
sys.modules["cv2"] = py_module
setattr(py_module, "_native", native_module)
for item_name, item in filter(lambda kv: kv[0] not in ("__file__", "__loader__", "__spec__",
"__name__", "__package__"),
native_module.__dict__.items()):
if item_name not in g_vars:
g_vars[item_name] = item
sys.path = save_sys_path # multiprocessing should start from bootstrap code (https://github.com/opencv/opencv/issues/18502)
try:
del sys.OpenCV_LOADER
except Exception as e:
if DEBUG:
print("Exception during delete OpenCV_LOADER:", e)
if DEBUG: print('OpenCV loader: binary extension... OK')
for submodule in __collect_extra_submodules(DEBUG):
if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
if DEBUG: print("Extra Python code for", submodule, "is loaded")
if DEBUG: print('OpenCV loader: DONE')
bootstrap()
File diff suppressed because one or more lines are too long
+327
View File
@@ -0,0 +1,327 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
# Enumerations
CORNER_REFINE_NONE: int
CORNER_REFINE_SUBPIX: int
CORNER_REFINE_CONTOUR: int
CORNER_REFINE_APRILTAG: int
CornerRefineMethod = int
"""One of [CORNER_REFINE_NONE, CORNER_REFINE_SUBPIX, CORNER_REFINE_CONTOUR, CORNER_REFINE_APRILTAG]"""
DICT_4X4_50: int
DICT_4X4_100: int
DICT_4X4_250: int
DICT_4X4_1000: int
DICT_5X5_50: int
DICT_5X5_100: int
DICT_5X5_250: int
DICT_5X5_1000: int
DICT_6X6_50: int
DICT_6X6_100: int
DICT_6X6_250: int
DICT_6X6_1000: int
DICT_7X7_50: int
DICT_7X7_100: int
DICT_7X7_250: int
DICT_7X7_1000: int
DICT_ARUCO_ORIGINAL: int
DICT_APRILTAG_16h5: int
DICT_APRILTAG_16H5: int
DICT_APRILTAG_25h9: int
DICT_APRILTAG_25H9: int
DICT_APRILTAG_36h10: int
DICT_APRILTAG_36H10: int
DICT_APRILTAG_36h11: int
DICT_APRILTAG_36H11: int
DICT_ARUCO_MIP_36h12: int
DICT_ARUCO_MIP_36H12: int
PredefinedDictionaryType = int
"""One of [DICT_4X4_50, DICT_4X4_100, DICT_4X4_250, DICT_4X4_1000, DICT_5X5_50, DICT_5X5_100, DICT_5X5_250, DICT_5X5_1000, DICT_6X6_50, DICT_6X6_100, DICT_6X6_250, DICT_6X6_1000, DICT_7X7_50, DICT_7X7_100, DICT_7X7_250, DICT_7X7_1000, DICT_ARUCO_ORIGINAL, DICT_APRILTAG_16h5, DICT_APRILTAG_16H5, DICT_APRILTAG_25h9, DICT_APRILTAG_25H9, DICT_APRILTAG_36h10, DICT_APRILTAG_36H10, DICT_APRILTAG_36h11, DICT_APRILTAG_36H11, DICT_ARUCO_MIP_36h12, DICT_ARUCO_MIP_36H12]"""
# Classes
class Board:
# Functions
@_typing.overload
def __init__(self, objPoints: _typing.Sequence[cv2.typing.MatLike], dictionary: Dictionary, ids: cv2.typing.MatLike) -> None: ...
@_typing.overload
def __init__(self, objPoints: _typing.Sequence[cv2.UMat], dictionary: Dictionary, ids: cv2.UMat) -> None: ...
def getDictionary(self) -> Dictionary: ...
def getObjPoints(self) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point3f]]: ...
def getIds(self) -> _typing.Sequence[int]: ...
def getRightBottomCorner(self) -> cv2.typing.Point3f: ...
@_typing.overload
def matchImagePoints(self, detectedCorners: _typing.Sequence[cv2.typing.MatLike], detectedIds: cv2.typing.MatLike, objPoints: cv2.typing.MatLike | None = ..., imgPoints: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def matchImagePoints(self, detectedCorners: _typing.Sequence[cv2.UMat], detectedIds: cv2.UMat, objPoints: cv2.UMat | None = ..., imgPoints: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
@_typing.overload
def generateImage(self, outSize: cv2.typing.Size, img: cv2.typing.MatLike | None = ..., marginSize: int = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def generateImage(self, outSize: cv2.typing.Size, img: cv2.UMat | None = ..., marginSize: int = ..., borderBits: int = ...) -> cv2.UMat: ...
class GridBoard(Board):
# Functions
@_typing.overload
def __init__(self, size: cv2.typing.Size, markerLength: float, markerSeparation: float, dictionary: Dictionary, ids: cv2.typing.MatLike | None = ...) -> None: ...
@_typing.overload
def __init__(self, size: cv2.typing.Size, markerLength: float, markerSeparation: float, dictionary: Dictionary, ids: cv2.UMat | None = ...) -> None: ...
def getGridSize(self) -> cv2.typing.Size: ...
def getMarkerLength(self) -> float: ...
def getMarkerSeparation(self) -> float: ...
class CharucoBoard(Board):
# Functions
@_typing.overload
def __init__(self, size: cv2.typing.Size, squareLength: float, markerLength: float, dictionary: Dictionary, ids: cv2.typing.MatLike | None = ...) -> None: ...
@_typing.overload
def __init__(self, size: cv2.typing.Size, squareLength: float, markerLength: float, dictionary: Dictionary, ids: cv2.UMat | None = ...) -> None: ...
def setLegacyPattern(self, legacyPattern: bool) -> None: ...
def getLegacyPattern(self) -> bool: ...
def getChessboardSize(self) -> cv2.typing.Size: ...
def getSquareLength(self) -> float: ...
def getMarkerLength(self) -> float: ...
def getChessboardCorners(self) -> _typing.Sequence[cv2.typing.Point3f]: ...
@_typing.overload
def checkCharucoCornersCollinear(self, charucoIds: cv2.typing.MatLike) -> bool: ...
@_typing.overload
def checkCharucoCornersCollinear(self, charucoIds: cv2.UMat) -> bool: ...
class DetectorParameters:
adaptiveThreshWinSizeMin: int
adaptiveThreshWinSizeMax: int
adaptiveThreshWinSizeStep: int
adaptiveThreshConstant: float
minMarkerPerimeterRate: float
maxMarkerPerimeterRate: float
polygonalApproxAccuracyRate: float
minCornerDistanceRate: float
minDistanceToBorder: int
minMarkerDistanceRate: float
minGroupDistance: float
cornerRefinementMethod: int
cornerRefinementWinSize: int
relativeCornerRefinmentWinSize: float
cornerRefinementMaxIterations: int
cornerRefinementMinAccuracy: float
markerBorderBits: int
perspectiveRemovePixelPerCell: int
perspectiveRemoveIgnoredMarginPerCell: float
maxErroneousBitsInBorderRate: float
minOtsuStdDev: float
errorCorrectionRate: float
aprilTagQuadDecimate: float
aprilTagQuadSigma: float
aprilTagMinClusterPixels: int
aprilTagMaxNmaxima: int
aprilTagCriticalRad: float
aprilTagMaxLineFitMse: float
aprilTagMinWhiteBlackDiff: int
aprilTagDeglitch: int
detectInvertedMarker: bool
useAruco3Detection: bool
minSideLengthCanonicalImg: int
minMarkerLengthRatioOriginalImg: float
validBitIdThreshold: float
# Functions
def __init__(self) -> None: ...
def readDetectorParameters(self, fn: cv2.FileNode) -> bool: ...
def writeDetectorParameters(self, fs: cv2.FileStorage, name: str = ...) -> bool: ...
class RefineParameters:
minRepDistance: float
errorCorrectionRate: float
checkAllOrders: bool
# Functions
def __init__(self, minRepDistance: float = ..., errorCorrectionRate: float = ..., checkAllOrders: bool = ...) -> None: ...
def readRefineParameters(self, fn: cv2.FileNode) -> bool: ...
def writeRefineParameters(self, fs: cv2.FileStorage, name: str = ...) -> bool: ...
class ArucoDetector(cv2.Algorithm):
# Functions
@_typing.overload
def __init__(self, dictionary: Dictionary = ..., detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
@_typing.overload
def __init__(self, dictionaries: _typing.Sequence[Dictionary], detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
@_typing.overload
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]]: ...
@_typing.overload
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]]: ...
@_typing.overload
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]]: ...
@_typing.overload
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]]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
def getDictionary(self) -> Dictionary: ...
def setDictionary(self, dictionary: Dictionary) -> None: ...
def getDictionaries(self) -> _typing.Sequence[Dictionary]: ...
def setDictionaries(self, dictionaries: _typing.Sequence[Dictionary]) -> None: ...
def getDetectorParameters(self) -> DetectorParameters: ...
def setDetectorParameters(self, detectorParameters: DetectorParameters) -> None: ...
def getRefineParameters(self) -> RefineParameters: ...
def setRefineParameters(self, refineParameters: RefineParameters) -> None: ...
def write(self, fs: cv2.FileStorage, name: str) -> None: ...
def read(self, fn: cv2.FileNode) -> None: ...
class Dictionary:
bytesList: cv2.typing.MatLike
markerSize: int
maxCorrectionBits: int
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, bytesList: cv2.typing.MatLike, _markerSize: int, maxcorr: int = ...) -> None: ...
def readDictionary(self, fn: cv2.FileNode) -> bool: ...
def writeDictionary(self, fs: cv2.FileStorage, name: str = ...) -> None: ...
@_typing.overload
def identify(self, onlyBits: cv2.typing.MatLike, maxCorrectionRate: float) -> tuple[bool, int, int]: ...
@_typing.overload
def identify(self, onlyCellPixelRatio: cv2.typing.MatLike, maxCorrectionRate: float, validBitIdThreshold: float) -> tuple[bool, int, int]: ...
@_typing.overload
def getDistanceToId(self, bits: cv2.typing.MatLike, id: int, allRotations: bool = ...) -> int: ...
@_typing.overload
def getDistanceToId(self, bits: cv2.UMat, id: int, allRotations: bool = ...) -> int: ...
@_typing.overload
def generateImageMarker(self, id: int, sidePixels: int, _img: cv2.typing.MatLike | None = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def generateImageMarker(self, id: int, sidePixels: int, _img: cv2.UMat | None = ..., borderBits: int = ...) -> cv2.UMat: ...
@staticmethod
def getByteListFromBits(bits: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@staticmethod
def getBitsFromByteList(byteList: cv2.typing.MatLike, markerSize: int, rotationId: int = ...) -> cv2.typing.MatLike: ...
def getMarkerBits(self, markerId: int, rotationId: int = ...) -> cv2.typing.MatLike: ...
class CharucoParameters:
cameraMatrix: cv2.typing.MatLike
distCoeffs: cv2.typing.MatLike
minMarkers: int
tryRefineMarkers: bool
checkMarkers: bool
# Functions
def __init__(self) -> None: ...
class CharucoDetector(cv2.Algorithm):
# Functions
def __init__(self, board: CharucoBoard, charucoParams: CharucoParameters = ..., detectorParams: DetectorParameters = ..., refineParams: RefineParameters = ...) -> None: ...
def getBoard(self) -> CharucoBoard: ...
def setBoard(self, board: CharucoBoard) -> None: ...
def getCharucoParameters(self) -> CharucoParameters: ...
def setCharucoParameters(self, charucoParameters: CharucoParameters) -> None: ...
def getDetectorParameters(self) -> DetectorParameters: ...
def setDetectorParameters(self, detectorParameters: DetectorParameters) -> None: ...
def getRefineParameters(self) -> RefineParameters: ...
def setRefineParameters(self, refineParameters: RefineParameters) -> None: ...
@_typing.overload
def detectBoard(self, image: cv2.typing.MatLike, charucoCorners: cv2.typing.MatLike | None = ..., charucoIds: cv2.typing.MatLike | None = ..., markerCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., markerIds: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
@_typing.overload
def detectBoard(self, image: cv2.UMat, charucoCorners: cv2.UMat | None = ..., charucoIds: cv2.UMat | None = ..., markerCorners: _typing.Sequence[cv2.UMat] | None = ..., markerIds: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
@_typing.overload
def detectDiamonds(self, image: cv2.typing.MatLike, diamondCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., diamondIds: cv2.typing.MatLike | None = ..., markerCorners: _typing.Sequence[cv2.typing.MatLike] | None = ..., markerIds: cv2.typing.MatLike | None = ...) -> tuple[_typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], cv2.typing.MatLike]: ...
@_typing.overload
def detectDiamonds(self, image: cv2.UMat, diamondCorners: _typing.Sequence[cv2.UMat] | None = ..., diamondIds: cv2.UMat | None = ..., markerCorners: _typing.Sequence[cv2.UMat] | None = ..., markerIds: cv2.UMat | None = ...) -> tuple[_typing.Sequence[cv2.UMat], cv2.UMat, _typing.Sequence[cv2.UMat], cv2.UMat]: ...
# Functions
@_typing.overload
def drawDetectedCornersCharuco(image: cv2.typing.MatLike, charucoCorners: cv2.typing.MatLike, charucoIds: cv2.typing.MatLike | None = ..., cornerColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def drawDetectedCornersCharuco(image: cv2.UMat, charucoCorners: cv2.UMat, charucoIds: cv2.UMat | None = ..., cornerColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
@_typing.overload
def drawDetectedDiamonds(image: cv2.typing.MatLike, diamondCorners: _typing.Sequence[cv2.typing.MatLike], diamondIds: cv2.typing.MatLike | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def drawDetectedDiamonds(image: cv2.UMat, diamondCorners: _typing.Sequence[cv2.UMat], diamondIds: cv2.UMat | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
@_typing.overload
def drawDetectedMarkers(image: cv2.typing.MatLike, corners: _typing.Sequence[cv2.typing.MatLike], ids: cv2.typing.MatLike | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def drawDetectedMarkers(image: cv2.UMat, corners: _typing.Sequence[cv2.UMat], ids: cv2.UMat | None = ..., borderColor: cv2.typing.Scalar = ...) -> cv2.UMat: ...
def extendDictionary(nMarkers: int, markerSize: int, baseDictionary: Dictionary = ..., randomSeed: int = ...) -> Dictionary: ...
@_typing.overload
def generateImageMarker(dictionary: Dictionary, id: int, sidePixels: int, img: cv2.typing.MatLike | None = ..., borderBits: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def generateImageMarker(dictionary: Dictionary, id: int, sidePixels: int, img: cv2.UMat | None = ..., borderBits: int = ...) -> cv2.UMat: ...
def getPredefinedDictionary(dict: int) -> Dictionary: ...
+40
View File
@@ -0,0 +1,40 @@
__all__: list[str] = []
import cv2
import cv2.typing
import os
import typing as _typing
# Classes
class BarcodeDetector(cv2.GraphicalCodeDetector):
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, super_resolution_model_path: str | os.PathLike[str]) -> None: ...
@_typing.overload
def decodeWithType(self, img: cv2.typing.MatLike, points: cv2.typing.MatLike) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str]]: ...
@_typing.overload
def decodeWithType(self, img: cv2.UMat, points: cv2.UMat) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str]]: ...
@_typing.overload
def detectAndDecodeWithType(self, img: cv2.typing.MatLike, points: cv2.typing.MatLike | None = ...) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str], cv2.typing.MatLike]: ...
@_typing.overload
def detectAndDecodeWithType(self, img: cv2.UMat, points: cv2.UMat | None = ...) -> tuple[bool, _typing.Sequence[str], _typing.Sequence[str], cv2.UMat]: ...
def getDownsamplingThreshold(self) -> float: ...
def setDownsamplingThreshold(self, thresh: float) -> BarcodeDetector: ...
def getDetectorScales(self) -> _typing.Sequence[float]: ...
def setDetectorScales(self, sizes: _typing.Sequence[float]) -> BarcodeDetector: ...
def getGradientThreshold(self) -> float: ...
def setGradientThreshold(self, thresh: float) -> BarcodeDetector: ...
+165
View File
@@ -0,0 +1,165 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
# Enumerations
CCM_LINEAR: int
CCM_AFFINE: int
CcmType = int
"""One of [CCM_LINEAR, CCM_AFFINE]"""
INITIAL_METHOD_WHITE_BALANCE: int
INITIAL_METHOD_LEAST_SQUARE: int
InitialMethodType = int
"""One of [INITIAL_METHOD_WHITE_BALANCE, INITIAL_METHOD_LEAST_SQUARE]"""
COLORCHECKER_MACBETH: int
COLORCHECKER_VINYL: int
COLORCHECKER_DIGITAL_SG: int
ColorCheckerType = int
"""One of [COLORCHECKER_MACBETH, COLORCHECKER_VINYL, COLORCHECKER_DIGITAL_SG]"""
COLOR_SPACE_SRGB: int
COLOR_SPACE_SRGBL: int
COLOR_SPACE_ADOBE_RGB: int
COLOR_SPACE_ADOBE_RGBL: int
COLOR_SPACE_WIDE_GAMUT_RGB: int
COLOR_SPACE_WIDE_GAMUT_RGBL: int
COLOR_SPACE_PRO_PHOTO_RGB: int
COLOR_SPACE_PRO_PHOTO_RGBL: int
COLOR_SPACE_DCI_P3_RGB: int
COLOR_SPACE_DCI_P3_RGBL: int
COLOR_SPACE_APPLE_RGB: int
COLOR_SPACE_APPLE_RGBL: int
COLOR_SPACE_REC_709_RGB: int
COLOR_SPACE_REC_709_RGBL: int
COLOR_SPACE_REC_2020_RGB: int
COLOR_SPACE_REC_2020_RGBL: int
COLOR_SPACE_XYZ_D65_2: int
COLOR_SPACE_XYZ_D50_2: int
COLOR_SPACE_XYZ_D65_10: int
COLOR_SPACE_XYZ_D50_10: int
COLOR_SPACE_XYZ_A_2: int
COLOR_SPACE_XYZ_A_10: int
COLOR_SPACE_XYZ_D55_2: int
COLOR_SPACE_XYZ_D55_10: int
COLOR_SPACE_XYZ_D75_2: int
COLOR_SPACE_XYZ_D75_10: int
COLOR_SPACE_XYZ_E_2: int
COLOR_SPACE_XYZ_E_10: int
COLOR_SPACE_LAB_D65_2: int
COLOR_SPACE_LAB_D50_2: int
COLOR_SPACE_LAB_D65_10: int
COLOR_SPACE_LAB_D50_10: int
COLOR_SPACE_LAB_A_2: int
COLOR_SPACE_LAB_A_10: int
COLOR_SPACE_LAB_D55_2: int
COLOR_SPACE_LAB_D55_10: int
COLOR_SPACE_LAB_D75_2: int
COLOR_SPACE_LAB_D75_10: int
COLOR_SPACE_LAB_E_2: int
COLOR_SPACE_LAB_E_10: int
ColorSpace = int
"""One of [COLOR_SPACE_SRGB, COLOR_SPACE_SRGBL, COLOR_SPACE_ADOBE_RGB, COLOR_SPACE_ADOBE_RGBL, COLOR_SPACE_WIDE_GAMUT_RGB, COLOR_SPACE_WIDE_GAMUT_RGBL, COLOR_SPACE_PRO_PHOTO_RGB, COLOR_SPACE_PRO_PHOTO_RGBL, COLOR_SPACE_DCI_P3_RGB, COLOR_SPACE_DCI_P3_RGBL, COLOR_SPACE_APPLE_RGB, COLOR_SPACE_APPLE_RGBL, COLOR_SPACE_REC_709_RGB, COLOR_SPACE_REC_709_RGBL, COLOR_SPACE_REC_2020_RGB, COLOR_SPACE_REC_2020_RGBL, COLOR_SPACE_XYZ_D65_2, COLOR_SPACE_XYZ_D50_2, COLOR_SPACE_XYZ_D65_10, COLOR_SPACE_XYZ_D50_10, COLOR_SPACE_XYZ_A_2, COLOR_SPACE_XYZ_A_10, COLOR_SPACE_XYZ_D55_2, COLOR_SPACE_XYZ_D55_10, COLOR_SPACE_XYZ_D75_2, COLOR_SPACE_XYZ_D75_10, COLOR_SPACE_XYZ_E_2, COLOR_SPACE_XYZ_E_10, COLOR_SPACE_LAB_D65_2, COLOR_SPACE_LAB_D50_2, COLOR_SPACE_LAB_D65_10, COLOR_SPACE_LAB_D50_10, COLOR_SPACE_LAB_A_2, COLOR_SPACE_LAB_A_10, COLOR_SPACE_LAB_D55_2, COLOR_SPACE_LAB_D55_10, COLOR_SPACE_LAB_D75_2, COLOR_SPACE_LAB_D75_10, COLOR_SPACE_LAB_E_2, COLOR_SPACE_LAB_E_10]"""
LINEARIZATION_IDENTITY: int
LINEARIZATION_GAMMA: int
LINEARIZATION_COLORPOLYFIT: int
LINEARIZATION_COLORLOGPOLYFIT: int
LINEARIZATION_GRAYPOLYFIT: int
LINEARIZATION_GRAYLOGPOLYFIT: int
LinearizationType = int
"""One of [LINEARIZATION_IDENTITY, LINEARIZATION_GAMMA, LINEARIZATION_COLORPOLYFIT, LINEARIZATION_COLORLOGPOLYFIT, LINEARIZATION_GRAYPOLYFIT, LINEARIZATION_GRAYLOGPOLYFIT]"""
DISTANCE_CIE76: int
DISTANCE_CIE94_GRAPHIC_ARTS: int
DISTANCE_CIE94_TEXTILES: int
DISTANCE_CIE2000: int
DISTANCE_CMC_1TO1: int
DISTANCE_CMC_2TO1: int
DISTANCE_RGB: int
DISTANCE_RGBL: int
DistanceType = int
"""One of [DISTANCE_CIE76, DISTANCE_CIE94_GRAPHIC_ARTS, DISTANCE_CIE94_TEXTILES, DISTANCE_CIE2000, DISTANCE_CMC_1TO1, DISTANCE_CMC_2TO1, DISTANCE_RGB, DISTANCE_RGBL]"""
# Classes
class ColorCorrectionModel:
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, src: cv2.typing.MatLike, constColor: int) -> None: ...
@_typing.overload
def __init__(self, src: cv2.UMat, constColor: int) -> None: ...
@_typing.overload
def __init__(self, src: cv2.typing.MatLike, colors: cv2.typing.MatLike, refColorSpace: ColorSpace) -> None: ...
@_typing.overload
def __init__(self, src: cv2.UMat, colors: cv2.UMat, refColorSpace: ColorSpace) -> None: ...
@_typing.overload
def __init__(self, src: cv2.typing.MatLike, colors: cv2.typing.MatLike, refColorSpace: ColorSpace, coloredPatchesMask: cv2.typing.MatLike) -> None: ...
@_typing.overload
def __init__(self, src: cv2.UMat, colors: cv2.UMat, refColorSpace: ColorSpace, coloredPatchesMask: cv2.UMat) -> None: ...
def setColorSpace(self, cs: ColorSpace) -> None: ...
def setCcmType(self, ccmType: CcmType) -> None: ...
def setDistance(self, distance: DistanceType) -> None: ...
def setLinearization(self, linearizationType: LinearizationType) -> None: ...
def setLinearizationGamma(self, gamma: float) -> None: ...
def setLinearizationDegree(self, deg: int) -> None: ...
def setSaturatedThreshold(self, lower: float, upper: float) -> None: ...
def setWeightsList(self, weightsList: cv2.typing.MatLike) -> None: ...
def setWeightCoeff(self, weightsCoeff: float) -> None: ...
def setInitialMethod(self, initialMethodType: InitialMethodType) -> None: ...
def setMaxCount(self, maxCount: int) -> None: ...
def setEpsilon(self, epsilon: float) -> None: ...
def setRGB(self, rgb: bool) -> None: ...
def compute(self) -> cv2.typing.MatLike: ...
def getColorCorrectionMatrix(self) -> cv2.typing.MatLike: ...
def getLoss(self) -> float: ...
def getSrcLinearRGB(self) -> cv2.typing.MatLike: ...
def getRefLinearRGB(self) -> cv2.typing.MatLike: ...
def getMask(self) -> cv2.typing.MatLike: ...
def getWeights(self) -> cv2.typing.MatLike: ...
@_typing.overload
def correctImage(self, src: cv2.typing.MatLike, dst: cv2.typing.MatLike | None = ..., islinear: bool = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def correctImage(self, src: cv2.UMat, dst: cv2.UMat | None = ..., islinear: bool = ...) -> cv2.UMat: ...
def write(self, fs: cv2.FileStorage) -> None: ...
def read(self, node: cv2.FileNode) -> None: ...
# Functions
@_typing.overload
def gammaCorrection(src: cv2.typing.MatLike, gamma: float, dst: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def gammaCorrection(src: cv2.UMat, gamma: float, dst: cv2.UMat | None = ...) -> cv2.UMat: ...
+24
View File
@@ -0,0 +1,24 @@
PYTHON_EXTENSIONS_PATHS = [
LOADER_DIR
] + PYTHON_EXTENSIONS_PATHS
ci_and_not_headless = False
try:
from .version import ci_build, headless
ci_and_not_headless = ci_build and not headless
except:
pass
# the Qt plugin is included currently only in the pre-built wheels
if sys.platform.startswith("linux") and ci_and_not_headless:
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "qt", "plugins"
)
# Qt will throw warning on Linux if fonts are not found
if sys.platform.startswith("linux") and ci_and_not_headless:
os.environ["QT_QPA_FONTDIR"] = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "qt", "fonts"
)
+5
View File
@@ -0,0 +1,5 @@
import os
BINARIES_PATHS = [
os.path.join(os.path.join(LOADER_DIR, '../../'), 'lib64')
] + BINARIES_PATHS
+513
View File
@@ -0,0 +1,513 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
# Enumerations
FEATURE_SET_COMPUTE_10: int
FEATURE_SET_COMPUTE_11: int
FEATURE_SET_COMPUTE_12: int
FEATURE_SET_COMPUTE_13: int
FEATURE_SET_COMPUTE_20: int
FEATURE_SET_COMPUTE_21: int
FEATURE_SET_COMPUTE_30: int
FEATURE_SET_COMPUTE_32: int
FEATURE_SET_COMPUTE_35: int
FEATURE_SET_COMPUTE_50: int
GLOBAL_ATOMICS: int
SHARED_ATOMICS: int
NATIVE_DOUBLE: int
WARP_SHUFFLE_FUNCTIONS: int
DYNAMIC_PARALLELISM: int
FeatureSet = int
"""One of [FEATURE_SET_COMPUTE_10, FEATURE_SET_COMPUTE_11, FEATURE_SET_COMPUTE_12, FEATURE_SET_COMPUTE_13, FEATURE_SET_COMPUTE_20, FEATURE_SET_COMPUTE_21, FEATURE_SET_COMPUTE_30, FEATURE_SET_COMPUTE_32, FEATURE_SET_COMPUTE_35, FEATURE_SET_COMPUTE_50, GLOBAL_ATOMICS, SHARED_ATOMICS, NATIVE_DOUBLE, WARP_SHUFFLE_FUNCTIONS, DYNAMIC_PARALLELISM]"""
HostMem_PAGE_LOCKED: int
HOST_MEM_PAGE_LOCKED: int
HostMem_SHARED: int
HOST_MEM_SHARED: int
HostMem_WRITE_COMBINED: int
HOST_MEM_WRITE_COMBINED: int
HostMem_AllocType = int
"""One of [HostMem_PAGE_LOCKED, HOST_MEM_PAGE_LOCKED, HostMem_SHARED, HOST_MEM_SHARED, HostMem_WRITE_COMBINED, HOST_MEM_WRITE_COMBINED]"""
Event_DEFAULT: int
EVENT_DEFAULT: int
Event_BLOCKING_SYNC: int
EVENT_BLOCKING_SYNC: int
Event_DISABLE_TIMING: int
EVENT_DISABLE_TIMING: int
Event_INTERPROCESS: int
EVENT_INTERPROCESS: int
Event_CreateFlags = int
"""One of [Event_DEFAULT, EVENT_DEFAULT, Event_BLOCKING_SYNC, EVENT_BLOCKING_SYNC, Event_DISABLE_TIMING, EVENT_DISABLE_TIMING, Event_INTERPROCESS, EVENT_INTERPROCESS]"""
DeviceInfo_ComputeModeDefault: int
DEVICE_INFO_COMPUTE_MODE_DEFAULT: int
DeviceInfo_ComputeModeExclusive: int
DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE: int
DeviceInfo_ComputeModeProhibited: int
DEVICE_INFO_COMPUTE_MODE_PROHIBITED: int
DeviceInfo_ComputeModeExclusiveProcess: int
DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE_PROCESS: int
DeviceInfo_ComputeMode = int
"""One of [DeviceInfo_ComputeModeDefault, DEVICE_INFO_COMPUTE_MODE_DEFAULT, DeviceInfo_ComputeModeExclusive, DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE, DeviceInfo_ComputeModeProhibited, DEVICE_INFO_COMPUTE_MODE_PROHIBITED, DeviceInfo_ComputeModeExclusiveProcess, DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE_PROCESS]"""
# Classes
class GpuMat:
@property
def step(self) -> int: ...
# Classes
class Allocator:
...
# Functions
@_typing.overload
def __init__(self, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, rows: int, cols: int, type: int, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, size: cv2.typing.Size, type: int, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, rows: int, cols: int, type: int, s: cv2.typing.Scalar, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, size: cv2.typing.Size, type: int, s: cv2.typing.Scalar, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, m: GpuMat) -> None: ...
@_typing.overload
def __init__(self, m: GpuMat, rowRange: cv2.typing.Range, colRange: cv2.typing.Range) -> None: ...
@_typing.overload
def __init__(self, m: GpuMat, roi: cv2.typing.Rect) -> None: ...
@_typing.overload
def __init__(self, arr: cv2.typing.MatLike, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, arr: GpuMat, allocator: GpuMat.Allocator = ...) -> None: ...
@_typing.overload
def __init__(self, arr: cv2.UMat, allocator: GpuMat.Allocator = ...) -> None: ...
@staticmethod
def defaultAllocator() -> GpuMat.Allocator: ...
@staticmethod
def setDefaultAllocator(allocator: GpuMat.Allocator) -> None: ...
@staticmethod
def getStdAllocator() -> GpuMat.Allocator: ...
@_typing.overload
def create(self, rows: int, cols: int, type: int) -> None: ...
@_typing.overload
def create(self, size: cv2.typing.Size, type: int) -> None: ...
def release(self) -> None: ...
def swap(self, mat: GpuMat) -> None: ...
@_typing.overload
def upload(self, arr: cv2.typing.MatLike) -> None: ...
@_typing.overload
def upload(self, arr: GpuMat) -> None: ...
@_typing.overload
def upload(self, arr: cv2.UMat) -> None: ...
@_typing.overload
def upload(self, arr: cv2.typing.MatLike, stream: Stream) -> None: ...
@_typing.overload
def upload(self, arr: GpuMat, stream: Stream) -> None: ...
@_typing.overload
def upload(self, arr: cv2.UMat, stream: Stream) -> None: ...
@_typing.overload
def download(self, dst: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def download(self, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def download(self, dst: cv2.UMat | None = ...) -> cv2.UMat: ...
@_typing.overload
def download(self, stream: Stream, dst: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def download(self, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def download(self, stream: Stream, dst: cv2.UMat | None = ...) -> cv2.UMat: ...
def clone(self) -> GpuMat: ...
@_typing.overload
def copyTo(self, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def copyTo(self, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def copyTo(self, mask: GpuMat, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def copyTo(self, mask: GpuMat, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, stream: Stream) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: cv2.typing.MatLike) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: GpuMat) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: cv2.UMat) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: cv2.typing.MatLike, stream: Stream) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: GpuMat, stream: Stream) -> GpuMat: ...
@_typing.overload
def setTo(self, s: cv2.typing.Scalar, mask: cv2.UMat, stream: Stream) -> GpuMat: ...
@_typing.overload
def convertTo(self, rtype: int, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def convertTo(self, rtype: int, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def convertTo(self, rtype: int, dst: GpuMat | None = ..., alpha: float = ..., beta: float = ...) -> GpuMat: ...
@_typing.overload
def convertTo(self, rtype: int, alpha: float, beta: float, stream: Stream, dst: GpuMat | None = ...) -> GpuMat: ...
def assignTo(self, m: GpuMat, type: int = ...) -> None: ...
def row(self, y: int) -> GpuMat: ...
def col(self, x: int) -> GpuMat: ...
@_typing.overload
def rowRange(self, startrow: int, endrow: int) -> GpuMat: ...
@_typing.overload
def rowRange(self, r: cv2.typing.Range) -> GpuMat: ...
@_typing.overload
def colRange(self, startcol: int, endcol: int) -> GpuMat: ...
@_typing.overload
def colRange(self, r: cv2.typing.Range) -> GpuMat: ...
def reshape(self, cn: int, rows: int = ...) -> GpuMat: ...
def locateROI(self, wholeSize: cv2.typing.Size, ofs: cv2.typing.Point) -> None: ...
def adjustROI(self, dtop: int, dbottom: int, dleft: int, dright: int) -> GpuMat: ...
def isContinuous(self) -> bool: ...
def elemSize(self) -> int: ...
def elemSize1(self) -> int: ...
def type(self) -> int: ...
def depth(self) -> int: ...
def channels(self) -> int: ...
def step1(self) -> int: ...
def size(self) -> cv2.typing.Size: ...
def empty(self) -> bool: ...
def cudaPtr(self) -> cv2.typing.IntPointer: ...
def updateContinuityFlag(self) -> None: ...
class GpuData:
...
class GpuMatND:
...
class BufferPool:
# Functions
def __init__(self, stream: Stream) -> None: ...
@_typing.overload
def getBuffer(self, rows: int, cols: int, type: int) -> GpuMat: ...
@_typing.overload
def getBuffer(self, size: cv2.typing.Size, type: int) -> GpuMat: ...
def getAllocator(self) -> GpuMat.Allocator: ...
class HostMem:
@property
def step(self) -> int: ...
# Functions
@_typing.overload
def __init__(self, alloc_type: HostMem_AllocType = ...) -> None: ...
@_typing.overload
def __init__(self, rows: int, cols: int, type: int, alloc_type: HostMem_AllocType = ...) -> None: ...
@_typing.overload
def __init__(self, size: cv2.typing.Size, type: int, alloc_type: HostMem_AllocType = ...) -> None: ...
@_typing.overload
def __init__(self, arr: cv2.typing.MatLike, alloc_type: HostMem_AllocType = ...) -> None: ...
@_typing.overload
def __init__(self, arr: GpuMat, alloc_type: HostMem_AllocType = ...) -> None: ...
@_typing.overload
def __init__(self, arr: cv2.UMat, alloc_type: HostMem_AllocType = ...) -> None: ...
def swap(self, b: HostMem) -> None: ...
def clone(self) -> HostMem: ...
def create(self, rows: int, cols: int, type: int) -> None: ...
def reshape(self, cn: int, rows: int = ...) -> HostMem: ...
def createMatHeader(self) -> cv2.typing.MatLike: ...
def isContinuous(self) -> bool: ...
def elemSize(self) -> int: ...
def elemSize1(self) -> int: ...
def type(self) -> int: ...
def depth(self) -> int: ...
def channels(self) -> int: ...
def step1(self) -> int: ...
def size(self) -> cv2.typing.Size: ...
def empty(self) -> bool: ...
class Stream:
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, allocator: GpuMat.Allocator) -> None: ...
@_typing.overload
def __init__(self, cudaFlags: int) -> None: ...
def queryIfComplete(self) -> bool: ...
def waitForCompletion(self) -> None: ...
def waitEvent(self, event: Event) -> None: ...
@classmethod
def Null(cls) -> Stream: ...
def cudaPtr(self) -> cv2.typing.IntPointer: ...
class Event:
# Functions
def __init__(self, flags: Event_CreateFlags = ...) -> None: ...
def record(self, stream: Stream = ...) -> None: ...
def queryIfComplete(self) -> bool: ...
def waitForCompletion(self) -> None: ...
@staticmethod
def elapsedTime(start: Event, end: Event) -> float: ...
class TargetArchs:
# Functions
@staticmethod
def has(major: int, minor: int) -> bool: ...
@staticmethod
def hasPtx(major: int, minor: int) -> bool: ...
@staticmethod
def hasBin(major: int, minor: int) -> bool: ...
@staticmethod
def hasEqualOrLessPtx(major: int, minor: int) -> bool: ...
@staticmethod
def hasEqualOrGreater(major: int, minor: int) -> bool: ...
@staticmethod
def hasEqualOrGreaterPtx(major: int, minor: int) -> bool: ...
@staticmethod
def hasEqualOrGreaterBin(major: int, minor: int) -> bool: ...
class DeviceInfo:
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, device_id: int) -> None: ...
def deviceID(self) -> int: ...
def totalGlobalMem(self) -> int: ...
def sharedMemPerBlock(self) -> int: ...
def regsPerBlock(self) -> int: ...
def warpSize(self) -> int: ...
def memPitch(self) -> int: ...
def maxThreadsPerBlock(self) -> int: ...
def maxThreadsDim(self) -> cv2.typing.Vec3i: ...
def maxGridSize(self) -> cv2.typing.Vec3i: ...
def clockRate(self) -> int: ...
def totalConstMem(self) -> int: ...
def majorVersion(self) -> int: ...
def minorVersion(self) -> int: ...
def textureAlignment(self) -> int: ...
def texturePitchAlignment(self) -> int: ...
def multiProcessorCount(self) -> int: ...
def kernelExecTimeoutEnabled(self) -> bool: ...
def integrated(self) -> bool: ...
def canMapHostMemory(self) -> bool: ...
def computeMode(self) -> DeviceInfo_ComputeMode: ...
def maxTexture1D(self) -> int: ...
def maxTexture1DMipmap(self) -> int: ...
def maxTexture1DLinear(self) -> int: ...
def maxTexture2D(self) -> cv2.typing.Vec2i: ...
def maxTexture2DMipmap(self) -> cv2.typing.Vec2i: ...
def maxTexture2DLinear(self) -> cv2.typing.Vec3i: ...
def maxTexture2DGather(self) -> cv2.typing.Vec2i: ...
def maxTexture3D(self) -> cv2.typing.Vec3i: ...
def maxTextureCubemap(self) -> int: ...
def maxTexture1DLayered(self) -> cv2.typing.Vec2i: ...
def maxTexture2DLayered(self) -> cv2.typing.Vec3i: ...
def maxTextureCubemapLayered(self) -> cv2.typing.Vec2i: ...
def maxSurface1D(self) -> int: ...
def maxSurface2D(self) -> cv2.typing.Vec2i: ...
def maxSurface3D(self) -> cv2.typing.Vec3i: ...
def maxSurface1DLayered(self) -> cv2.typing.Vec2i: ...
def maxSurface2DLayered(self) -> cv2.typing.Vec3i: ...
def maxSurfaceCubemap(self) -> int: ...
def maxSurfaceCubemapLayered(self) -> cv2.typing.Vec2i: ...
def surfaceAlignment(self) -> int: ...
def concurrentKernels(self) -> bool: ...
def ECCEnabled(self) -> bool: ...
def pciBusID(self) -> int: ...
def pciDeviceID(self) -> int: ...
def pciDomainID(self) -> int: ...
def tccDriver(self) -> bool: ...
def asyncEngineCount(self) -> int: ...
def unifiedAddressing(self) -> bool: ...
def memoryClockRate(self) -> int: ...
def memoryBusWidth(self) -> int: ...
def l2CacheSize(self) -> int: ...
def maxThreadsPerMultiProcessor(self) -> int: ...
def queryMemory(self, totalMemory: int, freeMemory: int) -> None: ...
def freeMemory(self) -> int: ...
def totalMemory(self) -> int: ...
def isCompatible(self) -> bool: ...
# Functions
@_typing.overload
def createContinuous(rows: int, cols: int, type: int, arr: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def createContinuous(rows: int, cols: int, type: int, arr: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def createContinuous(rows: int, cols: int, type: int, arr: cv2.UMat | None = ...) -> cv2.UMat: ...
@_typing.overload
def createGpuMatFromCudaMemory(rows: int, cols: int, type: int, cudaMemoryAddress: int, step: int = ...) -> GpuMat: ...
@_typing.overload
def createGpuMatFromCudaMemory(size: cv2.typing.Size, type: int, cudaMemoryAddress: int, step: int = ...) -> GpuMat: ...
@_typing.overload
def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: GpuMat | None = ...) -> GpuMat: ...
@_typing.overload
def ensureSizeIsEnough(rows: int, cols: int, type: int, arr: cv2.UMat | None = ...) -> cv2.UMat: ...
def fastNlMeansDenoising(src: GpuMat, h: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., stream: Stream = ...) -> GpuMat: ...
def fastNlMeansDenoisingColored(src: GpuMat, h_luminance: float, photo_render: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., stream: Stream = ...) -> GpuMat: ...
def getCudaEnabledDeviceCount() -> int: ...
def getDevice() -> int: ...
def nonLocalMeans(src: GpuMat, h: float, dst: GpuMat | None = ..., search_window: int = ..., block_size: int = ..., borderMode: int = ..., stream: Stream = ...) -> GpuMat: ...
def printCudaDeviceInfo(device: int) -> None: ...
def printShortCudaDeviceInfo(device: int) -> None: ...
def registerPageLocked(m: cv2.typing.MatLike) -> None: ...
def resetDevice() -> None: ...
def setBufferPoolConfig(deviceId: int, stackSize: int, stackCount: int) -> None: ...
def setBufferPoolUsage(on: bool) -> None: ...
def setDevice(device: int) -> None: ...
def unregisterPageLocked(m: cv2.typing.MatLike) -> None: ...
def wrapStream(cudaStreamMemoryAddress: int) -> Stream: ...
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
import os
haarcascades = os.path.join(os.path.dirname(__file__), "")
+543
View File
@@ -0,0 +1,543 @@
__all__: list[str] = []
import cv2
import cv2.typing
import numpy
import typing as _typing
# Enumerations
TEST_CUSTOM: int
TEST_EQ: int
TEST_NE: int
TEST_LE: int
TEST_LT: int
TEST_GE: int
TEST_GT: int
TestOp = int
"""One of [TEST_CUSTOM, TEST_EQ, TEST_NE, TEST_LE, TEST_LT, TEST_GE, TEST_GT]"""
WAVE_CORRECT_HORIZ: int
WAVE_CORRECT_VERT: int
WAVE_CORRECT_AUTO: int
WaveCorrectKind = int
"""One of [WAVE_CORRECT_HORIZ, WAVE_CORRECT_VERT, WAVE_CORRECT_AUTO]"""
Blender_NO: int
BLENDER_NO: int
Blender_FEATHER: int
BLENDER_FEATHER: int
Blender_MULTI_BAND: int
BLENDER_MULTI_BAND: int
ExposureCompensator_NO: int
EXPOSURE_COMPENSATOR_NO: int
ExposureCompensator_GAIN: int
EXPOSURE_COMPENSATOR_GAIN: int
ExposureCompensator_GAIN_BLOCKS: int
EXPOSURE_COMPENSATOR_GAIN_BLOCKS: int
ExposureCompensator_CHANNELS: int
EXPOSURE_COMPENSATOR_CHANNELS: int
ExposureCompensator_CHANNELS_BLOCKS: int
EXPOSURE_COMPENSATOR_CHANNELS_BLOCKS: int
SeamFinder_NO: int
SEAM_FINDER_NO: int
SeamFinder_VORONOI_SEAM: int
SEAM_FINDER_VORONOI_SEAM: int
SeamFinder_DP_SEAM: int
SEAM_FINDER_DP_SEAM: int
DpSeamFinder_COLOR: int
DP_SEAM_FINDER_COLOR: int
DpSeamFinder_COLOR_GRAD: int
DP_SEAM_FINDER_COLOR_GRAD: int
DpSeamFinder_CostFunction = int
"""One of [DpSeamFinder_COLOR, DP_SEAM_FINDER_COLOR, DpSeamFinder_COLOR_GRAD, DP_SEAM_FINDER_COLOR_GRAD]"""
Timelapser_AS_IS: int
TIMELAPSER_AS_IS: int
Timelapser_CROP: int
TIMELAPSER_CROP: int
GraphCutSeamFinderBase_COST_COLOR: int
GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR: int
GraphCutSeamFinderBase_COST_COLOR_GRAD: int
GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR_GRAD: int
GraphCutSeamFinderBase_CostType = int
"""One of [GraphCutSeamFinderBase_COST_COLOR, GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR, GraphCutSeamFinderBase_COST_COLOR_GRAD, GRAPH_CUT_SEAM_FINDER_BASE_COST_COLOR_GRAD]"""
TrackerSamplerCSC_MODE_INIT_POS: int
TRACKER_SAMPLER_CSC_MODE_INIT_POS: int
TrackerSamplerCSC_MODE_INIT_NEG: int
TRACKER_SAMPLER_CSC_MODE_INIT_NEG: int
TrackerSamplerCSC_MODE_TRACK_POS: int
TRACKER_SAMPLER_CSC_MODE_TRACK_POS: int
TrackerSamplerCSC_MODE_TRACK_NEG: int
TRACKER_SAMPLER_CSC_MODE_TRACK_NEG: int
TrackerSamplerCSC_MODE_DETECT: int
TRACKER_SAMPLER_CSC_MODE_DETECT: int
TrackerSamplerCSC_MODE = int
"""One of [TrackerSamplerCSC_MODE_INIT_POS, TRACKER_SAMPLER_CSC_MODE_INIT_POS, TrackerSamplerCSC_MODE_INIT_NEG, TRACKER_SAMPLER_CSC_MODE_INIT_NEG, TrackerSamplerCSC_MODE_TRACK_POS, TRACKER_SAMPLER_CSC_MODE_TRACK_POS, TrackerSamplerCSC_MODE_TRACK_NEG, TRACKER_SAMPLER_CSC_MODE_TRACK_NEG, TrackerSamplerCSC_MODE_DETECT, TRACKER_SAMPLER_CSC_MODE_DETECT]"""
# Classes
class PoseGraph:
...
class Blender:
# Functions
@classmethod
def createDefault(cls, type: int, try_gpu: bool = ...) -> Blender: ...
@_typing.overload
def prepare(self, corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> None: ...
@_typing.overload
def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
@_typing.overload
def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
class FeatherBlender(Blender):
# Functions
def __init__(self, sharpness: float = ...) -> None: ...
def sharpness(self) -> float: ...
def setSharpness(self, val: float) -> None: ...
def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
@_typing.overload
def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
def createWeightMaps(self, masks: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], weight_maps: _typing.Sequence[cv2.UMat]) -> tuple[cv2.typing.Rect, _typing.Sequence[cv2.UMat]]: ...
class MultiBandBlender(Blender):
# Functions
def __init__(self, try_gpu: int = ..., num_bands: int = ..., weight_type: int = ...) -> None: ...
def numBands(self) -> int: ...
def setNumBands(self, val: int) -> None: ...
def prepare(self, dst_roi: cv2.typing.Rect) -> None: ...
@_typing.overload
def feed(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def feed(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def blend(self, dst: cv2.typing.MatLike, dst_mask: cv2.typing.MatLike) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def blend(self, dst: cv2.UMat, dst_mask: cv2.UMat) -> tuple[cv2.UMat, cv2.UMat]: ...
class CameraParams:
focal: float
aspect: float
ppx: float
ppy: float
R: cv2.typing.MatLike
t: cv2.typing.MatLike
# Functions
def K(self) -> cv2.typing.MatLike: ...
class ExposureCompensator:
# Functions
@classmethod
def createDefault(cls, type: int) -> ExposureCompensator: ...
def feed(self, corners: _typing.Sequence[cv2.typing.Point], images: _typing.Sequence[cv2.UMat], masks: _typing.Sequence[cv2.UMat]) -> None: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, arg1: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, arg1: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
def setUpdateGain(self, b: bool) -> None: ...
def getUpdateGain(self) -> bool: ...
class NoExposureCompensator(ExposureCompensator):
# Functions
@_typing.overload
def apply(self, arg1: int, arg2: cv2.typing.Point, arg3: cv2.typing.MatLike, arg4: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, arg1: int, arg2: cv2.typing.Point, arg3: cv2.UMat, arg4: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
class GainCompensator(ExposureCompensator):
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, nr_feeds: int) -> None: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
def setNrFeeds(self, nr_feeds: int) -> None: ...
def getNrFeeds(self) -> int: ...
def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
def getSimilarityThreshold(self) -> float: ...
class ChannelsCompensator(ExposureCompensator):
# Functions
def __init__(self, nr_feeds: int = ...) -> None: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
def setNrFeeds(self, nr_feeds: int) -> None: ...
def getNrFeeds(self) -> int: ...
def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
def getSimilarityThreshold(self) -> float: ...
class BlocksCompensator(ExposureCompensator):
# Functions
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
def setNrFeeds(self, nr_feeds: int) -> None: ...
def getNrFeeds(self) -> int: ...
def setSimilarityThreshold(self, similarity_threshold: float) -> None: ...
def getSimilarityThreshold(self) -> float: ...
@_typing.overload
def setBlockSize(self, width: int, height: int) -> None: ...
@_typing.overload
def setBlockSize(self, size: cv2.typing.Size) -> None: ...
def getBlockSize(self) -> cv2.typing.Size: ...
def setNrGainsFilteringIterations(self, nr_iterations: int) -> None: ...
def getNrGainsFilteringIterations(self) -> int: ...
class BlocksGainCompensator(BlocksCompensator):
# Functions
@_typing.overload
def __init__(self, bl_width: int = ..., bl_height: int = ...) -> None: ...
@_typing.overload
def __init__(self, bl_width: int, bl_height: int, nr_feeds: int) -> None: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.typing.MatLike, mask: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, index: int, corner: cv2.typing.Point, image: cv2.UMat, mask: cv2.UMat) -> cv2.UMat: ...
def getMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def setMatGains(self, umv: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
class BlocksChannelsCompensator(BlocksCompensator):
# Functions
def __init__(self, bl_width: int = ..., bl_height: int = ..., nr_feeds: int = ...) -> None: ...
class ImageFeatures:
img_idx: int
img_size: cv2.typing.Size
keypoints: _typing.Sequence[cv2.KeyPoint]
descriptors: cv2.UMat
# Functions
def getKeypoints(self) -> _typing.Sequence[cv2.KeyPoint]: ...
class MatchesInfo:
src_img_idx: int
dst_img_idx: int
matches: _typing.Sequence[cv2.DMatch]
inliers_mask: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]
num_inliers: int
H: cv2.typing.MatLike
confidence: float
# Functions
def getMatches(self) -> _typing.Sequence[cv2.DMatch]: ...
def getInliers(self) -> numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]: ...
class FeaturesMatcher:
# Functions
def apply(self, features1: ImageFeatures, features2: ImageFeatures) -> MatchesInfo: ...
def apply2(self, features: _typing.Sequence[ImageFeatures], mask: cv2.UMat | None = ...) -> _typing.Sequence[MatchesInfo]: ...
def isThreadSafe(self) -> bool: ...
def collectGarbage(self) -> None: ...
class BestOf2NearestMatcher(FeaturesMatcher):
# Functions
def __init__(self, try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ..., matches_confidence_thresh: float = ...) -> None: ...
def collectGarbage(self) -> None: ...
@classmethod
def create(cls, try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ..., matches_confidence_thresh: float = ...) -> BestOf2NearestMatcher: ...
class BestOf2NearestRangeMatcher(BestOf2NearestMatcher):
# Functions
def __init__(self, range_width: int = ..., try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ..., num_matches_thresh2: int = ...) -> None: ...
class AffineBestOf2NearestMatcher(BestOf2NearestMatcher):
# Functions
def __init__(self, full_affine: bool = ..., try_use_gpu: bool = ..., match_conf: float = ..., num_matches_thresh1: int = ...) -> None: ...
class LightGlueFeaturesMatcher(FeaturesMatcher):
# Functions
def __init__(self, lgMatcher: cv2.LightGlueMatcher, num_matches_thresh1: int = ..., num_matches_thresh2: int = ..., matches_confidence_thresh: float = ...) -> None: ...
def setScoreThreshold(self, thresh: float) -> None: ...
class Estimator:
# Functions
def apply(self, features: _typing.Sequence[ImageFeatures], pairwise_matches: _typing.Sequence[MatchesInfo], cameras: _typing.Sequence[CameraParams]) -> tuple[bool, _typing.Sequence[CameraParams]]: ...
class HomographyBasedEstimator(Estimator):
# Functions
def __init__(self, is_focals_estimated: bool = ...) -> None: ...
class AffineBasedEstimator(Estimator):
# Functions
def __init__(self) -> None: ...
class BundleAdjusterBase(Estimator):
# Functions
def refinementMask(self) -> cv2.typing.MatLike: ...
def setRefinementMask(self, mask: cv2.typing.MatLike) -> None: ...
def confThresh(self) -> float: ...
def setConfThresh(self, conf_thresh: float) -> None: ...
def termCriteria(self) -> cv2.typing.TermCriteria: ...
def setTermCriteria(self, term_criteria: cv2.typing.TermCriteria) -> None: ...
class NoBundleAdjuster(BundleAdjusterBase):
# Functions
def __init__(self) -> None: ...
class BundleAdjusterReproj(BundleAdjusterBase):
# Functions
def __init__(self) -> None: ...
class BundleAdjusterRay(BundleAdjusterBase):
# Functions
def __init__(self) -> None: ...
class BundleAdjusterAffine(BundleAdjusterBase):
# Functions
def __init__(self) -> None: ...
class BundleAdjusterAffinePartial(BundleAdjusterBase):
# Functions
def __init__(self) -> None: ...
class SeamFinder:
# Functions
def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@classmethod
def createDefault(cls, type: int) -> SeamFinder: ...
class NoSeamFinder(SeamFinder):
# Functions
def find(self, arg1: _typing.Sequence[cv2.UMat], arg2: _typing.Sequence[cv2.typing.Point], arg3: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
class PairwiseSeamFinder(SeamFinder):
# Functions
def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
class VoronoiSeamFinder(PairwiseSeamFinder):
# Functions
def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
class DpSeamFinder(SeamFinder):
# Functions
def __init__(self, costFunc: str) -> None: ...
def setCostFunction(self, val: str) -> None: ...
class GraphCutSeamFinder:
# Functions
def __init__(self, cost_type: str, terminal_cost: float = ..., bad_region_penalty: float = ...) -> None: ...
def find(self, src: _typing.Sequence[cv2.UMat], corners: _typing.Sequence[cv2.typing.Point], masks: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
class Timelapser:
# Functions
@classmethod
def createDefault(cls, type: int) -> Timelapser: ...
def initialize(self, corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> None: ...
@_typing.overload
def process(self, img: cv2.typing.MatLike, mask: cv2.typing.MatLike, tl: cv2.typing.Point) -> None: ...
@_typing.overload
def process(self, img: cv2.UMat, mask: cv2.UMat, tl: cv2.typing.Point) -> None: ...
def getDst(self) -> cv2.UMat: ...
class TimelapserCrop(Timelapser):
...
class ProjectorBase:
...
class SphericalProjector(ProjectorBase):
# Functions
def mapForward(self, x: float, y: float, u: float, v: float) -> None: ...
def mapBackward(self, u: float, v: float, x: float, y: float) -> None: ...
# Functions
def calibrateRotatingCamera(Hs: _typing.Sequence[cv2.typing.MatLike], K: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.typing.MatLike]: ...
@_typing.overload
def computeImageFeatures(featuresFinder: cv2.Feature2D, images: _typing.Sequence[cv2.typing.MatLike], masks: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[ImageFeatures]: ...
@_typing.overload
def computeImageFeatures(featuresFinder: cv2.Feature2D, images: _typing.Sequence[cv2.UMat], masks: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[ImageFeatures]: ...
@_typing.overload
def computeImageFeatures2(featuresFinder: cv2.Feature2D, image: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ...) -> ImageFeatures: ...
@_typing.overload
def computeImageFeatures2(featuresFinder: cv2.Feature2D, image: cv2.UMat, mask: cv2.UMat | None = ...) -> ImageFeatures: ...
@_typing.overload
def createLaplacePyr(img: cv2.typing.MatLike, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def createLaplacePyr(img: cv2.UMat, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def createLaplacePyrGpu(img: cv2.typing.MatLike, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def createLaplacePyrGpu(img: cv2.UMat, num_levels: int, pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def createWeightMap(mask: cv2.typing.MatLike, sharpness: float, weight: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def createWeightMap(mask: cv2.UMat, sharpness: float, weight: cv2.UMat) -> cv2.UMat: ...
def focalsFromHomography(H: cv2.typing.MatLike, f0: float, f1: float, f0_ok: bool, f1_ok: bool) -> None: ...
def leaveBiggestComponent(features: _typing.Sequence[ImageFeatures], pairwise_matches: _typing.Sequence[MatchesInfo], conf_threshold: float) -> _typing.Sequence[int]: ...
def matchesGraphAsString(paths: _typing.Sequence[str], pairwise_matches: _typing.Sequence[MatchesInfo], conf_threshold: float) -> str: ...
@_typing.overload
def normalizeUsingWeightMap(weight: cv2.typing.MatLike, src: cv2.typing.MatLike) -> cv2.typing.MatLike: ...
@_typing.overload
def normalizeUsingWeightMap(weight: cv2.UMat, src: cv2.UMat) -> cv2.UMat: ...
def overlapRoi(tl1: cv2.typing.Point, tl2: cv2.typing.Point, sz1: cv2.typing.Size, sz2: cv2.typing.Size, roi: cv2.typing.Rect) -> bool: ...
def restoreImageFromLaplacePyr(pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
def restoreImageFromLaplacePyrGpu(pyr: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def resultRoi(corners: _typing.Sequence[cv2.typing.Point], images: _typing.Sequence[cv2.UMat]) -> cv2.typing.Rect: ...
@_typing.overload
def resultRoi(corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> cv2.typing.Rect: ...
def resultRoiIntersection(corners: _typing.Sequence[cv2.typing.Point], sizes: _typing.Sequence[cv2.typing.Size]) -> cv2.typing.Rect: ...
def resultTl(corners: _typing.Sequence[cv2.typing.Point]) -> cv2.typing.Point: ...
def selectRandomSubset(count: int, size: int, subset: _typing.Sequence[int]) -> None: ...
def stitchingLogLevel() -> int: ...
def waveCorrect(rmats: _typing.Sequence[cv2.typing.MatLike], kind: WaveCorrectKind) -> _typing.Sequence[cv2.typing.MatLike]: ...
+666
View File
@@ -0,0 +1,666 @@
__all__: list[str] = []
import cv2
import cv2.typing
import numpy
import os
import sys
import typing as _typing
if sys.version_info >= (3, 8):
from typing import Protocol
else:
from typing_extensions import Protocol
# Enumerations
AUTO_PAD_NONE: int
AUTO_PAD_SAME_UPPER: int
AUTO_PAD_SAME_LOWER: int
AUTO_PAD_VALID: int
AutoPadding = int
"""One of [AUTO_PAD_NONE, AUTO_PAD_SAME_UPPER, AUTO_PAD_SAME_LOWER, AUTO_PAD_VALID]"""
ACTIV_NONE: int
ACTIV_MISH: int
ACTIV_SWISH: int
ACTIV_SIGMOID: int
ACTIV_TANH: int
ACTIV_ELU: int
ACTIV_HARDSWISH: int
ACTIV_HARDSIGMOID: int
ACTIV_GELU: int
ACTIV_GELU_APPROX: int
ACTIV_RELU: int
ACTIV_CLIP: int
ActivationType = int
"""One of [ACTIV_NONE, ACTIV_MISH, ACTIV_SWISH, ACTIV_SIGMOID, ACTIV_TANH, ACTIV_ELU, ACTIV_HARDSWISH, ACTIV_HARDSIGMOID, ACTIV_GELU, ACTIV_GELU_APPROX, ACTIV_RELU, ACTIV_CLIP]"""
LOSS_REDUCTION_NONE: int
LOSS_REDUCTION_MEAN: int
LOSS_REDUCTION_SUM: int
LossReduction = int
"""One of [LOSS_REDUCTION_NONE, LOSS_REDUCTION_MEAN, LOSS_REDUCTION_SUM]"""
DNN_BACKEND_DEFAULT: int
DNN_BACKEND_INFERENCE_ENGINE: int
DNN_BACKEND_OPENCV: int
DNN_BACKEND_VKCOM: int
DNN_BACKEND_CUDA: int
DNN_BACKEND_WEBNN: int
DNN_BACKEND_TIMVX: int
DNN_BACKEND_CANN: int
Backend = int
"""One of [DNN_BACKEND_DEFAULT, DNN_BACKEND_INFERENCE_ENGINE, DNN_BACKEND_OPENCV, DNN_BACKEND_VKCOM, DNN_BACKEND_CUDA, DNN_BACKEND_WEBNN, DNN_BACKEND_TIMVX, DNN_BACKEND_CANN]"""
DNN_TARGET_CPU: int
DNN_TARGET_OPENCL: int
DNN_TARGET_OPENCL_FP16: int
DNN_TARGET_MYRIAD: int
DNN_TARGET_VULKAN: int
DNN_TARGET_FPGA: int
DNN_TARGET_CUDA: int
DNN_TARGET_CUDA_FP16: int
DNN_TARGET_HDDL: int
DNN_TARGET_NPU: int
DNN_TARGET_CPU_FP16: int
Target = int
"""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]"""
DNN_TRACE_NONE: int
DNN_TRACE_ALL: int
DNN_TRACE_OP: int
TracingMode = int
"""One of [DNN_TRACE_NONE, DNN_TRACE_ALL, DNN_TRACE_OP]"""
DNN_PROFILE_NONE: int
DNN_PROFILE_SUMMARY: int
DNN_PROFILE_DETAILED: int
ProfilingMode = int
"""One of [DNN_PROFILE_NONE, DNN_PROFILE_SUMMARY, DNN_PROFILE_DETAILED]"""
DNN_MODEL_GENERIC: int
DNN_MODEL_ONNX: int
DNN_MODEL_TF: int
DNN_MODEL_TFLITE: int
ModelFormat = int
"""One of [DNN_MODEL_GENERIC, DNN_MODEL_ONNX, DNN_MODEL_TF, DNN_MODEL_TFLITE]"""
DNN_ARG_EMPTY: int
DNN_ARG_CONST: int
DNN_ARG_INPUT: int
DNN_ARG_OUTPUT: int
DNN_ARG_TEMP: int
DNN_ARG_PATTERN: int
ArgKind = int
"""One of [DNN_ARG_EMPTY, DNN_ARG_CONST, DNN_ARG_INPUT, DNN_ARG_OUTPUT, DNN_ARG_TEMP, DNN_ARG_PATTERN]"""
ENGINE_CLASSIC: int
ENGINE_NEW: int
ENGINE_AUTO: int
ENGINE_ORT: int
EngineType = int
"""One of [ENGINE_CLASSIC, ENGINE_NEW, ENGINE_AUTO, ENGINE_ORT]"""
DNN_PMODE_NULL: int
DNN_PMODE_CROP_CENTER: int
DNN_PMODE_LETTERBOX: int
ImagePaddingMode = int
"""One of [DNN_PMODE_NULL, DNN_PMODE_CROP_CENTER, DNN_PMODE_LETTERBOX]"""
SoftNMSMethod_SOFTNMS_LINEAR: int
SOFT_NMSMETHOD_SOFTNMS_LINEAR: int
SoftNMSMethod_SOFTNMS_GAUSSIAN: int
SOFT_NMSMETHOD_SOFTNMS_GAUSSIAN: int
SoftNMSMethod = int
"""One of [SoftNMSMethod_SOFTNMS_LINEAR, SOFT_NMSMETHOD_SOFTNMS_LINEAR, SoftNMSMethod_SOFTNMS_GAUSSIAN, SOFT_NMSMETHOD_SOFTNMS_GAUSSIAN]"""
Reduce2Layer_ReduceType_MAX: int
REDUCE2LAYER_REDUCE_TYPE_MAX: int
Reduce2Layer_ReduceType_MIN: int
REDUCE2LAYER_REDUCE_TYPE_MIN: int
Reduce2Layer_ReduceType_MEAN: int
REDUCE2LAYER_REDUCE_TYPE_MEAN: int
Reduce2Layer_ReduceType_SUM: int
REDUCE2LAYER_REDUCE_TYPE_SUM: int
Reduce2Layer_ReduceType_L1: int
REDUCE2LAYER_REDUCE_TYPE_L1: int
Reduce2Layer_ReduceType_L2: int
REDUCE2LAYER_REDUCE_TYPE_L2: int
Reduce2Layer_ReduceType_PROD: int
REDUCE2LAYER_REDUCE_TYPE_PROD: int
Reduce2Layer_ReduceType_SUM_SQUARE: int
REDUCE2LAYER_REDUCE_TYPE_SUM_SQUARE: int
Reduce2Layer_ReduceType_LOG_SUM: int
REDUCE2LAYER_REDUCE_TYPE_LOG_SUM: int
Reduce2Layer_ReduceType_LOG_SUM_EXP: int
REDUCE2LAYER_REDUCE_TYPE_LOG_SUM_EXP: int
Reduce2Layer_ReduceType = int
"""One of [Reduce2Layer_ReduceType_MAX, REDUCE2LAYER_REDUCE_TYPE_MAX, Reduce2Layer_ReduceType_MIN, REDUCE2LAYER_REDUCE_TYPE_MIN, Reduce2Layer_ReduceType_MEAN, REDUCE2LAYER_REDUCE_TYPE_MEAN, Reduce2Layer_ReduceType_SUM, REDUCE2LAYER_REDUCE_TYPE_SUM, Reduce2Layer_ReduceType_L1, REDUCE2LAYER_REDUCE_TYPE_L1, Reduce2Layer_ReduceType_L2, REDUCE2LAYER_REDUCE_TYPE_L2, Reduce2Layer_ReduceType_PROD, REDUCE2LAYER_REDUCE_TYPE_PROD, Reduce2Layer_ReduceType_SUM_SQUARE, REDUCE2LAYER_REDUCE_TYPE_SUM_SQUARE, Reduce2Layer_ReduceType_LOG_SUM, REDUCE2LAYER_REDUCE_TYPE_LOG_SUM, Reduce2Layer_ReduceType_LOG_SUM_EXP, REDUCE2LAYER_REDUCE_TYPE_LOG_SUM_EXP]"""
NaryEltwiseLayer_OPERATION_AND: int
NARY_ELTWISE_LAYER_OPERATION_AND: int
NaryEltwiseLayer_OPERATION_EQUAL: int
NARY_ELTWISE_LAYER_OPERATION_EQUAL: int
NaryEltwiseLayer_OPERATION_GREATER: int
NARY_ELTWISE_LAYER_OPERATION_GREATER: int
NaryEltwiseLayer_OPERATION_GREATER_EQUAL: int
NARY_ELTWISE_LAYER_OPERATION_GREATER_EQUAL: int
NaryEltwiseLayer_OPERATION_LESS: int
NARY_ELTWISE_LAYER_OPERATION_LESS: int
NaryEltwiseLayer_OPERATION_LESS_EQUAL: int
NARY_ELTWISE_LAYER_OPERATION_LESS_EQUAL: int
NaryEltwiseLayer_OPERATION_OR: int
NARY_ELTWISE_LAYER_OPERATION_OR: int
NaryEltwiseLayer_OPERATION_POW: int
NARY_ELTWISE_LAYER_OPERATION_POW: int
NaryEltwiseLayer_OPERATION_XOR: int
NARY_ELTWISE_LAYER_OPERATION_XOR: int
NaryEltwiseLayer_OPERATION_BITSHIFT: int
NARY_ELTWISE_LAYER_OPERATION_BITSHIFT: int
NaryEltwiseLayer_OPERATION_MAX: int
NARY_ELTWISE_LAYER_OPERATION_MAX: int
NaryEltwiseLayer_OPERATION_MEAN: int
NARY_ELTWISE_LAYER_OPERATION_MEAN: int
NaryEltwiseLayer_OPERATION_MIN: int
NARY_ELTWISE_LAYER_OPERATION_MIN: int
NaryEltwiseLayer_OPERATION_MOD: int
NARY_ELTWISE_LAYER_OPERATION_MOD: int
NaryEltwiseLayer_OPERATION_FMOD: int
NARY_ELTWISE_LAYER_OPERATION_FMOD: int
NaryEltwiseLayer_OPERATION_PROD: int
NARY_ELTWISE_LAYER_OPERATION_PROD: int
NaryEltwiseLayer_OPERATION_SUB: int
NARY_ELTWISE_LAYER_OPERATION_SUB: int
NaryEltwiseLayer_OPERATION_SUM: int
NARY_ELTWISE_LAYER_OPERATION_SUM: int
NaryEltwiseLayer_OPERATION_ADD: int
NARY_ELTWISE_LAYER_OPERATION_ADD: int
NaryEltwiseLayer_OPERATION_DIV: int
NARY_ELTWISE_LAYER_OPERATION_DIV: int
NaryEltwiseLayer_OPERATION_WHERE: int
NARY_ELTWISE_LAYER_OPERATION_WHERE: int
NaryEltwiseLayer_OPERATION_BITWISE_AND: int
NARY_ELTWISE_LAYER_OPERATION_BITWISE_AND: int
NaryEltwiseLayer_OPERATION_BITWISE_OR: int
NARY_ELTWISE_LAYER_OPERATION_BITWISE_OR: int
NaryEltwiseLayer_OPERATION_BITWISE_XOR: int
NARY_ELTWISE_LAYER_OPERATION_BITWISE_XOR: int
NaryEltwiseLayer_OPERATION = int
"""One of [NaryEltwiseLayer_OPERATION_AND, NARY_ELTWISE_LAYER_OPERATION_AND, NaryEltwiseLayer_OPERATION_EQUAL, NARY_ELTWISE_LAYER_OPERATION_EQUAL, NaryEltwiseLayer_OPERATION_GREATER, NARY_ELTWISE_LAYER_OPERATION_GREATER, NaryEltwiseLayer_OPERATION_GREATER_EQUAL, NARY_ELTWISE_LAYER_OPERATION_GREATER_EQUAL, NaryEltwiseLayer_OPERATION_LESS, NARY_ELTWISE_LAYER_OPERATION_LESS, NaryEltwiseLayer_OPERATION_LESS_EQUAL, NARY_ELTWISE_LAYER_OPERATION_LESS_EQUAL, NaryEltwiseLayer_OPERATION_OR, NARY_ELTWISE_LAYER_OPERATION_OR, NaryEltwiseLayer_OPERATION_POW, NARY_ELTWISE_LAYER_OPERATION_POW, NaryEltwiseLayer_OPERATION_XOR, NARY_ELTWISE_LAYER_OPERATION_XOR, NaryEltwiseLayer_OPERATION_BITSHIFT, NARY_ELTWISE_LAYER_OPERATION_BITSHIFT, NaryEltwiseLayer_OPERATION_MAX, NARY_ELTWISE_LAYER_OPERATION_MAX, NaryEltwiseLayer_OPERATION_MEAN, NARY_ELTWISE_LAYER_OPERATION_MEAN, NaryEltwiseLayer_OPERATION_MIN, NARY_ELTWISE_LAYER_OPERATION_MIN, NaryEltwiseLayer_OPERATION_MOD, NARY_ELTWISE_LAYER_OPERATION_MOD, NaryEltwiseLayer_OPERATION_FMOD, NARY_ELTWISE_LAYER_OPERATION_FMOD, NaryEltwiseLayer_OPERATION_PROD, NARY_ELTWISE_LAYER_OPERATION_PROD, NaryEltwiseLayer_OPERATION_SUB, NARY_ELTWISE_LAYER_OPERATION_SUB, NaryEltwiseLayer_OPERATION_SUM, NARY_ELTWISE_LAYER_OPERATION_SUM, NaryEltwiseLayer_OPERATION_ADD, NARY_ELTWISE_LAYER_OPERATION_ADD, NaryEltwiseLayer_OPERATION_DIV, NARY_ELTWISE_LAYER_OPERATION_DIV, NaryEltwiseLayer_OPERATION_WHERE, NARY_ELTWISE_LAYER_OPERATION_WHERE, NaryEltwiseLayer_OPERATION_BITWISE_AND, NARY_ELTWISE_LAYER_OPERATION_BITWISE_AND, NaryEltwiseLayer_OPERATION_BITWISE_OR, NARY_ELTWISE_LAYER_OPERATION_BITWISE_OR, NaryEltwiseLayer_OPERATION_BITWISE_XOR, NARY_ELTWISE_LAYER_OPERATION_BITWISE_XOR]"""
# Classes
class DictValue:
# Functions
@_typing.overload
def __init__(self, i: int) -> None: ...
@_typing.overload
def __init__(self, p: float) -> None: ...
@_typing.overload
def __init__(self, s: str) -> None: ...
def isInt(self) -> bool: ...
def isString(self) -> bool: ...
def isReal(self) -> bool: ...
def getIntValue(self, idx: int = ...) -> int: ...
def getRealValue(self, idx: int = ...) -> float: ...
def getStringValue(self, idx: int = ...) -> str: ...
class Layer(cv2.Algorithm):
blobs: _typing.Sequence[cv2.typing.MatLike]
@property
def name(self) -> str: ...
@property
def type(self) -> str: ...
@property
def preferableTarget(self) -> int: ...
# Functions
@_typing.overload
def finalize(self, inputs: _typing.Sequence[cv2.typing.MatLike], outputs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
@_typing.overload
def finalize(self, inputs: _typing.Sequence[cv2.UMat], outputs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
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]]: ...
def outputNameToIndex(self, outputName: str) -> int: ...
class Net:
# Functions
def __init__(self) -> None: ...
@classmethod
@_typing.overload
def readFromModelOptimizer(cls, xml: str | os.PathLike[str], bin: str | os.PathLike[str]) -> Net: ...
@classmethod
@_typing.overload
def readFromModelOptimizer(cls, bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
def empty(self) -> bool: ...
def dump(self) -> str: ...
def dumpToFile(self, path: str | os.PathLike[str]) -> None: ...
def dumpToPbtxt(self, path: str | os.PathLike[str]) -> None: ...
def addLayer(self, name: str, type: str, dtype: int, params: cv2.typing.LayerParams) -> int: ...
def addLayerToPrev(self, name: str, type: str, dtype: int, params: cv2.typing.LayerParams) -> int: ...
def getLayerId(self, layer: str) -> int: ...
def getLayerNames(self) -> _typing.Sequence[str]: ...
@_typing.overload
def getLayer(self, layerId: int) -> Layer: ...
@_typing.overload
def getLayer(self, layerName: str) -> Layer: ...
@_typing.overload
def getLayer(self, layerId: cv2.typing.LayerId) -> Layer: ...
def connect(self, outPin: str, inpPin: str) -> None: ...
def registerOutput(self, outputName: str, layerId: int, outputPort: int) -> int: ...
def setInputsNames(self, inputBlobNames: _typing.Sequence[str]) -> None: ...
def setInputShape(self, inputName: str, shape: cv2.typing.MatShape) -> None: ...
@_typing.overload
def forward(self, outputName: str = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def forward(self, outputBlobs: _typing.Sequence[cv2.typing.MatLike] | None = ..., outputName: str = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
@_typing.overload
def forward(self, outputBlobs: _typing.Sequence[cv2.UMat] | None = ..., outputName: str = ...) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def forward(self, outBlobNames: _typing.Sequence[str], outputBlobs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
@_typing.overload
def forward(self, outBlobNames: _typing.Sequence[str], outputBlobs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
def forwardAsync(self, outputName: str = ...) -> cv2.AsyncArray: ...
def forwardAndRetrieve(self, outBlobNames: _typing.Sequence[str]) -> _typing.Sequence[_typing.Sequence[cv2.typing.MatLike]]: ...
def setPreferableBackend(self, backendId: int) -> None: ...
def setPreferableTarget(self, targetId: int) -> None: ...
def finalizeNet(self) -> None: ...
def setTracingMode(self, tracingMode: TracingMode) -> None: ...
def getTracingMode(self) -> TracingMode: ...
def setProfilingMode(self, profilingMode: ProfilingMode) -> None: ...
def getProfilingMode(self) -> ProfilingMode: ...
def getModelFormat(self) -> ModelFormat: ...
@_typing.overload
def setInput(self, blob: cv2.typing.MatLike, name: str = ..., scalefactor: float = ..., mean: cv2.typing.Scalar = ...) -> None: ...
@_typing.overload
def setInput(self, blob: cv2.UMat, name: str = ..., scalefactor: float = ..., mean: cv2.typing.Scalar = ...) -> None: ...
@_typing.overload
def setParam(self, layer: int, numParam: int, blob: cv2.typing.MatLike) -> None: ...
@_typing.overload
def setParam(self, layerName: str, numParam: int, blob: cv2.typing.MatLike) -> None: ...
@_typing.overload
def getParam(self, layer: int, numParam: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def getParam(self, layerName: str, numParam: int = ...) -> cv2.typing.MatLike: ...
def getUnconnectedOutLayers(self) -> _typing.Sequence[int]: ...
def getUnconnectedOutLayersNames(self) -> _typing.Sequence[str]: ...
def getLayerShapes(self, netInputShapes: _typing.Sequence[cv2.typing.MatShape], netInputTypes: _typing.Sequence[int], layerId: int) -> tuple[_typing.Sequence[cv2.typing.MatShape], _typing.Sequence[cv2.typing.MatShape]]: ...
def getFLOPS(self, netInputShapes: _typing.Sequence[cv2.typing.MatShape], netInputTypes: _typing.Sequence[int]) -> int: ...
def getLayerTypes(self) -> _typing.Sequence[str]: ...
def getLayersCount(self, layerType: str) -> int: ...
def getMemoryConsumption(self, netInputShapes: _typing.Sequence[cv2.typing.MatShape], netInputTypes: _typing.Sequence[int]) -> tuple[int, int]: ...
def enableFusion(self, fusion: bool) -> None: ...
def enableWinograd(self, useWinograd: bool) -> None: ...
@_typing.overload
def getPerfProfile(self) -> tuple[int, _typing.Sequence[float]]: ...
@_typing.overload
def getPerfProfile(self) -> tuple[_typing.Sequence[str], _typing.Sequence[str], _typing.Sequence[str]]: ...
def enableKVCache(self) -> None: ...
def disableKVCache(self) -> None: ...
def resetKVCache(self) -> None: ...
def printPerfProfile(self) -> None: ...
class Image2BlobParams:
scalefactor: cv2.typing.Scalar
size: cv2.typing.Size
mean: cv2.typing.Scalar
swapRB: bool
ddepth: int
datalayout: cv2.DataLayout
paddingmode: ImagePaddingMode
borderValue: cv2.typing.Scalar
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, scalefactor: cv2.typing.Scalar, size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., ddepth: int = ..., datalayout: cv2.DataLayout = ..., mode: ImagePaddingMode = ..., borderValue: cv2.typing.Scalar = ...) -> None: ...
def blobRectToImageRect(self, rBlob: cv2.typing.Rect, size: cv2.typing.Size) -> cv2.typing.Rect: ...
def blobRectsToImageRects(self, rBlob: _typing.Sequence[cv2.typing.Rect], size: cv2.typing.Size) -> _typing.Sequence[cv2.typing.Rect]: ...
class Model:
# Functions
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def setInputSize(self, size: cv2.typing.Size) -> Model: ...
@_typing.overload
def setInputSize(self, width: int, height: int) -> Model: ...
def setInputMean(self, mean: cv2.typing.Scalar) -> Model: ...
def setInputScale(self, scale: cv2.typing.Scalar) -> Model: ...
def setInputCrop(self, crop: bool) -> Model: ...
def setInputSwapRB(self, swapRB: bool) -> Model: ...
def setOutputNames(self, outNames: _typing.Sequence[str]) -> Model: ...
def setInputParams(self, scale: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ...) -> None: ...
@_typing.overload
def predict(self, frame: cv2.typing.MatLike, outs: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
@_typing.overload
def predict(self, frame: cv2.UMat, outs: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
def setPreferableBackend(self, backendId: Backend) -> Model: ...
def setPreferableTarget(self, targetId: Target) -> Model: ...
def enableWinograd(self, useWinograd: bool) -> Model: ...
class ClassificationModel(Model):
# Functions
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
@_typing.overload
def __init__(self, network: Net) -> None: ...
def setEnableSoftmaxPostProcessing(self, enable: bool) -> ClassificationModel: ...
def getEnableSoftmaxPostProcessing(self) -> bool: ...
@_typing.overload
def classify(self, frame: cv2.typing.MatLike) -> tuple[int, float]: ...
@_typing.overload
def classify(self, frame: cv2.UMat) -> tuple[int, float]: ...
class KeypointsModel(Model):
# Functions
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def estimate(self, frame: cv2.typing.MatLike, thresh: float = ...) -> _typing.Sequence[cv2.typing.Point2f]: ...
@_typing.overload
def estimate(self, frame: cv2.UMat, thresh: float = ...) -> _typing.Sequence[cv2.typing.Point2f]: ...
class SegmentationModel(Model):
# Functions
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def segment(self, frame: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def segment(self, frame: cv2.UMat, mask: cv2.UMat | None = ...) -> cv2.UMat: ...
class DetectionModel(Model):
# Functions
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
@_typing.overload
def __init__(self, network: Net) -> None: ...
def setNmsAcrossClasses(self, value: bool) -> DetectionModel: ...
def getNmsAcrossClasses(self) -> bool: ...
@_typing.overload
def detect(self, frame: cv2.typing.MatLike, confThreshold: float = ..., nmsThreshold: float = ...) -> tuple[_typing.Sequence[int], _typing.Sequence[float], _typing.Sequence[cv2.typing.Rect]]: ...
@_typing.overload
def detect(self, frame: cv2.UMat, confThreshold: float = ..., nmsThreshold: float = ...) -> tuple[_typing.Sequence[int], _typing.Sequence[float], _typing.Sequence[cv2.typing.Rect]]: ...
class TextRecognitionModel(Model):
# Functions
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
def setDecodeType(self, decodeType: str) -> TextRecognitionModel: ...
def getDecodeType(self) -> str: ...
def setDecodeOptsCTCPrefixBeamSearch(self, beamSize: int, vocPruneSize: int = ...) -> TextRecognitionModel: ...
def setVocabulary(self, vocabulary: _typing.Sequence[str]) -> TextRecognitionModel: ...
def getVocabulary(self) -> _typing.Sequence[str]: ...
@_typing.overload
def recognize(self, frame: cv2.typing.MatLike) -> str: ...
@_typing.overload
def recognize(self, frame: cv2.UMat) -> str: ...
@_typing.overload
def recognize(self, frame: cv2.typing.MatLike, roiRects: _typing.Sequence[cv2.typing.MatLike]) -> _typing.Sequence[str]: ...
@_typing.overload
def recognize(self, frame: cv2.UMat, roiRects: _typing.Sequence[cv2.UMat]) -> _typing.Sequence[str]: ...
class TextDetectionModel(Model):
# Functions
@_typing.overload
def detect(self, frame: cv2.typing.MatLike) -> tuple[_typing.Sequence[_typing.Sequence[cv2.typing.Point]], _typing.Sequence[float]]: ...
@_typing.overload
def detect(self, frame: cv2.UMat) -> tuple[_typing.Sequence[_typing.Sequence[cv2.typing.Point]], _typing.Sequence[float]]: ...
@_typing.overload
def detect(self, frame: cv2.typing.MatLike) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
@_typing.overload
def detect(self, frame: cv2.UMat) -> _typing.Sequence[_typing.Sequence[cv2.typing.Point]]: ...
@_typing.overload
def detectTextRectangles(self, frame: cv2.typing.MatLike) -> tuple[_typing.Sequence[cv2.typing.RotatedRect], _typing.Sequence[float]]: ...
@_typing.overload
def detectTextRectangles(self, frame: cv2.UMat) -> tuple[_typing.Sequence[cv2.typing.RotatedRect], _typing.Sequence[float]]: ...
@_typing.overload
def detectTextRectangles(self, frame: cv2.typing.MatLike) -> _typing.Sequence[cv2.typing.RotatedRect]: ...
@_typing.overload
def detectTextRectangles(self, frame: cv2.UMat) -> _typing.Sequence[cv2.typing.RotatedRect]: ...
class TextDetectionModel_EAST(TextDetectionModel):
# Functions
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
def setConfidenceThreshold(self, confThreshold: float) -> TextDetectionModel_EAST: ...
def getConfidenceThreshold(self) -> float: ...
def setNMSThreshold(self, nmsThreshold: float) -> TextDetectionModel_EAST: ...
def getNMSThreshold(self) -> float: ...
class TextDetectionModel_DB(TextDetectionModel):
# Functions
@_typing.overload
def __init__(self, network: Net) -> None: ...
@_typing.overload
def __init__(self, model: str | os.PathLike[str], config: str | os.PathLike[str] = ...) -> None: ...
def setBinaryThreshold(self, binaryThreshold: float) -> TextDetectionModel_DB: ...
def getBinaryThreshold(self) -> float: ...
def setPolygonThreshold(self, polygonThreshold: float) -> TextDetectionModel_DB: ...
def getPolygonThreshold(self) -> float: ...
def setUnclipRatio(self, unclipRatio: float) -> TextDetectionModel_DB: ...
def getUnclipRatio(self) -> float: ...
def setMaxCandidates(self, maxCandidates: int) -> TextDetectionModel_DB: ...
def getMaxCandidates(self) -> int: ...
class Tokenizer:
# Functions
@classmethod
def load(cls, model_config: str | os.PathLike[str]) -> Tokenizer: ...
def encode(self, text: str) -> _typing.Sequence[int]: ...
def decode(self, tokens: _typing.Sequence[int]) -> str: ...
class LayerProtocol(Protocol):
# Functions
def __init__(self, params: dict[str, DictValue], blobs: _typing.Sequence[cv2.typing.MatLike]) -> None: ...
def getMemoryShapes(self, inputs: _typing.Sequence[_typing.Sequence[int]]) -> _typing.Sequence[_typing.Sequence[int]]: ...
def forward(self, inputs: _typing.Sequence[cv2.typing.MatLike]) -> _typing.Sequence[cv2.typing.MatLike]: ...
# Functions
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]: ...
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]: ...
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]: ...
@_typing.overload
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: ...
@_typing.overload
def blobFromImage(image: cv2.UMat, scalefactor: float = ..., size: cv2.typing.Size = ..., mean: cv2.typing.Scalar = ..., swapRB: bool = ..., crop: bool = ..., ddepth: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImageWithParams(image: cv2.typing.MatLike, param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImageWithParams(image: cv2.UMat, param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImageWithParams(image: cv2.typing.MatLike, blob: cv2.typing.MatLike | None = ..., param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImageWithParams(image: cv2.UMat, blob: cv2.UMat | None = ..., param: Image2BlobParams = ...) -> cv2.UMat: ...
@_typing.overload
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: ...
@_typing.overload
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: ...
@_typing.overload
def blobFromImagesWithParams(images: _typing.Sequence[cv2.typing.MatLike], param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImagesWithParams(images: _typing.Sequence[cv2.UMat], param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImagesWithParams(images: _typing.Sequence[cv2.typing.MatLike], blob: cv2.typing.MatLike | None = ..., param: Image2BlobParams = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def blobFromImagesWithParams(images: _typing.Sequence[cv2.UMat], blob: cv2.UMat | None = ..., param: Image2BlobParams = ...) -> cv2.UMat: ...
def getAvailableTargets(be: Backend) -> _typing.Sequence[Target]: ...
def getInferenceEngineBackendType() -> str: ...
def getInferenceEngineCPUType() -> str: ...
def getInferenceEngineVPUType() -> str: ...
@_typing.overload
def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
@_typing.overload
def imagesFromBlob(blob_: cv2.typing.MatLike, images_: _typing.Sequence[cv2.UMat] | None = ...) -> _typing.Sequence[cv2.UMat]: ...
@_typing.overload
def readNet(model: str | os.PathLike[str], config: str | os.PathLike[str] = ..., framework: str = ..., engine: int = ...) -> Net: ...
@_typing.overload
def readNet(framework: str, bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ..., engine: int = ...) -> Net: ...
@_typing.overload
def readNetFromModelOptimizer(xml: str | os.PathLike[str], bin: str | os.PathLike[str] = ...) -> Net: ...
@_typing.overload
def readNetFromModelOptimizer(bufferModelConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferWeights: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]]) -> Net: ...
@_typing.overload
def readNetFromONNX(onnxFile: str | os.PathLike[str], engine: int = ...) -> Net: ...
@_typing.overload
def readNetFromONNX(buffer: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], engine: int = ...) -> Net: ...
@_typing.overload
def readNetFromTFLite(model: str | os.PathLike[str], engine: int = ...) -> Net: ...
@_typing.overload
def readNetFromTFLite(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], engine: int = ...) -> Net: ...
@_typing.overload
def readNetFromTensorflow(model: str | os.PathLike[str], config: str | os.PathLike[str] = ..., engine: int = ..., extraOutputs: _typing.Sequence[str] = ...) -> Net: ...
@_typing.overload
def readNetFromTensorflow(bufferModel: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]], bufferConfig: numpy.ndarray[_typing.Any, numpy.dtype[numpy.uint8]] = ..., engine: int = ..., extraOutputs: _typing.Sequence[str] = ...) -> Net: ...
def readTensorFromONNX(path: str | os.PathLike[str]) -> cv2.typing.MatLike: ...
def releaseHDDLPlugin() -> None: ...
def resetMyriadDevice() -> None: ...
def setInferenceEngineBackendType(newBackendType: str) -> str: ...
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]]: ...
def writeTextGraph(model: str | os.PathLike[str], output: str | os.PathLike[str]) -> None: ...
+72
View File
@@ -0,0 +1,72 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
# Functions
@_typing.overload
def calibrate(objectPoints: _typing.Sequence[cv2.typing.MatLike], imagePoints: _typing.Sequence[cv2.typing.MatLike], image_size: cv2.typing.Size, K: cv2.typing.MatLike, D: cv2.typing.MatLike, rvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., tvecs: _typing.Sequence[cv2.typing.MatLike] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.typing.MatLike, cv2.typing.MatLike, _typing.Sequence[cv2.typing.MatLike], _typing.Sequence[cv2.typing.MatLike]]: ...
@_typing.overload
def calibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints: _typing.Sequence[cv2.UMat], image_size: cv2.typing.Size, K: cv2.UMat, D: cv2.UMat, rvecs: _typing.Sequence[cv2.UMat] | None = ..., tvecs: _typing.Sequence[cv2.UMat] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], _typing.Sequence[cv2.UMat]]: ...
@_typing.overload
def distortPoints(undistorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, distorted: cv2.typing.MatLike | None = ..., alpha: float = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def distortPoints(undistorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, distorted: cv2.UMat | None = ..., alpha: float = ...) -> cv2.UMat: ...
@_typing.overload
def distortPoints(undistorted: cv2.typing.MatLike, Kundistorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, distorted: cv2.typing.MatLike | None = ..., alpha: float = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def distortPoints(undistorted: cv2.UMat, Kundistorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, distorted: cv2.UMat | None = ..., alpha: float = ...) -> cv2.UMat: ...
@_typing.overload
def estimateNewCameraMatrixForUndistortRectify(K: cv2.typing.MatLike, D: cv2.typing.MatLike, image_size: cv2.typing.Size, R: cv2.typing.MatLike, P: cv2.typing.MatLike | None = ..., balance: float = ..., new_size: cv2.typing.Size = ..., fov_scale: float = ...) -> cv2.typing.MatLike: ...
@_typing.overload
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: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
def projectPoints(objectPoints: cv2.UMat, rvec: cv2.UMat, tvec: cv2.UMat, K: cv2.UMat, D: cv2.UMat, imagePoints: cv2.UMat | None = ..., alpha: float = ..., jacobian: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
@_typing.overload
def solvePnP(objectPoints: cv2.typing.MatLike, imagePoints: cv2.typing.MatLike, cameraMatrix: cv2.typing.MatLike, distCoeffs: cv2.typing.MatLike, rvec: cv2.typing.MatLike | None = ..., tvec: cv2.typing.MatLike | None = ..., useExtrinsicGuess: bool = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[bool, cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
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]: ...
@_typing.overload
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]]: ...
@_typing.overload
def stereoCalibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints1: _typing.Sequence[cv2.UMat], imagePoints2: _typing.Sequence[cv2.UMat], K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat | None = ..., T: cv2.UMat | None = ..., rvecs: _typing.Sequence[cv2.UMat] | None = ..., tvecs: _typing.Sequence[cv2.UMat] | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, _typing.Sequence[cv2.UMat], _typing.Sequence[cv2.UMat]]: ...
@_typing.overload
def stereoCalibrate(objectPoints: _typing.Sequence[cv2.typing.MatLike], imagePoints1: _typing.Sequence[cv2.typing.MatLike], imagePoints2: _typing.Sequence[cv2.typing.MatLike], K1: cv2.typing.MatLike, D1: cv2.typing.MatLike, K2: cv2.typing.MatLike, D2: cv2.typing.MatLike, imageSize: cv2.typing.Size, R: cv2.typing.MatLike | None = ..., T: cv2.typing.MatLike | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def stereoCalibrate(objectPoints: _typing.Sequence[cv2.UMat], imagePoints1: _typing.Sequence[cv2.UMat], imagePoints2: _typing.Sequence[cv2.UMat], K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat | None = ..., T: cv2.UMat | None = ..., flags: int = ..., criteria: cv2.typing.TermCriteria = ...) -> tuple[float, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat]: ...
@_typing.overload
def stereoRectify(K1: cv2.typing.MatLike, D1: cv2.typing.MatLike, K2: cv2.typing.MatLike, D2: cv2.typing.MatLike, imageSize: cv2.typing.Size, R: cv2.typing.MatLike, tvec: cv2.typing.MatLike, flags: int, R1: cv2.typing.MatLike | None = ..., R2: cv2.typing.MatLike | None = ..., P1: cv2.typing.MatLike | None = ..., P2: cv2.typing.MatLike | None = ..., Q: cv2.typing.MatLike | None = ..., newImageSize: cv2.typing.Size = ..., balance: float = ..., fov_scale: float = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def stereoRectify(K1: cv2.UMat, D1: cv2.UMat, K2: cv2.UMat, D2: cv2.UMat, imageSize: cv2.typing.Size, R: cv2.UMat, tvec: cv2.UMat, flags: int, R1: cv2.UMat | None = ..., R2: cv2.UMat | None = ..., P1: cv2.UMat | None = ..., P2: cv2.UMat | None = ..., Q: cv2.UMat | None = ..., newImageSize: cv2.typing.Size = ..., balance: float = ..., fov_scale: float = ...) -> tuple[cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat, cv2.UMat]: ...
@_typing.overload
def undistortImage(distorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, undistorted: cv2.typing.MatLike | None = ..., Knew: cv2.typing.MatLike | None = ..., new_size: cv2.typing.Size = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def undistortImage(distorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, undistorted: cv2.UMat | None = ..., Knew: cv2.UMat | None = ..., new_size: cv2.typing.Size = ...) -> cv2.UMat: ...
@_typing.overload
def undistortPoints(distorted: cv2.typing.MatLike, K: cv2.typing.MatLike, D: cv2.typing.MatLike, undistorted: cv2.typing.MatLike | None = ..., R: cv2.typing.MatLike | None = ..., P: cv2.typing.MatLike | None = ..., criteria: cv2.typing.TermCriteria = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def undistortPoints(distorted: cv2.UMat, K: cv2.UMat, D: cv2.UMat, undistorted: cv2.UMat | None = ..., R: cv2.UMat | None = ..., P: cv2.UMat | None = ..., criteria: cv2.typing.TermCriteria = ...) -> cv2.UMat: ...
+65
View File
@@ -0,0 +1,65 @@
__all__: list[str] = []
import cv2
import cv2.typing
import os
import typing as _typing
# Enumerations
FLANN_INDEX_TYPE_8U: int
FLANN_INDEX_TYPE_8S: int
FLANN_INDEX_TYPE_16U: int
FLANN_INDEX_TYPE_16S: int
FLANN_INDEX_TYPE_32S: int
FLANN_INDEX_TYPE_32F: int
FLANN_INDEX_TYPE_64F: int
FLANN_INDEX_TYPE_STRING: int
FLANN_INDEX_TYPE_BOOL: int
FLANN_INDEX_TYPE_ALGORITHM: int
LAST_VALUE_FLANN_INDEX_TYPE: int
FlannIndexType = int
"""One of [FLANN_INDEX_TYPE_8U, FLANN_INDEX_TYPE_8S, FLANN_INDEX_TYPE_16U, FLANN_INDEX_TYPE_16S, FLANN_INDEX_TYPE_32S, FLANN_INDEX_TYPE_32F, FLANN_INDEX_TYPE_64F, FLANN_INDEX_TYPE_STRING, FLANN_INDEX_TYPE_BOOL, FLANN_INDEX_TYPE_ALGORITHM, LAST_VALUE_FLANN_INDEX_TYPE]"""
# Classes
class Index:
# Functions
@_typing.overload
def __init__(self) -> None: ...
@_typing.overload
def __init__(self, features: cv2.typing.MatLike, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
@_typing.overload
def __init__(self, features: cv2.UMat, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
@_typing.overload
def build(self, features: cv2.typing.MatLike, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
@_typing.overload
def build(self, features: cv2.UMat, params: cv2.typing.IndexParams, distType: int = ...) -> None: ...
@_typing.overload
def knnSearch(self, query: cv2.typing.MatLike, knn: int, indices: cv2.typing.MatLike | None = ..., dists: cv2.typing.MatLike | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def knnSearch(self, query: cv2.UMat, knn: int, indices: cv2.UMat | None = ..., dists: cv2.UMat | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
@_typing.overload
def radiusSearch(self, query: cv2.typing.MatLike, radius: float, maxResults: int, indices: cv2.typing.MatLike | None = ..., dists: cv2.typing.MatLike | None = ..., params: cv2.typing.SearchParams = ...) -> tuple[int, cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
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]: ...
def save(self, filename: str | os.PathLike[str]) -> None: ...
@_typing.overload
def load(self, features: cv2.typing.MatLike, filename: str | os.PathLike[str]) -> bool: ...
@_typing.overload
def load(self, features: cv2.UMat, filename: str | os.PathLike[str]) -> bool: ...
def release(self) -> None: ...
def getDistance(self) -> int: ...
def getAlgorithm(self) -> int: ...
+24
View File
@@ -0,0 +1,24 @@
__all__: list[str] = []
# Enumerations
TYPE_GENERAL: int
TYPE_MARKER: int
TYPE_WRAPPER: int
TYPE_FUN: int
TYPE = int
"""One of [TYPE_GENERAL, TYPE_MARKER, TYPE_WRAPPER, TYPE_FUN]"""
IMPL_PLAIN: int
IMPL_IPP: int
IMPL_OPENCL: int
IMPL = int
"""One of [IMPL_PLAIN, IMPL_IPP, IMPL_OPENCL]"""
FLAGS_NONE: int
FLAGS_MAPPING: int
FLAGS_EXPAND_SAME_NAMES: int
FLAGS = int
"""One of [FLAGS_NONE, FLAGS_MAPPING, FLAGS_EXPAND_SAME_NAMES]"""
+14
View File
@@ -0,0 +1,14 @@
__all__: list[str] = []
# Functions
def getIppVersion() -> str: ...
def setUseIPP(flag: bool) -> None: ...
def setUseIPP_NotExact(flag: bool) -> None: ...
def useIPP() -> bool: ...
def useIPP_NotExact() -> bool: ...
+6
View File
@@ -0,0 +1,6 @@
# flake8: noqa
import sys
if sys.version_info[:2] < (3, 0):
def exec_file_wrapper(fpath, g_vars, l_vars):
execfile(fpath, g_vars, l_vars)
+9
View File
@@ -0,0 +1,9 @@
# flake8: noqa
import os
import sys
if sys.version_info[:2] >= (3, 0):
def exec_file_wrapper(fpath, g_vars, l_vars):
with open(fpath) as f:
code = compile(f.read(), fpath, 'exec')
exec(code, g_vars, l_vars)
@@ -0,0 +1,40 @@
__all__ = []
import numpy as np
import cv2 as cv
from typing import TYPE_CHECKING, Any
# Same as cv2.typing.NumPyArrayNumeric, but avoids circular dependencies
if TYPE_CHECKING:
_NumPyArrayNumeric = np.ndarray[Any, np.dtype[np.integer[Any] | np.floating[Any]]]
else:
_NumPyArrayNumeric = np.ndarray
# NumPy documentation: https://numpy.org/doc/stable/user/basics.subclassing.html
class Mat(_NumPyArrayNumeric):
'''
cv.Mat wrapper for numpy array.
Stores extra metadata information how to interpret and process of numpy array for underlying C++ code.
'''
def __new__(cls, arr, **kwargs):
obj = arr.view(Mat)
return obj
def __init__(self, arr, **kwargs):
self.wrap_channels = kwargs.pop('wrap_channels', getattr(arr, 'wrap_channels', False))
if len(kwargs) > 0:
raise TypeError('Unknown parameters: {}'.format(repr(kwargs)))
def __array_finalize__(self, obj):
if obj is None:
return
self.wrap_channels = getattr(obj, 'wrap_channels', None)
Mat.__module__ = cv.__name__
cv.Mat = Mat
cv._registerMatType(Mat)
+118
View File
@@ -0,0 +1,118 @@
__all__: list[str] = []
import cv2
import cv2.dnn
import cv2.typing
import typing as _typing
# Enumerations
MCC24: int
SG140: int
VINYL18: int
ColorChart = int
"""One of [MCC24, SG140, VINYL18]"""
# Classes
class CChecker(cv2.Algorithm):
# Functions
@classmethod
def create(cls) -> CChecker: ...
def setTarget(self, _target: ColorChart) -> None: ...
def setBox(self, _box: _typing.Sequence[cv2.typing.Point2f]) -> None: ...
def setChartsRGB(self, _chartsRGB: cv2.typing.MatLike) -> None: ...
def setChartsYCbCr(self, _chartsYCbCr: cv2.typing.MatLike) -> None: ...
def setCost(self, _cost: float) -> None: ...
def setCenter(self, _center: cv2.typing.Point2f) -> None: ...
def getTarget(self) -> ColorChart: ...
def getBox(self) -> _typing.Sequence[cv2.typing.Point2f]: ...
def getColorCharts(self) -> _typing.Sequence[cv2.typing.Point2f]: ...
def getChartsRGB(self, getStats: bool = ...) -> cv2.typing.MatLike: ...
def getChartsYCbCr(self) -> cv2.typing.MatLike: ...
def getCost(self) -> float: ...
def getCenter(self) -> cv2.typing.Point2f: ...
class DetectorParametersMCC:
adaptiveThreshWinSizeMin: int
adaptiveThreshWinSizeMax: int
adaptiveThreshWinSizeStep: int
adaptiveThreshConstant: float
minContoursAreaRate: float
minContoursArea: float
confidenceThreshold: float
minContourSolidity: float
findCandidatesApproxPolyDPEpsMultiplier: float
borderWidth: int
B0factor: float
maxError: float
minContourPointsAllowed: int
minContourLengthAllowed: int
minInterContourDistance: int
minInterCheckerDistance: int
minImageSize: int
minGroupSize: int
# Functions
def __init__(self) -> None: ...
class CCheckerDetector(cv2.Algorithm):
# Functions
@_typing.overload
def processWithROI(self, image: cv2.typing.MatLike, regionsOfInterest: _typing.Sequence[cv2.typing.Rect], nc: int = ...) -> bool: ...
@_typing.overload
def processWithROI(self, image: cv2.UMat, regionsOfInterest: _typing.Sequence[cv2.typing.Rect], nc: int = ...) -> bool: ...
@_typing.overload
def process(self, image: cv2.typing.MatLike, nc: int = ...) -> bool: ...
@_typing.overload
def process(self, image: cv2.UMat, nc: int = ...) -> bool: ...
def getBestColorChecker(self) -> CChecker: ...
def getListColorChecker(self) -> _typing.Sequence[CChecker]: ...
@classmethod
@_typing.overload
def create(cls) -> CCheckerDetector: ...
@classmethod
@_typing.overload
def create(cls, net: cv2.dnn.Net) -> CCheckerDetector: ...
@_typing.overload
def draw(self, checkers: _typing.Sequence[CChecker], img: cv2.typing.MatLike, color: cv2.typing.Scalar = ..., thickness: int = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def draw(self, checkers: _typing.Sequence[CChecker], img: cv2.UMat, color: cv2.typing.Scalar = ..., thickness: int = ...) -> cv2.UMat: ...
def getRefColors(self) -> cv2.typing.MatLike: ...
def setDetectionParams(self, params: DetectorParametersMCC) -> None: ...
def setColorChartType(self, chartType: ColorChart) -> None: ...
def setUseDnnModel(self, useDnn: bool) -> None: ...
def getUseDnnModel(self) -> bool: ...
def getDetectionParams(self) -> DetectorParametersMCC: ...
def getColorChartType(self) -> ColorChart: ...
+1
View File
@@ -0,0 +1 @@
from .version import get_ocv_version
+5
View File
@@ -0,0 +1,5 @@
import cv2
def get_ocv_version():
return getattr(cv2, "__version__", "unavailable")
+252
View File
@@ -0,0 +1,252 @@
__all__: list[str] = []
# Enumerations
OCL_VECTOR_OWN: int
OCL_VECTOR_MAX: int
OCL_VECTOR_DEFAULT: int
OclVectorStrategy = int
"""One of [OCL_VECTOR_OWN, OCL_VECTOR_MAX, OCL_VECTOR_DEFAULT]"""
Device_TYPE_DEFAULT: int
DEVICE_TYPE_DEFAULT: int
Device_TYPE_CPU: int
DEVICE_TYPE_CPU: int
Device_TYPE_GPU: int
DEVICE_TYPE_GPU: int
Device_TYPE_ACCELERATOR: int
DEVICE_TYPE_ACCELERATOR: int
Device_TYPE_DGPU: int
DEVICE_TYPE_DGPU: int
Device_TYPE_IGPU: int
DEVICE_TYPE_IGPU: int
Device_TYPE_ALL: int
DEVICE_TYPE_ALL: int
Device_FP_DENORM: int
DEVICE_FP_DENORM: int
Device_FP_INF_NAN: int
DEVICE_FP_INF_NAN: int
Device_FP_ROUND_TO_NEAREST: int
DEVICE_FP_ROUND_TO_NEAREST: int
Device_FP_ROUND_TO_ZERO: int
DEVICE_FP_ROUND_TO_ZERO: int
Device_FP_ROUND_TO_INF: int
DEVICE_FP_ROUND_TO_INF: int
Device_FP_FMA: int
DEVICE_FP_FMA: int
Device_FP_SOFT_FLOAT: int
DEVICE_FP_SOFT_FLOAT: int
Device_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT: int
DEVICE_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT: int
Device_EXEC_KERNEL: int
DEVICE_EXEC_KERNEL: int
Device_EXEC_NATIVE_KERNEL: int
DEVICE_EXEC_NATIVE_KERNEL: int
Device_NO_CACHE: int
DEVICE_NO_CACHE: int
Device_READ_ONLY_CACHE: int
DEVICE_READ_ONLY_CACHE: int
Device_READ_WRITE_CACHE: int
DEVICE_READ_WRITE_CACHE: int
Device_NO_LOCAL_MEM: int
DEVICE_NO_LOCAL_MEM: int
Device_LOCAL_IS_LOCAL: int
DEVICE_LOCAL_IS_LOCAL: int
Device_LOCAL_IS_GLOBAL: int
DEVICE_LOCAL_IS_GLOBAL: int
Device_UNKNOWN_VENDOR: int
DEVICE_UNKNOWN_VENDOR: int
Device_VENDOR_AMD: int
DEVICE_VENDOR_AMD: int
Device_VENDOR_INTEL: int
DEVICE_VENDOR_INTEL: int
Device_VENDOR_NVIDIA: int
DEVICE_VENDOR_NVIDIA: int
KernelArg_LOCAL: int
KERNEL_ARG_LOCAL: int
KernelArg_READ_ONLY: int
KERNEL_ARG_READ_ONLY: int
KernelArg_WRITE_ONLY: int
KERNEL_ARG_WRITE_ONLY: int
KernelArg_READ_WRITE: int
KERNEL_ARG_READ_WRITE: int
KernelArg_CONSTANT: int
KERNEL_ARG_CONSTANT: int
KernelArg_PTR_ONLY: int
KERNEL_ARG_PTR_ONLY: int
KernelArg_NO_SIZE: int
KERNEL_ARG_NO_SIZE: int
# Classes
class Device:
# Functions
def __init__(self) -> None: ...
def name(self) -> str: ...
def extensions(self) -> str: ...
def isExtensionSupported(self, extensionName: str) -> bool: ...
def version(self) -> str: ...
def vendorName(self) -> str: ...
def OpenCL_C_Version(self) -> str: ...
def OpenCLVersion(self) -> str: ...
def deviceVersionMajor(self) -> int: ...
def deviceVersionMinor(self) -> int: ...
def driverVersion(self) -> str: ...
def type(self) -> int: ...
def addressBits(self) -> int: ...
def available(self) -> bool: ...
def compilerAvailable(self) -> bool: ...
def linkerAvailable(self) -> bool: ...
def doubleFPConfig(self) -> int: ...
def singleFPConfig(self) -> int: ...
def halfFPConfig(self) -> int: ...
def hasFP64(self) -> bool: ...
def hasFP16(self) -> bool: ...
def endianLittle(self) -> bool: ...
def errorCorrectionSupport(self) -> bool: ...
def executionCapabilities(self) -> int: ...
def globalMemCacheSize(self) -> int: ...
def globalMemCacheType(self) -> int: ...
def globalMemCacheLineSize(self) -> int: ...
def globalMemSize(self) -> int: ...
def localMemSize(self) -> int: ...
def localMemType(self) -> int: ...
def hostUnifiedMemory(self) -> bool: ...
def imageSupport(self) -> bool: ...
def imageFromBufferSupport(self) -> bool: ...
def intelSubgroupsSupport(self) -> bool: ...
def image2DMaxWidth(self) -> int: ...
def image2DMaxHeight(self) -> int: ...
def image3DMaxWidth(self) -> int: ...
def image3DMaxHeight(self) -> int: ...
def image3DMaxDepth(self) -> int: ...
def imageMaxBufferSize(self) -> int: ...
def imageMaxArraySize(self) -> int: ...
def vendorID(self) -> int: ...
def isAMD(self) -> bool: ...
def isIntel(self) -> bool: ...
def isNVidia(self) -> bool: ...
def maxClockFrequency(self) -> int: ...
def maxComputeUnits(self) -> int: ...
def maxConstantArgs(self) -> int: ...
def maxConstantBufferSize(self) -> int: ...
def maxMemAllocSize(self) -> int: ...
def maxParameterSize(self) -> int: ...
def maxReadImageArgs(self) -> int: ...
def maxWriteImageArgs(self) -> int: ...
def maxSamplers(self) -> int: ...
def maxWorkGroupSize(self) -> int: ...
def maxWorkItemDims(self) -> int: ...
def memBaseAddrAlign(self) -> int: ...
def nativeVectorWidthChar(self) -> int: ...
def nativeVectorWidthShort(self) -> int: ...
def nativeVectorWidthInt(self) -> int: ...
def nativeVectorWidthLong(self) -> int: ...
def nativeVectorWidthFloat(self) -> int: ...
def nativeVectorWidthDouble(self) -> int: ...
def nativeVectorWidthHalf(self) -> int: ...
def preferredVectorWidthChar(self) -> int: ...
def preferredVectorWidthShort(self) -> int: ...
def preferredVectorWidthInt(self) -> int: ...
def preferredVectorWidthLong(self) -> int: ...
def preferredVectorWidthFloat(self) -> int: ...
def preferredVectorWidthDouble(self) -> int: ...
def preferredVectorWidthHalf(self) -> int: ...
def printfBufferSize(self) -> int: ...
def profilingTimerResolution(self) -> int: ...
@classmethod
def getDefault(cls) -> Device: ...
class OpenCLExecutionContext:
...
# Functions
def finish() -> None: ...
def haveAmdBlas() -> bool: ...
def haveAmdFft() -> bool: ...
def haveOpenCL() -> bool: ...
def setUseOpenCL(flag: bool) -> None: ...
def useOpenCL() -> bool: ...
+51
View File
@@ -0,0 +1,51 @@
__all__: list[str] = []
# Enumerations
POINTS: int
LINES: int
LINE_LOOP: int
LINE_STRIP: int
TRIANGLES: int
TRIANGLE_STRIP: int
TRIANGLE_FAN: int
QUADS: int
QUAD_STRIP: int
POLYGON: int
RenderModes = int
"""One of [POINTS, LINES, LINE_LOOP, LINE_STRIP, TRIANGLES, TRIANGLE_STRIP, TRIANGLE_FAN, QUADS, QUAD_STRIP, POLYGON]"""
Buffer_ARRAY_BUFFER: int
BUFFER_ARRAY_BUFFER: int
Buffer_ELEMENT_ARRAY_BUFFER: int
BUFFER_ELEMENT_ARRAY_BUFFER: int
Buffer_PIXEL_PACK_BUFFER: int
BUFFER_PIXEL_PACK_BUFFER: int
Buffer_PIXEL_UNPACK_BUFFER: int
BUFFER_PIXEL_UNPACK_BUFFER: int
Buffer_Target = int
"""One of [Buffer_ARRAY_BUFFER, BUFFER_ARRAY_BUFFER, Buffer_ELEMENT_ARRAY_BUFFER, BUFFER_ELEMENT_ARRAY_BUFFER, Buffer_PIXEL_PACK_BUFFER, BUFFER_PIXEL_PACK_BUFFER, Buffer_PIXEL_UNPACK_BUFFER, BUFFER_PIXEL_UNPACK_BUFFER]"""
Buffer_READ_ONLY: int
BUFFER_READ_ONLY: int
Buffer_WRITE_ONLY: int
BUFFER_WRITE_ONLY: int
Buffer_READ_WRITE: int
BUFFER_READ_WRITE: int
Buffer_Access = int
"""One of [Buffer_READ_ONLY, BUFFER_READ_ONLY, Buffer_WRITE_ONLY, BUFFER_WRITE_ONLY, Buffer_READ_WRITE, BUFFER_READ_WRITE]"""
Texture2D_NONE: int
TEXTURE2D_NONE: int
Texture2D_DEPTH_COMPONENT: int
TEXTURE2D_DEPTH_COMPONENT: int
Texture2D_RGB: int
TEXTURE2D_RGB: int
Texture2D_RGBA: int
TEXTURE2D_RGBA: int
Texture2D_Format = int
"""One of [Texture2D_NONE, TEXTURE2D_NONE, Texture2D_DEPTH_COMPONENT, TEXTURE2D_DEPTH_COMPONENT, Texture2D_RGB, TEXTURE2D_RGB, Texture2D_RGBA, TEXTURE2D_RGBA]"""
# Classes
@@ -0,0 +1,6 @@
__all__: list[str] = []
# Functions
def setParallelForBackend(backendName: str, propagateNumThreads: bool = ...) -> bool: ...
View File
+12
View File
@@ -0,0 +1,12 @@
__all__: list[str] = []
# Functions
def addSamplesDataSearchPath(path: str) -> None: ...
def addSamplesDataSearchSubDirectory(subdir: str) -> None: ...
def findFile(relative_path: str, required: bool = ..., silentMode: bool = ...) -> str: ...
def findFileOrKeep(relative_path: str, silentMode: bool = ...) -> str: ...
@@ -0,0 +1,39 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
# Classes
class IntelligentScissorsMB:
# Functions
def __init__(self) -> None: ...
def setWeights(self, weight_non_edge: float, weight_gradient_direction: float, weight_gradient_magnitude: float) -> IntelligentScissorsMB: ...
def setGradientMagnitudeMaxLimit(self, gradient_magnitude_threshold_max: float = ...) -> IntelligentScissorsMB: ...
def setEdgeFeatureZeroCrossingParameters(self, gradient_magnitude_min_value: float = ...) -> IntelligentScissorsMB: ...
def setEdgeFeatureCannyParameters(self, threshold1: float, threshold2: float, apertureSize: int = ..., L2gradient: bool = ...) -> IntelligentScissorsMB: ...
@_typing.overload
def applyImage(self, image: cv2.typing.MatLike) -> IntelligentScissorsMB: ...
@_typing.overload
def applyImage(self, image: cv2.UMat) -> IntelligentScissorsMB: ...
@_typing.overload
def applyImageFeatures(self, non_edge: cv2.typing.MatLike, gradient_direction: cv2.typing.MatLike, gradient_magnitude: cv2.typing.MatLike, image: cv2.typing.MatLike | None = ...) -> IntelligentScissorsMB: ...
@_typing.overload
def applyImageFeatures(self, non_edge: cv2.UMat, gradient_direction: cv2.UMat, gradient_magnitude: cv2.UMat, image: cv2.UMat | None = ...) -> IntelligentScissorsMB: ...
def buildMap(self, sourcePt: cv2.typing.Point) -> None: ...
@_typing.overload
def getContour(self, targetPt: cv2.typing.Point, contour: cv2.typing.MatLike | None = ..., backward: bool = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def getContour(self, targetPt: cv2.typing.Point, contour: cv2.UMat | None = ..., backward: bool = ...) -> cv2.UMat: ...
+159
View File
@@ -0,0 +1,159 @@
__all__ = [
"IntPointer",
"MatLike",
"MatShape",
"Size",
"Size2f",
"Scalar",
"Point",
"Point2i",
"Point2f",
"Point2d",
"Point3i",
"Point3f",
"Point3d",
"Range",
"Rect",
"Rect2i",
"Rect2f",
"Rect2d",
"Moments",
"RotatedRect",
"TermCriteria",
"Vec2i",
"Vec2f",
"Vec2d",
"Vec3i",
"Vec3f",
"Vec3d",
"Vec4i",
"Vec4f",
"Vec4d",
"Vec6f",
"FeatureDetector",
"DescriptorExtractor",
"FeatureExtractor",
"Matx33f",
"Matx33d",
"Matx44f",
"Matx44d",
"LayerId",
"LayerParams",
"IndexParams",
"SearchParams",
"map_string_and_string",
"map_string_and_int",
"map_string_and_vector_size_t",
"map_string_and_vector_float",
"map_int_and_double",
]
import cv2.dnn
import cv2.mat_wrapper
import cv2
import numpy
import typing as _typing
if _typing.TYPE_CHECKING:
NumPyArrayNumeric = numpy.ndarray[_typing.Any, numpy.dtype[numpy.integer[_typing.Any] | numpy.floating[_typing.Any]]]
else:
NumPyArrayNumeric = numpy.ndarray
if _typing.TYPE_CHECKING:
NumPyArrayFloat32 = numpy.ndarray[_typing.Any, numpy.dtype[numpy.float32]]
else:
NumPyArrayFloat32 = numpy.ndarray
if _typing.TYPE_CHECKING:
NumPyArrayFloat64 = numpy.ndarray[_typing.Any, numpy.dtype[numpy.float64]]
else:
NumPyArrayFloat64 = numpy.ndarray
if _typing.TYPE_CHECKING:
TermCriteria_Type = cv2.TermCriteria_Type
else:
TermCriteria_Type = int
IntPointer = int
"""Represents an arbitrary pointer"""
MatLike = _typing.Union[cv2.mat_wrapper.Mat, NumPyArrayNumeric]
MatShape = _typing.Sequence[int]
Size = _typing.Sequence[int]
"""Required length is 2"""
Size2f = _typing.Sequence[float]
"""Required length is 2"""
Scalar = _typing.Union[_typing.Sequence[float], float]
"""Max sequence length is at most 4"""
Point = _typing.Sequence[int]
"""Required length is 2"""
Point2i = Point
Point2f = _typing.Sequence[float]
"""Required length is 2"""
Point2d = _typing.Sequence[float]
"""Required length is 2"""
Point3i = _typing.Sequence[int]
"""Required length is 3"""
Point3f = _typing.Sequence[float]
"""Required length is 3"""
Point3d = _typing.Sequence[float]
"""Required length is 3"""
Range = _typing.Sequence[int]
"""Required length is 2"""
Rect = _typing.Sequence[int]
"""Required length is 4"""
Rect2i = _typing.Sequence[int]
"""Required length is 4"""
Rect2f = _typing.Sequence[float]
"""Required length is 4"""
Rect2d = _typing.Sequence[float]
"""Required length is 4"""
Moments = _typing.Dict[str, float]
RotatedRect = _typing.Tuple[Point2f, Size2f, float]
"""Any type providing sequence protocol is supported"""
TermCriteria = _typing.Tuple[TermCriteria_Type, int, float]
"""Any type providing sequence protocol is supported"""
Vec2i = _typing.Sequence[int]
"""Required length is 2"""
Vec2f = _typing.Sequence[float]
"""Required length is 2"""
Vec2d = _typing.Sequence[float]
"""Required length is 2"""
Vec3i = _typing.Sequence[int]
"""Required length is 3"""
Vec3f = _typing.Sequence[float]
"""Required length is 3"""
Vec3d = _typing.Sequence[float]
"""Required length is 3"""
Vec4i = _typing.Sequence[int]
"""Required length is 4"""
Vec4f = _typing.Sequence[float]
"""Required length is 4"""
Vec4d = _typing.Sequence[float]
"""Required length is 4"""
Vec6f = _typing.Sequence[float]
"""Required length is 6"""
FeatureDetector = cv2.Feature2D
DescriptorExtractor = cv2.Feature2D
FeatureExtractor = cv2.Feature2D
Matx33f = NumPyArrayFloat32
"""NDArray(shape=(3, 3), dtype=numpy.float32)"""
Matx33d = NumPyArrayFloat64
"""NDArray(shape=(3, 3), dtype=numpy.float64)"""
Matx44f = NumPyArrayFloat32
"""NDArray(shape=(4, 4), dtype=numpy.float32)"""
Matx44d = NumPyArrayFloat64
"""NDArray(shape=(4, 4), dtype=numpy.float64)"""
LayerId = cv2.dnn.DictValue
LayerParams = _typing.Dict[str, _typing.Union[int, float, str]]
IndexParams = _typing.Dict[str, _typing.Union[bool, int, float, str]]
SearchParams = _typing.Dict[str, _typing.Union[bool, int, float, str]]
map_string_and_string = _typing.Dict[str, str]
map_string_and_int = _typing.Dict[str, int]
map_string_and_vector_size_t = _typing.Dict[str, _typing.Sequence[int]]
map_string_and_vector_float = _typing.Dict[str, _typing.Sequence[float]]
map_int_and_double = _typing.Dict[int, float]
+14
View File
@@ -0,0 +1,14 @@
from collections import namedtuple
import cv2
NativeMethodPatchedResult = namedtuple("NativeMethodPatchedResult",
("py", "native"))
def testOverwriteNativeMethod(arg):
return NativeMethodPatchedResult(
arg + 1,
cv2.utils._native.testOverwriteNativeMethod(arg)
)
+110
View File
@@ -0,0 +1,110 @@
__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
from cv2.utils import fs as fs
from cv2.utils import logging as logging
from cv2.utils import nested as nested
# Classes
class ClassWithKeywordProperties:
lambda_: int
@property
def except_(self) -> int: ...
# Functions
def __init__(self, lambda_arg: int = ..., except_arg: int = ...) -> None: ...
# Functions
@_typing.overload
def copyMatAndDumpNamedArguments(src: cv2.typing.MatLike, dst: cv2.typing.MatLike | None = ..., lambda_: int = ..., sigma: float = ...) -> tuple[str, cv2.typing.MatLike]: ...
@_typing.overload
def copyMatAndDumpNamedArguments(src: cv2.UMat, dst: cv2.UMat | None = ..., lambda_: int = ..., sigma: float = ...) -> tuple[str, cv2.UMat]: ...
def dumpBool(argument: bool) -> str: ...
def dumpCString(argument: str) -> str: ...
def dumpDouble(argument: float) -> str: ...
def dumpFloat(argument: float) -> str: ...
@_typing.overload
def dumpInputArray(argument: cv2.typing.MatLike) -> str: ...
@_typing.overload
def dumpInputArray(argument: cv2.UMat) -> str: ...
@_typing.overload
def dumpInputArrayOfArrays(argument: _typing.Sequence[cv2.typing.MatLike]) -> str: ...
@_typing.overload
def dumpInputArrayOfArrays(argument: _typing.Sequence[cv2.UMat]) -> str: ...
@_typing.overload
def dumpInputOutputArray(argument: cv2.typing.MatLike) -> tuple[str, cv2.typing.MatLike]: ...
@_typing.overload
def dumpInputOutputArray(argument: cv2.UMat) -> tuple[str, cv2.UMat]: ...
@_typing.overload
def dumpInputOutputArrayOfArrays(argument: _typing.Sequence[cv2.typing.MatLike]) -> tuple[str, _typing.Sequence[cv2.typing.MatLike]]: ...
@_typing.overload
def dumpInputOutputArrayOfArrays(argument: _typing.Sequence[cv2.UMat]) -> tuple[str, _typing.Sequence[cv2.UMat]]: ...
def dumpInt(argument: int) -> str: ...
def dumpInt64(argument: int) -> str: ...
def dumpRange(argument: cv2.typing.Range) -> str: ...
def dumpRect(argument: cv2.typing.Rect) -> str: ...
def dumpRotatedRect(argument: cv2.typing.RotatedRect) -> str: ...
def dumpSizeT(argument: int) -> str: ...
def dumpString(argument: str) -> str: ...
def dumpTermCriteria(argument: cv2.typing.TermCriteria) -> str: ...
def dumpVec2i(value: cv2.typing.Vec2i = ...) -> str: ...
def dumpVectorOfDouble(vec: _typing.Sequence[float]) -> str: ...
def dumpVectorOfInt(vec: _typing.Sequence[int]) -> str: ...
def dumpVectorOfRect(vec: _typing.Sequence[cv2.typing.Rect]) -> str: ...
def generateVectorOfInt(len: int) -> _typing.Sequence[int]: ...
def generateVectorOfMat(len: int, rows: int, cols: int, dtype: int, vec: _typing.Sequence[cv2.typing.MatLike] | None = ...) -> _typing.Sequence[cv2.typing.MatLike]: ...
def generateVectorOfRect(len: int) -> _typing.Sequence[cv2.typing.Rect]: ...
@_typing.overload
def testAsyncArray(argument: cv2.typing.MatLike) -> cv2.AsyncArray: ...
@_typing.overload
def testAsyncArray(argument: cv2.UMat) -> cv2.AsyncArray: ...
def testAsyncException() -> cv2.AsyncArray: ...
@_typing.overload
def testOverloadResolution(value: int, point: cv2.typing.Point = ...) -> str: ...
@_typing.overload
def testOverloadResolution(rect: cv2.typing.Rect) -> str: ...
def testOverwriteNativeMethod(argument: int) -> int: ...
def testRaiseGeneralException() -> None: ...
def testReservedKeywordConversion(positional_argument: int, lambda_: int = ..., from_: int = ...) -> str: ...
def testRotatedRect(x: float, y: float, w: float, h: float, angle: float) -> cv2.typing.RotatedRect: ...
def testRotatedRectVector(x: float, y: float, w: float, h: float, angle: float) -> _typing.Sequence[cv2.typing.RotatedRect]: ...
@@ -0,0 +1,6 @@
__all__: list[str] = []
# Functions
def getCacheDirectoryForDownloads() -> str: ...
@@ -0,0 +1,22 @@
__all__: list[str] = []
# Enumerations
LOG_LEVEL_SILENT: int
LOG_LEVEL_FATAL: int
LOG_LEVEL_ERROR: int
LOG_LEVEL_WARNING: int
LOG_LEVEL_INFO: int
LOG_LEVEL_DEBUG: int
LOG_LEVEL_VERBOSE: int
ENUM_LOG_LEVEL_FORCE_INT: int
LogLevel = int
"""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]"""
# Functions
def getLogLevel() -> LogLevel: ...
def setLogLevel(logLevel: LogLevel) -> LogLevel: ...
@@ -0,0 +1,31 @@
__all__: list[str] = []
# Classes
class ExportClassName:
# Classes
class Params:
int_value: int
float_value: float
# Functions
def __init__(self, int_param: int = ..., float_param: float = ...) -> None: ...
# Functions
def getIntParam(self) -> int: ...
def getFloatParam(self) -> float: ...
@staticmethod
def originalName() -> str: ...
@classmethod
def create(cls, params: ExportClassName.Params = ...) -> ExportClassName: ...
# Functions
def testEchoBooleanFunction(flag: bool) -> bool: ...
+5
View File
@@ -0,0 +1,5 @@
opencv_version = "5.0.0.93"
contrib = False
headless = False
rolling = False
ci_build = True
@@ -0,0 +1,31 @@
__all__: list[str] = []
import cv2
# Functions
def getBackendName(api: cv2.VideoCaptureAPIs) -> str: ...
def getBackends() -> _typing.Sequence[cv2.VideoCaptureAPIs]: ...
def getCameraBackendPluginVersion(api: cv2.VideoCaptureAPIs) -> tuple[str, int, int]: ...
def getCameraBackends() -> _typing.Sequence[cv2.VideoCaptureAPIs]: ...
def getStreamBackendPluginVersion(api: cv2.VideoCaptureAPIs) -> tuple[str, int, int]: ...
def getStreamBackends() -> _typing.Sequence[cv2.VideoCaptureAPIs]: ...
def getStreamBufferedBackendPluginVersion(api: cv2.VideoCaptureAPIs) -> tuple[str, int, int]: ...
def getStreamBufferedBackends() -> _typing.Sequence[cv2.VideoCaptureAPIs]: ...
def getWriterBackendPluginVersion(api: cv2.VideoCaptureAPIs) -> tuple[str, int, int]: ...
def getWriterBackends() -> _typing.Sequence[cv2.VideoCaptureAPIs]: ...
def hasBackend(api: cv2.VideoCaptureAPIs) -> bool: ...
def isBackendBuiltIn(api: cv2.VideoCaptureAPIs) -> bool: ...