cutting op• Datenarten: rgb → table
• Aufruf: import fullseye as fs; fs.ledger.knife_edge_track(image, board_row: 'float | None' = None, win: 'int' = 6, reject_px: 'float' = 1.0, method: 'str' = 'coverage') -> 'dict' (die Implementierung direkt: import cutting; cutting.knife_edge_track(image, board_row: 'float | None' = None, win: 'int' = 6, reject_px: 'float' = 1.0, method: 'str' = 'coverage') -> 'dict'; aus dem Register: opsdrive.get("knife_edge_track"))
Ermittelt aus dem Frontalbild die Schneidenlinie, den Klingenrücken und die Spitze (nur regelbasiert).
Ablauf: je Spalte die Zeile aufnehmen, in der die senkrechte Helligkeitsstufe „dunkel → hell“ (Klinge → Wand) verläuft → Spalten des Schneidguts (Sättigungsregel) und 3 px darum ausschließen → per Bedeckungsgradmethode auf Subpixel verfeinern (Fenster passend zur Unschärfeschätzung erweitert) → Total-Least-Squares-Gerade (gleiche Formulierung wie measure.fit_line) → Residuen > reject_px entfernen und neu anpassen. Die obere Begrenzung (Klingenrücken und die schräge Linie an der Spitze) wird ebenso aufgenommen; der rechte zusammenhängende Teil, der von der Rückengeraden abweicht = die schräge Linie, ihr Schnittpunkt mit der Schneidenlinie = die Spitze. Für vom Schneidgut verdeckte Spalten (occluded_cols) ist die Schneide die Interpolation einer einzigen, von beiden Seiten angepassten Geraden.
method: "coverage" (Standard) oder "gradient" (Schwerpunkt der Ableitung, zum Vergleich). Rückgabe: angle_deg (gegen den Uhrzeigersinn mit x nach rechts, z nach oben, atan2), line (Total Least Squares von row = cy + (col − cx)·dy/dx), slope, offset, tip_rc (Spitze; None, wenn nicht gefunden), n_points, rms_px, cols_used, occluded_cols. ValueError, wenn keine Klinge zu sehen ist.
• 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.
• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py
table als Eingabe)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
cutting)cutting_scene · cutting_face_render · cutting_edge_render · cutting_episode_synth · cutting_wrist_mjcf · cut_depth_from_side · slice_thickness_profile · cut_surface_roughness
*Provenance: cutting.py — DRIVE 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.