2025-08-11 12:24:21 +08:00

450 lines
16 KiB
Python

__all__: list[str] = []
import cv2
import cv2.typing
import typing as _typing
RgbdNormals_RGBD_NORMALS_METHOD_FALS: int
RGBD_NORMALS_RGBD_NORMALS_METHOD_FALS: int
RgbdNormals_RGBD_NORMALS_METHOD_LINEMOD: int
RGBD_NORMALS_RGBD_NORMALS_METHOD_LINEMOD: int
RgbdNormals_RGBD_NORMALS_METHOD_SRI: int
RGBD_NORMALS_RGBD_NORMALS_METHOD_SRI: int
RgbdNormals_RGBD_NORMALS_METHOD = int
"""One of [RgbdNormals_RGBD_NORMALS_METHOD_FALS, RGBD_NORMALS_RGBD_NORMALS_METHOD_FALS, RgbdNormals_RGBD_NORMALS_METHOD_LINEMOD, RGBD_NORMALS_RGBD_NORMALS_METHOD_LINEMOD, RgbdNormals_RGBD_NORMALS_METHOD_SRI, RGBD_NORMALS_RGBD_NORMALS_METHOD_SRI]"""
DepthCleaner_DEPTH_CLEANER_NIL: int
DEPTH_CLEANER_DEPTH_CLEANER_NIL: int
DepthCleaner_DEPTH_CLEANER_METHOD = int
"""One of [DepthCleaner_DEPTH_CLEANER_NIL, DEPTH_CLEANER_DEPTH_CLEANER_NIL]"""
RgbdPlane_RGBD_PLANE_METHOD_DEFAULT: int
RGBD_PLANE_RGBD_PLANE_METHOD_DEFAULT: int
RgbdPlane_RGBD_PLANE_METHOD = int
"""One of [RgbdPlane_RGBD_PLANE_METHOD_DEFAULT, RGBD_PLANE_RGBD_PLANE_METHOD_DEFAULT]"""
OdometryFrame_CACHE_SRC: int
ODOMETRY_FRAME_CACHE_SRC: int
OdometryFrame_CACHE_DST: int
ODOMETRY_FRAME_CACHE_DST: int
OdometryFrame_CACHE_ALL: int
ODOMETRY_FRAME_CACHE_ALL: int
Odometry_ROTATION: int
ODOMETRY_ROTATION: int
Odometry_TRANSLATION: int
ODOMETRY_TRANSLATION: int
Odometry_RIGID_BODY_MOTION: int
ODOMETRY_RIGID_BODY_MOTION: int
# Classes
class RgbdNormals(cv2.Algorithm):
# Functions
@classmethod
@_typing.overload
def create(cls, rows: int, cols: int, depth: int, K: cv2.typing.MatLike, window_size: int = ..., method: int = ...) -> RgbdNormals: ...
@classmethod
@_typing.overload
def create(cls, rows: int, cols: int, depth: int, K: cv2.UMat, window_size: int = ..., method: int = ...) -> RgbdNormals: ...
@_typing.overload
def apply(self, points: cv2.typing.MatLike, normals: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, points: cv2.UMat, normals: cv2.UMat | None = ...) -> cv2.UMat: ...
def initialize(self) -> None: ...
def getRows(self) -> int: ...
def setRows(self, val: int) -> None: ...
def getCols(self) -> int: ...
def setCols(self, val: int) -> None: ...
def getWindowSize(self) -> int: ...
def setWindowSize(self, val: int) -> None: ...
def getDepth(self) -> int: ...
def setDepth(self, val: int) -> None: ...
def getK(self) -> cv2.typing.MatLike: ...
def setK(self, val: cv2.typing.MatLike) -> None: ...
def getMethod(self) -> int: ...
def setMethod(self, val: int) -> None: ...
class DepthCleaner(cv2.Algorithm):
# Functions
@classmethod
def create(cls, depth: int, window_size: int = ..., method: int = ...) -> DepthCleaner: ...
@_typing.overload
def apply(self, points: cv2.typing.MatLike, depth: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def apply(self, points: cv2.UMat, depth: cv2.UMat | None = ...) -> cv2.UMat: ...
def initialize(self) -> None: ...
def getWindowSize(self) -> int: ...
def setWindowSize(self, val: int) -> None: ...
def getDepth(self) -> int: ...
def setDepth(self, val: int) -> None: ...
def getMethod(self) -> int: ...
def setMethod(self, val: int) -> None: ...
class RgbdPlane(cv2.Algorithm):
# Functions
@classmethod
def create(cls, method: int, block_size: int, min_size: int, threshold: float, sensor_error_a: float = ..., sensor_error_b: float = ..., sensor_error_c: float = ...) -> RgbdPlane: ...
@_typing.overload
def apply(self, points3d: cv2.typing.MatLike, normals: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ..., plane_coefficients: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def apply(self, points3d: cv2.UMat, normals: cv2.UMat, mask: cv2.UMat | None = ..., plane_coefficients: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
@_typing.overload
def apply(self, points3d: cv2.typing.MatLike, mask: cv2.typing.MatLike | None = ..., plane_coefficients: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def apply(self, points3d: cv2.UMat, mask: cv2.UMat | None = ..., plane_coefficients: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat]: ...
def getBlockSize(self) -> int: ...
def setBlockSize(self, val: int) -> None: ...
def getMinSize(self) -> int: ...
def setMinSize(self, val: int) -> None: ...
def getMethod(self) -> int: ...
def setMethod(self, val: int) -> None: ...
def getThreshold(self) -> float: ...
def setThreshold(self, val: float) -> None: ...
def getSensorErrorA(self) -> float: ...
def setSensorErrorA(self, val: float) -> None: ...
def getSensorErrorB(self) -> float: ...
def setSensorErrorB(self, val: float) -> None: ...
def getSensorErrorC(self) -> float: ...
def setSensorErrorC(self, val: float) -> None: ...
class RgbdFrame:
@property
def ID(self) -> int: ...
@property
def image(self) -> cv2.typing.MatLike: ...
@property
def depth(self) -> cv2.typing.MatLike: ...
@property
def mask(self) -> cv2.typing.MatLike: ...
@property
def normals(self) -> cv2.typing.MatLike: ...
# Functions
@classmethod
def create(cls, image: cv2.typing.MatLike | None = ..., depth: cv2.typing.MatLike | None = ..., mask: cv2.typing.MatLike | None = ..., normals: cv2.typing.MatLike | None = ..., ID: int = ...) -> RgbdFrame: ...
def release(self) -> None: ...
class OdometryFrame(RgbdFrame):
@property
def pyramidImage(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidDepth(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidMask(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidCloud(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramid_dI_dx(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramid_dI_dy(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidTexturedMask(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidNormals(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
@property
def pyramidNormalsMask(self) -> _typing.Sequence[cv2.typing.MatLike]: ...
# Functions
@classmethod
def create(cls, image: cv2.typing.MatLike | None = ..., depth: cv2.typing.MatLike | None = ..., mask: cv2.typing.MatLike | None = ..., normals: cv2.typing.MatLike | None = ..., ID: int = ...) -> OdometryFrame: ...
def release(self) -> None: ...
def releasePyramids(self) -> None: ...
class Odometry(cv2.Algorithm):
# Functions
def DEFAULT_MIN_DEPTH(self) -> float: ...
def DEFAULT_MAX_DEPTH(self) -> float: ...
def DEFAULT_MAX_DEPTH_DIFF(self) -> float: ...
def DEFAULT_MAX_POINTS_PART(self) -> float: ...
def DEFAULT_MAX_TRANSLATION(self) -> float: ...
def DEFAULT_MAX_ROTATION(self) -> float: ...
@_typing.overload
def compute(self, srcImage: cv2.typing.MatLike, srcDepth: cv2.typing.MatLike, srcMask: cv2.typing.MatLike, dstImage: cv2.typing.MatLike, dstDepth: cv2.typing.MatLike, dstMask: cv2.typing.MatLike, Rt: cv2.typing.MatLike | None = ..., initRt: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.typing.MatLike]: ...
@_typing.overload
def compute(self, srcImage: cv2.typing.MatLike, srcDepth: cv2.typing.MatLike, srcMask: cv2.typing.MatLike, dstImage: cv2.typing.MatLike, dstDepth: cv2.typing.MatLike, dstMask: cv2.typing.MatLike, Rt: cv2.UMat | None = ..., initRt: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.UMat]: ...
@_typing.overload
def compute2(self, srcFrame: OdometryFrame, dstFrame: OdometryFrame, Rt: cv2.typing.MatLike | None = ..., initRt: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.typing.MatLike]: ...
@_typing.overload
def compute2(self, srcFrame: OdometryFrame, dstFrame: OdometryFrame, Rt: cv2.UMat | None = ..., initRt: cv2.typing.MatLike | None = ...) -> tuple[bool, cv2.UMat]: ...
def prepareFrameCache(self, frame: OdometryFrame, cacheType: int) -> cv2.typing.Size: ...
@classmethod
def create(cls, odometryType: str) -> Odometry: ...
def getCameraMatrix(self) -> cv2.typing.MatLike: ...
def setCameraMatrix(self, val: cv2.typing.MatLike) -> None: ...
def getTransformType(self) -> int: ...
def setTransformType(self, val: int) -> None: ...
class RgbdOdometry(Odometry):
# Functions
@classmethod
def create(cls, cameraMatrix: cv2.typing.MatLike | None = ..., minDepth: float = ..., maxDepth: float = ..., maxDepthDiff: float = ..., iterCounts: _typing.Sequence[int] = ..., minGradientMagnitudes: _typing.Sequence[float] = ..., maxPointsPart: float = ..., transformType: int = ...) -> RgbdOdometry: ...
def prepareFrameCache(self, frame: OdometryFrame, cacheType: int) -> cv2.typing.Size: ...
def getCameraMatrix(self) -> cv2.typing.MatLike: ...
def setCameraMatrix(self, val: cv2.typing.MatLike) -> None: ...
def getMinDepth(self) -> float: ...
def setMinDepth(self, val: float) -> None: ...
def getMaxDepth(self) -> float: ...
def setMaxDepth(self, val: float) -> None: ...
def getMaxDepthDiff(self) -> float: ...
def setMaxDepthDiff(self, val: float) -> None: ...
def getIterationCounts(self) -> cv2.typing.MatLike: ...
def setIterationCounts(self, val: cv2.typing.MatLike) -> None: ...
def getMinGradientMagnitudes(self) -> cv2.typing.MatLike: ...
def setMinGradientMagnitudes(self, val: cv2.typing.MatLike) -> None: ...
def getMaxPointsPart(self) -> float: ...
def setMaxPointsPart(self, val: float) -> None: ...
def getTransformType(self) -> int: ...
def setTransformType(self, val: int) -> None: ...
def getMaxTranslation(self) -> float: ...
def setMaxTranslation(self, val: float) -> None: ...
def getMaxRotation(self) -> float: ...
def setMaxRotation(self, val: float) -> None: ...
class ICPOdometry(Odometry):
# Functions
@classmethod
def create(cls, cameraMatrix: cv2.typing.MatLike | None = ..., minDepth: float = ..., maxDepth: float = ..., maxDepthDiff: float = ..., maxPointsPart: float = ..., iterCounts: _typing.Sequence[int] = ..., transformType: int = ...) -> ICPOdometry: ...
def prepareFrameCache(self, frame: OdometryFrame, cacheType: int) -> cv2.typing.Size: ...
def getCameraMatrix(self) -> cv2.typing.MatLike: ...
def setCameraMatrix(self, val: cv2.typing.MatLike) -> None: ...
def getMinDepth(self) -> float: ...
def setMinDepth(self, val: float) -> None: ...
def getMaxDepth(self) -> float: ...
def setMaxDepth(self, val: float) -> None: ...
def getMaxDepthDiff(self) -> float: ...
def setMaxDepthDiff(self, val: float) -> None: ...
def getIterationCounts(self) -> cv2.typing.MatLike: ...
def setIterationCounts(self, val: cv2.typing.MatLike) -> None: ...
def getMaxPointsPart(self) -> float: ...
def setMaxPointsPart(self, val: float) -> None: ...
def getTransformType(self) -> int: ...
def setTransformType(self, val: int) -> None: ...
def getMaxTranslation(self) -> float: ...
def setMaxTranslation(self, val: float) -> None: ...
def getMaxRotation(self) -> float: ...
def setMaxRotation(self, val: float) -> None: ...
def getNormalsComputer(self) -> RgbdNormals: ...
class RgbdICPOdometry(Odometry):
# Functions
@classmethod
def create(cls, cameraMatrix: cv2.typing.MatLike | None = ..., minDepth: float = ..., maxDepth: float = ..., maxDepthDiff: float = ..., maxPointsPart: float = ..., iterCounts: _typing.Sequence[int] = ..., minGradientMagnitudes: _typing.Sequence[float] = ..., transformType: int = ...) -> RgbdICPOdometry: ...
def prepareFrameCache(self, frame: OdometryFrame, cacheType: int) -> cv2.typing.Size: ...
def getCameraMatrix(self) -> cv2.typing.MatLike: ...
def setCameraMatrix(self, val: cv2.typing.MatLike) -> None: ...
def getMinDepth(self) -> float: ...
def setMinDepth(self, val: float) -> None: ...
def getMaxDepth(self) -> float: ...
def setMaxDepth(self, val: float) -> None: ...
def getMaxDepthDiff(self) -> float: ...
def setMaxDepthDiff(self, val: float) -> None: ...
def getMaxPointsPart(self) -> float: ...
def setMaxPointsPart(self, val: float) -> None: ...
def getIterationCounts(self) -> cv2.typing.MatLike: ...
def setIterationCounts(self, val: cv2.typing.MatLike) -> None: ...
def getMinGradientMagnitudes(self) -> cv2.typing.MatLike: ...
def setMinGradientMagnitudes(self, val: cv2.typing.MatLike) -> None: ...
def getTransformType(self) -> int: ...
def setTransformType(self, val: int) -> None: ...
def getMaxTranslation(self) -> float: ...
def setMaxTranslation(self, val: float) -> None: ...
def getMaxRotation(self) -> float: ...
def setMaxRotation(self, val: float) -> None: ...
def getNormalsComputer(self) -> RgbdNormals: ...
class FastICPOdometry(Odometry):
# Functions
@classmethod
def create(cls, cameraMatrix: cv2.typing.MatLike, maxDistDiff: float = ..., angleThreshold: float = ..., sigmaDepth: float = ..., sigmaSpatial: float = ..., kernelSize: int = ..., iterCounts: _typing.Sequence[int] = ...) -> FastICPOdometry: ...
def prepareFrameCache(self, frame: OdometryFrame, cacheType: int) -> cv2.typing.Size: ...
def getCameraMatrix(self) -> cv2.typing.MatLike: ...
def setCameraMatrix(self, val: cv2.typing.MatLike) -> None: ...
def getMaxDistDiff(self) -> float: ...
def setMaxDistDiff(self, val: float) -> None: ...
def getAngleThreshold(self) -> float: ...
def setAngleThreshold(self, f: float) -> None: ...
def getSigmaDepth(self) -> float: ...
def setSigmaDepth(self, f: float) -> None: ...
def getSigmaSpatial(self) -> float: ...
def setSigmaSpatial(self, f: float) -> None: ...
def getKernelSize(self) -> int: ...
def setKernelSize(self, f: int) -> None: ...
def getIterationCounts(self) -> cv2.typing.MatLike: ...
def setIterationCounts(self, val: cv2.typing.MatLike) -> None: ...
def getTransformType(self) -> int: ...
def setTransformType(self, val: int) -> None: ...
# Functions
@_typing.overload
def depthTo3d(depth: cv2.typing.MatLike, K: cv2.typing.MatLike, points3d: cv2.typing.MatLike | None = ..., mask: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def depthTo3d(depth: cv2.UMat, K: cv2.UMat, points3d: cv2.UMat | None = ..., mask: cv2.UMat | None = ...) -> cv2.UMat: ...
@_typing.overload
def depthTo3dSparse(depth: cv2.typing.MatLike, in_K: cv2.typing.MatLike, in_points: cv2.typing.MatLike, points3d: cv2.typing.MatLike | None = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def depthTo3dSparse(depth: cv2.UMat, in_K: cv2.UMat, in_points: cv2.UMat, points3d: cv2.UMat | None = ...) -> cv2.UMat: ...
@_typing.overload
def registerDepth(unregisteredCameraMatrix: cv2.typing.MatLike, registeredCameraMatrix: cv2.typing.MatLike, registeredDistCoeffs: cv2.typing.MatLike, Rt: cv2.typing.MatLike, unregisteredDepth: cv2.typing.MatLike, outputImagePlaneSize: cv2.typing.Size, registeredDepth: cv2.typing.MatLike | None = ..., depthDilation: bool = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def registerDepth(unregisteredCameraMatrix: cv2.UMat, registeredCameraMatrix: cv2.UMat, registeredDistCoeffs: cv2.UMat, Rt: cv2.UMat, unregisteredDepth: cv2.UMat, outputImagePlaneSize: cv2.typing.Size, registeredDepth: cv2.UMat | None = ..., depthDilation: bool = ...) -> cv2.UMat: ...
@_typing.overload
def rescaleDepth(in_: cv2.typing.MatLike, depth: int, out: cv2.typing.MatLike | None = ..., depth_factor: float = ...) -> cv2.typing.MatLike: ...
@_typing.overload
def rescaleDepth(in_: cv2.UMat, depth: int, out: cv2.UMat | None = ..., depth_factor: float = ...) -> cv2.UMat: ...
@_typing.overload
def warpFrame(image: cv2.typing.MatLike, depth: cv2.typing.MatLike, mask: cv2.typing.MatLike, Rt: cv2.typing.MatLike, cameraMatrix: cv2.typing.MatLike, distCoeff: cv2.typing.MatLike, warpedImage: cv2.typing.MatLike | None = ..., warpedDepth: cv2.typing.MatLike | None = ..., warpedMask: cv2.typing.MatLike | None = ...) -> tuple[cv2.typing.MatLike, cv2.typing.MatLike, cv2.typing.MatLike]: ...
@_typing.overload
def warpFrame(image: cv2.typing.MatLike, depth: cv2.typing.MatLike, mask: cv2.typing.MatLike, Rt: cv2.typing.MatLike, cameraMatrix: cv2.typing.MatLike, distCoeff: cv2.typing.MatLike, warpedImage: cv2.UMat | None = ..., warpedDepth: cv2.UMat | None = ..., warpedMask: cv2.UMat | None = ...) -> tuple[cv2.UMat, cv2.UMat, cv2.UMat]: ...