slice_thickness_profile — DRIVE cutting op

• 数据种类:rgb × scalar × scalar → table

• 调用: import fullseye as fs; fs.ledger.slice_thickness_profile(image, px_per_mm: 'float', board_row: 'float', z_band=None, win: 'int' = 4) -> 'dict'(要直接调用实现,import cutting; cutting.slice_thickness_profile(image, px_per_mm: 'float', board_row: 'float', z_band=None, win: 'int' = 4) -> 'dict';从台账取用则 opsdrive.get("slice_thickness_profile"))

用法

在沿刃口方向的图像中,逐行求出“食材端面”和“刀刃平面”的亚像素位置,差 = 切片厚度(mm)。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

各画素を 3 色(背景・食材・刃)の割合に線形分解する(彩度 R − B と輝度の 2 チャンネル + 和 = 1)。背景の割合は端面で 1 → 0 に落ちる純粋な段、刃の割合は刃の面で 0 → 1 に上がる純粋な段なので、それぞれの窓の中の和が縁の位置になる(被覆率法)。ぼけは割合の和を変えないので、窓をぼけの推定(端面の段の 2 次モーメント σ)に合わせて ±(3σ + 1) px に広げれば偏らない。切片が窓より薄くても、2 つの段は別々の割合なので干渉しない。参照の色は行ごとに局所で取る(照明の左右勾配に追従)。刃の判定は「刃の輝度が背景と食材の間のどこにあるか」の比で行い、明るさの倍率(gain)に依らない。

端面と刃の面はそれぞれ直線に乗るはず: 1.5 px より外れた行を外し、外れが 3 割を超えたら ValueError(黙って間違えない)。z_band: (z_lo, z_hi) mm で使う行を絞る(片刃の切刃部を外すのに使う)。返り値: z_mm、thickness_mm(行ごと)、mean_mm、lean_deg(刃の面の鉛直からの傾き、atan2)、face_line、end_line、n_rows、n_rejected、blur_px。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py

类型可衔接的下一个算子(可接受 table 作为输入)

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 · knife_edge_track · cut_depth_from_side · cut_surface_roughness


*Provenance: cutting.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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