You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
2.8 KiB

from __future__ import annotations
from typing import Any, TypeAlias
from numpy.typing import NDArray
ImageLike: TypeAlias = NDArray[Any]
class PointBLH:
"""地理坐标系(单位:度)."""
B: float
L: float
H: float
def __init__(self) -> None: ...
class EulerRPY:
"""RPY 姿态角(单位:度)."""
fRoll: float
fPitch: float
fYaw: float
def __init__(self) -> None: ...
class AirCraftInfo:
"""载体信息."""
nPlaneID: int
stPos: PointBLH
stAtt: EulerRPY
def __init__(self) -> None: ...
class CamInfo:
"""相机信息."""
nFocus: int
fPixelSize: float
unVideoType: int
dCamx: float
dCamy: float
fAglReso: float
def __init__(self) -> None: ...
class ServoInfo:
"""伺服状态."""
fServoAz: float
fServoPt: float
fServoAzSpeed: float
fServoPtSpeed: float
def __init__(self) -> None: ...
class FrameInfo:
"""帧内外方位元素."""
nFrmID: int
craft: AirCraftInfo
camInfo: CamInfo
servoInfo: ServoInfo
nEvHeight: int
nWidth: int
nHeight: int
def __init__(self) -> None: ...
class UPanInfo:
"""下视全景图配置."""
m_pan_width: int
m_pan_height: int
scale: float
map_shiftX: float
map_shiftY: float
def __init__(self) -> None: ...
class UPanConfig:
"""下视拼接参数控制."""
bUseBA: bool
bOutFrameTile: bool
bOutGoogleTile: bool
def __init__(self) -> None: ...
class API_UnderStitch:
"""视频帧下视地理拼接."""
def Init(self, info: FrameInfo) -> UPanInfo:
"""初始化拼接,返回全景图配置."""
...
def SetOutput(self, name: str, outdir: str) -> None:
"""配置输出标识和目录."""
...
def Run(self, img: ImageLike, para: FrameInfo) -> int:
"""运行拼接流程cv::Mat/numpy.ndarray."""
...
def Stop(self) -> None:
"""中止拼接流程."""
...
def SetConfig(self, config: UPanConfig) -> None:
"""更新运行参数."""
...
def OptAndOutCurrPan(self) -> int:
"""立即优化并输出当前全景图."""
...
def ExportPanMat(self) -> ImageLike:
"""获取当前全景图像."""
...
def getHomography(self, info: FrameInfo) -> ImageLike:
"""根据帧信息返回单应性矩阵."""
...
@staticmethod
def Create(cachedir: str = "./cache") -> API_UnderStitch:
"""创建 API_UnderStitch 实例."""
...
@staticmethod
def Destroy(obj: API_UnderStitch) -> None:
"""销毁 API_UnderStitch 实例."""
...
__all__ = [
"API_UnderStitch",
"AirCraftInfo",
"CamInfo",
"EulerRPY",
"FrameInfo",
"ImageLike",
"PointBLH",
"ServoInfo",
"UPanConfig",
"UPanInfo",
]