keypoints_to_image2d — REPRCONV keypoint op

• Datenarten: keypoints → image2d

• Aufruf: import fullseye as fs; fs.ledger.keypoints_to_image2d(keypoints, shape=(64, 64)) (die Implementierung direkt: import reprconv; reprconv.keypoints_to_image2d(keypoints, shape=(64, 64)); aus dem Register: opsreprconv.get("keypoints_to_image2d"))

Verwendung

Bildkoordinaten (N,2) = (u, v) → ein Zählbild (H, W). Der zweite Ausgang aus keypoints.

Addiert jeweils 1 in Zeile round(v), Spalte round(u). Die Quantisierung auf das Pixelgitter ist der Verlust: Beim Hin- und Rückweg mit keypoints_from_image2d verschieben sich die Positionen um bis zu 0.5 Pixel (gemessen an 225 gut getrennten Punkten: je Achse RMS 0.2835 px = stimmt mit dem theoretischen Wert der gleichmäßigen Quantisierung 1/sqrt(12) = 0.2887 überein. Als 2-D-Abstand das sqrt(2)-Fache, 0.4009 px, Theorie sqrt(2/12) = 0.4082). ★ Auch hier lag man einmal falsch: Der gemessene 2-D-Abstand wurde neben den theoretischen 1-D-Wert gestellt und fast als "sollte 0.29 sein, ist aber 0.40" gelesen -- vermischt man Größen je Achse mit Abstandsgrößen, sieht eine korrekte Implementierung falsch aus. Nahe Punkte verschmelzen als Zusammenhangskomponente, daher kann der Hin- und Rückweg auch die Punktzahl verringern (gemessen: 60 zufällig platzierte Punkte werden zu 54 Punkten).

Punkte außerhalb des Bereichs werden nicht stillschweigend verworfen -- sonst ließe sich nicht unterscheiden, ob "die Detektionen weniger wurden" oder "das Bild zu klein war".

Args:

keypoints: (N, 2) (u, v).

shape: (H, W).

Returns:

(H, W) float64-Zählbild.

Raises:

ValueError: ungültige Form / nicht endlich / Punkte außerhalb des Bereichs / shape über der Grenze.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• representation_roundtrip — py -3.11 examples/representation_roundtrip.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

keypoints_from_image2d

Gleiche Kategorie (keypoint)

keypoints_uv_to_points · points_zyx_to_keypoints_uv · keypoints_from_image2d · position_to_points · points_to_position


*Provenance: reprconv.py — REPRCONV Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.