pywayne-cv-camera-model

pywayne-cv-camera-model is a skill for Claude Code, Codex from wangyendt/wayne-skills. It costs 71 tokens per session (909 once invoked), scanned A, original, MIT.

A Python interface to a C++ camera-model library. It can load camera settings from YAML files and expose image size, model type, calibration values, and projection operations.

In plain words
What is it for?
Loading supported camera models, inspecting their parameters, projecting points, and exporting camera configuration data.
Why use it?
It lets Python programs use camera calibration and coordinate-conversion functions without calling the underlying C++ library directly.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/wangyendt/wayne-skills/camera-model
Any agent
npx skills add wangyendt/wayne-skills --skill camera-model
Clone the repo
git clone --depth 1 https://github.com/wangyendt/wayne-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pywayne-cv-camera-model

README.md
[![agentmods](https://agentmods.dev/badge/skills/wangyendt/wayne-skills/camera-model.svg)](https://agentmods.dev/skills/wangyendt/wayne-skills/camera-model)
Your own site
<a href="https://agentmods.dev/skills/wangyendt/wayne-skills/camera-model"><img src="https://agentmods.dev/badge/skills/wangyendt/wayne-skills/camera-model.svg" alt="Measured on agentmods" height="20"></a>
Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 909 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00071 $0.00909
Opus 5 $0.00036 $0.00454
Sonnet 5 $0.00014 $0.00182
Haiku 4.5 $0.00007 $0.00091

Measured 4d ago against content hash b141875845f5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pywayne-cv-camera-model scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

pywayne/cv/camera-model/SKILL.md · 116 lines

How it starts

The opening of the file, as written. The whole thing — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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

Read the full file on GitHub · 116 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 116 lines · 71 tokens per session scan A b141875845f5

Subscribe to this mod's changes

pywayne-cv-camera-model is a skill published in the GitHub repository wangyendt/wayne-skills (8 stars, last pushed 8d ago), licensed MIT. It adds 71 tokens to every session and 909 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

assessing-external-test-risk

Assesses whether branch or PR changes are high-risk for externally hosted or embedded Streamlit usage and recommends whether external e2e coverage with @pytest.mark.externaltest is needed. Use during code review, PR triage, or test planning when changes touch routing, auth, websocket/session behavior, embedding…

streamlit/streamlit · 88 tokens

extracting-with-ocr

Use when extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer. Covers OCR backends, language packs, force-OCR, and performance tuning.

xberg-io/xberg · 42 tokens

tilelang-env-check

TileLang-Ascend 环境检查与配置验证技能。检查代码仓库完整性、编译安装状态、环境变量配置,并运行简单测试验证环境。发现问题会自动调用相关 skill 进行修复,并按依赖顺序重新执行后续步骤。触发关键词:"环境检查"、"检查环境"、"验证环境"、"环境配置"、"环境搭建"、"env check"、"check environment"、"verify environment"、"setup environment"。.

tile-ai/tilelang-ascend · 112 tokens

tilelang-op-develop

基于设计文档生成 TileLang-Ascend 算子实现代码与测试。从 design.md 中提取关键信息,结合 examples/ 中的参考实现生成可运行代码。触发:实现算子、写 kernel、生成代码、算子编码、根据设计文档实现。.

tile-ai/tilelang-ascend · 70 tokens

frontend-dashboard

Use this skill when editing the embedded dashboard frontend in this repository. It focuses on preserving the single-file embedded SPA model, keeping the UI lightweight, and avoiding unnecessary frontend tooling or dependencies.

mudrii/openclaw-dashboard · 40 tokens

home-assistant-integration

Use this skill when creating, scaffolding, reviewing, or maintaining Python Home Assistant custom integrations, including work on customcomponents, manifests, config flows, options flows, config entries, platforms/entities, DataUpdateCoordinator, integration automation triggers, diagnostics, repairs…

denysdovhan/agents · 76 tokens