云台控制
摄像头云台的控制和图像采集功能。
云台控制
获取云台状态
- get_ptzf(timeout=5)
Get current Pan-Tilt-Zoom-Focus values.
- Parameters:
timeout (
int) – Timeout in seconds (default: 5)- Return type:
- Returns:
GetPTZFServiceResponse.
Examples:
response = get_ptzf() if response.state.code == 0: print(f"Pan: {response.response.pan}") print(f"Tilt: {response.response.tilt}")
设置云台角度
- set_ptzf(pan=0.0, tilt=0.0, zoom=1.0, focus=0, relative=False, timeout=30)
Set Pan-Tilt-Zoom-Focus values for camera control.
- Parameters:
pan (
float) – Pan angle in degrees (default: 0.0)tilt (
float) – Tilt angle in degrees (default: 0.0)zoom (
float) – Zoom value (default: 1.0)focus (
int) – Focus value (default: 0)relative (
bool) – If True, values are relative to current position; if False, absolute (default: False)timeout (
int) – Timeout in seconds (default: 30)
- Return type:
- Returns:
SetPTZFServiceResponse.
Examples:
# Absolute positioning set_ptzf(pan=45.0, tilt=-30.0, zoom=2.0) # Relative movement set_ptzf(pan=10.0, tilt=5.0, relative=True)
图像采集
拍摄图片
- capture_image(image_name, type='rgb', timeout=5)
Capture an image from the camera.
- Parameters:
- Return type:
- Returns:
CaptureImageResponse.
Note: Images are saved to /root/data/daystar_api/images/
Examples:
# Capture RGB image response = capture_image("photo_001") if response.response.success: print(f"Image captured: {response.response.message}") # Capture depth image capture_image("depth_001", type="depth")
获取已保存图片
- get_available_images(timeout=5)
Get list of all captured images.
- Parameters:
timeout (
int) – Timeout in seconds (default: 5)- Return type:
- Returns:
GetAvailableImagesResponse.
Note: Images are stored in /root/data/daystar_api/images/
Examples:
response = get_available_images() if response.response.success: for img_name in response.response.image_names: print(f"Image: {img_name}")
删除图片
- delete_image(image_name)
Delete a captured image by name.
删除指定名称的已抓拍云台照片(删除图像文件,不可恢复)。名称用 get_available_images 返回的名称(不含扩展名)。照片存于 /root/data/daystar_api/images/。
- Parameters:
image_name (
str) – 要删除的照片名称(不含扩展名;禁止绝对路径/反斜杠/..)- Returns:
- 删除结果
state: 状态(state.code==0 成功)
result: bool,是否成功删除
- Return type:
DeleteImageResponse
Note: Images are stored in /root/data/daystar_api/images/
Examples:
# 删除单张照片 result = delete_image("snap_001") if result.result: print("照片已删除") # 配合 get_available_images 批量删除 response = get_available_images() for img_name in response.response.image_names: delete_image(img_name)
批量删除图片
- delete_images(image_names=[], delete_all=False)
Batch-delete captured images.
批量删除已抓拍云台照片。传 image_names 列表删除指定照片(单元素=指定,多元素=批量); delete_all=True 时忽略 image_names,快速删除全部已抓拍照片。名称用 get_available_images 返回的名称(不含扩展名)。删除不可恢复。
- Parameters:
image_names (
list[str]) – 要删除的照片名称列表(delete_all=True 时可省略)delete_all (
bool) – 为 True 时删除全部照片,默认 False
- Returns:
- 批量删除结果
result: bool,是否全部成功
deleted: list[str],成功删除的名称
failed: list[str],删除失败的名称
- Return type:
DeleteImagesResponse
Note: Images are stored in /root/data/daystar_api/images/
Examples:
# 删除指定若干照片 delete_images(["snap_001", "snap_002"]) # 快速删除全部照片 delete_images(delete_all=True)
获取已保存视频
- get_available_videos(timeout=5)
Get list of all saved videos.
- Parameters:
timeout (
int) – Timeout in seconds (default: 5)- Return type:
- Returns:
GetAvailableVideosResponse.
Note: Videos are stored in /root/data/daystar_api/videos/
Examples:
response = get_available_videos() if response.response.success: for video_name in response.response.video_names: print(f"Video: {video_name}")