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.

161 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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:
"""获取当前全景图像."""
...
@staticmethod
def Create(cachedir: str = "./cache") -> API_UnderStitch:
"""创建 API_UnderStitch 实例."""
...
@staticmethod
def Destroy(obj: API_UnderStitch) -> None:
"""销毁 API_UnderStitch 实例."""
...
def getHomography(info: FrameInfo) -> ImageLike:
"""根据帧信息返回单应性矩阵."""
...
__all__ = [
"API_UnderStitch",
"AirCraftInfo",
"CamInfo",
"EulerRPY",
"FrameInfo",
"ImageLike",
"PointBLH",
"ServoInfo",
"UPanConfig",
"UPanInfo",
"getHomography"
]