/install camera-model
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 operationspywayne.cv.tools.write_cv_yaml- For writing YAML files
Notes
- Library is automatically checked and downloaded via
gettoolif not found - Supports both tuple/list and numpy array inputs for projection methods
- Output from projection methods is always
np.ndarraywithdtype=np.float64
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install camera-model - 安装完成后,直接呼叫该 Skill 的名称或使用
/camera-model触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
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。