# HALOWERK Robust Planar Homography (RANSAC)

> HALOWERK Robust Planar Homography (RANSAC) is a paid API for AI agents from medien.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-30).

Fits a RANSAC-robust 2D projective (homography) transform between two matched point sets, returning the 3×3 matrix and an inlier mask identifying which correspondences are outliers.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/oss-opencv-robust-planar-homography?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-robust-planar-homography-ransac-215a37dd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0u5myM2w-y_s-K0O3TgOn

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-robust-planar-homography-ransac-215a37dd -d '<json body>'
```

Example prompt: I have two sets of matched 2D points — source and target — from two photos of a flat whiteboard; fit a robust homography using RANSAC with a reprojection threshold of 3.0 pixels and tell me which matches are inliers versus outliers.

## When to prefer this

Choose this endpoint when you need a robust 2D projective transform between matched planar point sets and want explicit outlier identification via an inlier mask — particularly for document rectification, image stitching, or planar tracking pipelines where noisy feature matches could silently corrupt a least-squares fit. Prefer this over a plain homography solver when you expect outlier correspondences and need to know which ones failed rather than having them averaged in.

## Known failure modes

- Fewer than 4 point pairs provided — minimum needed for homography estimation
- All correspondences are outliers — degenerate scene or extremely noisy matches leading to no valid model
- Points are collinear or nearly so — degenerate configuration where homography is undefined
- Reprojection threshold outside allowed range [0.1, 10] — validation error returned
- source_points and target_points arrays have mismatched lengths

## How this service works

Fits a 2D projective transform between two point sets with RANSAC at a caller-chosen reprojection threshold, and returns both the homography and the inlier mask. The mask is what makes this useful beyond a plain fit: bad correspondences are named rather than quietly averaged in, so a caller can re-run detection, drop a frame or raise an alarm. Suitable for document rectification, planar tracking and image stitching where the scene really is flat.

## Output

Returns a 3×3 homography matrix representing the best-fit 2D projective transform between the two point sets, along with a boolean inlier mask (one entry per correspondence) identifying which point pairs were consistent with the model within the specified reprojection threshold. This allows callers to separate good matches from outliers rather than silently averaging them in.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "source_points": {
   "type": "array",
   "items": {
    "type": "array",
    "items": {
     "type": "number",
     "maximum": 1000000000,
     "minimum": -1000000000
    },
    "maxItems": 2,
    "minItems": 2
   },
   "maxItems": 2048,
   "minItems": 4
  },
  "target_points": {
   "type": "array",
   "items": {
    "type": "array",
    "items": {
     "type": "number",
     "maximum": 1000000000,
     "minimum": -1000000000
    },
    "maxItems": 2,
    "minItems": 2
   },
   "maxItems": 2048,
   "minItems": 4
  },
  "reprojection_threshold": {
   "type": "number",
   "maximum": 10,
   "minimum": 0.1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-robust-planar-homography-ransac-215a37dd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from medien.halowerk.com](https://www.zero.xyz/host/medien.halowerk.com/llms.txt)
