← 返回 Skills 市场
wangyendt

Pywayne Cv Camera Model

作者 wangyendt · GitHub ↗ · v0.1.0
cross-platform ⚠ suspicious
556
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install camera-model
功能描述
Camera model wrapper for camera_models C++ library via pybind11. Use when working with pywayne.cv.camera_model module to load camera models from YAML configu...
使用说明 (SKILL.md)

Pywayne Camera Model

This module wraps the camera_models C++ library via pybind11, providing a Python interface for camera operations.

Quick Start

from pywayne.cv.camera_model import CameraModel
from pywayne.cv.tools import write_cv_yaml
import numpy as np

# Create camera model
camera = CameraModel()

# Load from YAML file
camera.load_from_yaml('camera_config.yaml')

# Access properties
print(f"Model: {camera.model_type}")
print(f"Size: {camera.image_width}x{camera.image_height}")

Loading from YAML

from pathlib import Path

# Sample YAML configuration
yaml_data = {
    "model_type": "PINHOLE",
    "camera_name": "my_camera",
    "image_width": 1280,
    "image_height": 720,
    "distortion_parameters": {"k1": 0.0, "k2": 0.0},
    "projection_parameters": {"fx": 600.0, "fy": 600.0, "cx": 640.0, "cy": 360.0}
}

# Write YAML file
write_cv_yaml('camera_config.yaml', yaml_data)

# Load model
camera.load_from_yaml('camera_config.yaml')

Supported Camera Models

Model Type Description
PINHOLE Standard pinhole camera with radial distortion
PINHOLE_FULL Full pinhole model with all distortion parameters
CATA Catadioptric camera model
EQUIDISTANT Equidistant camera model
OCAM Unified camera model

Projection Operations

lift_projective()

Lifts a 2D image point to a 3D projective ray:

# Input can be tuple, list, or numpy array
ray_3d = camera.lift_projective([u, v])  # Returns np.ndarray (x, y, z)

space_to_plane()

Projects a 3D point onto the 2D image plane:

# Input can be tuple, list, or numpy array
uv = camera.space_to_plane([x, y, z])  # Returns np.ndarray (u, v)

Properties

Property Description
model_type Camera model type (enum)
camera_name Name of the loaded camera
image_width Image width in pixels
image_height Image height in pixels

Parameters Dictionary

Export all camera parameters as a dictionary:

params = camera.get_parameters_as_dict()
print(params)

Includes model-specific parameters:

  • Pinhole: k1, k2, p1, p2, fx, fy, cx, cy
  • Pinhole Full: k1-k6, p1-p2, fx, fy, cx, cy
  • CATA: xi, k1-k2, p1-p2, gamma1-2, u0, v0
  • Equidistant: k2-k5, mu, mv, u0, v0
  • OCAM: C, D, E, center_x, center_y, poly, inv_poly

Requirements

  • camera_models - C++ library (auto-downloaded via gettool if missing)
  • numpy - Array operations
  • pywayne.cv.tools.write_cv_yaml - For writing YAML files

Notes

  • Library is automatically checked and downloaded via gettool if not found
  • Supports both tuple/list and numpy array inputs for projection methods
  • Output from projection methods is always np.ndarray with dtype=np.float64
安全使用建议
This skill is essentially documentation for using a pybind11-wrapped C++ camera module. The main risk is the line 'auto-downloaded via gettool if missing' — the skill gives the agent discretion to install native code but does not specify what will be downloaded or from where. Before installing or enabling this skill: 1) Confirm whether your platform provides a trusted 'gettool' and what sources it uses; 2) If you run on an environment that must have the native module preinstalled, verify camera_models/pywayne are installed from trusted packages; 3) Avoid allowing the agent to perform unspecified downloads or installs unless you trust the repository and have visibility into the download URLs and checksums. Providing an explicit install spec (trusted release URL, package name, or declared required binary) would reduce the ambiguity and lower risk.
功能分析
Type: OpenClaw Skill Name: camera-model Version: 0.1.0 The skill bundle describes a Python wrapper for a C++ camera model library. The `SKILL.md` provides clear, functional instructions and code examples for using the library, without any evidence of prompt injection attempts against the AI agent. Dependencies are managed via the platform's `gettool` mechanism, and there are no indications of malicious file operations, network activity, data exfiltration, or persistence mechanisms within the provided content. The functionality aligns with a standard computer vision utility.
能力评估
Purpose & Capability
The name/description match the instructions: this is a wrapper for a C++ camera_models library exposed to Python. Declared runtime dependencies (camera_models, numpy) are consistent with the purpose. However, the skill provides no code or binary and relies on a preinstalled or dynamically fetched native module; that expectation is not documented in the registry metadata (no install spec, no required binaries).
Instruction Scope
SKILL.md stays within the camera-model domain for examples and API usage, but it explicitly says the library is 'automatically checked and downloaded via gettool if not found'. That gives the agent open-ended authority to fetch and install native code at runtime without specifying what to download or from where, which is vague and could lead to arbitrary network fetches and disk writes.
Install Mechanism
No install spec is present in the registry metadata, yet the instructions reference a runtime installer ('gettool'). The absence of a declared install method, URLs, or required binary for gettool is an inconsistency: either the platform provides a trusted gettool (not declared) or the agent is expected to fetch arbitrary artifacts — the doc doesn't clarify which.
Credentials
The skill does not request any environment variables, credentials, or config paths. The stated dependencies (camera_models, numpy) are proportional to the camera-model purpose.
Persistence & Privilege
always is false and there is no instruction to modify other skills or system-wide settings. Autonomous invocation is allowed (platform default) but does not combine with other red flags here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install camera-model
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /camera-model 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial release of pywayne-cv-camera-model: a Python wrapper for the camera_models C++ library. - Load camera models from YAML configuration files. - Access camera properties such as model type, image size, and camera parameters. - Perform 2D/3D projection operations: `lift_projective` and `space_to_plane`. - Export camera parameters as dictionaries for further use. - Supports multiple standard and advanced camera models.
元数据
Slug camera-model
版本 0.1.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Pywayne Cv Camera Model 是什么?

Camera model wrapper for camera_models C++ library via pybind11. Use when working with pywayne.cv.camera_model module to load camera models from YAML configu... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 556 次。

如何安装 Pywayne Cv Camera Model?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install camera-model」即可一键安装,无需额外配置。

Pywayne Cv Camera Model 是免费的吗?

是的,Pywayne Cv Camera Model 完全免费(开源免费),可自由下载、安装和使用。

Pywayne Cv Camera Model 支持哪些平台?

Pywayne Cv Camera Model 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Pywayne Cv Camera Model?

由 wangyendt(@wangyendt)开发并维护,当前版本 v0.1.0。

💬 留言讨论