云台控制

摄像头云台的控制和图像采集功能。

云台控制

获取云台状态

get_ptzf(timeout=5)

Get current Pan-Tilt-Zoom-Focus values.

Parameters:

timeout (int) – Timeout in seconds (default: 5)

Return type:

GetCurrentPTZFResponse

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:

SetPTZFServiceResponse

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:
  • image_name (str) – Name for the captured image (required)

  • type (str) – Image type - “rgb”, “infra” (default: “rgb”)

  • timeout (int) – Timeout in seconds (default: 5)

Return type:

CaptureImageResponse

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:

GetAvailableImagesResponse

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:

GetAvailableVideosResponse

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}")