bridge op• 資料種類:image → signal
• 呼叫:fullseye.apply(img, "img_to_projection_profile", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])

*圖為在 128×128 合成輸入上實際執行的輸出。左為輸入,右為輸出。點雲以俯視散點顯示(亮度 = z),一維序列為折線,體資料為沿 z 的最大值投影,影片為中間影格,複數影像為振幅;無法成像的回傳值直接顯示數值。*
掃描旋鈕 a(0.1 / 0.5 / 0.9,另一旋鈕取預設):
▸ img_to_projection_profile: 旋鈕 a 掃描 (文件網站)
掃描旋鈕 b(0.1 / 0.5 / 0.9,另一旋鈕取預設):
▸ img_to_projection_profile: 旋鈕 b 掃描 (文件網站)
換別的影像(合成場景 / 照片 / 硬幣。上排為輸入,下排為對應輸出。旋鈕取預設):
▸ img_to_projection_profile: 其他輸入影像 (文件網站)
*第 4 欄是彩色 (H,W,3) 輸入。此運算子能正確處理顏色而不跨通道(不把顏色通道當作第三個空間軸摺積)。*
把沿 1 個方向壓縮影像得到的投影輪廓變成1-D signal —— 版面分析的基本量。
img_to_signal 是「把 1 列/行原樣讀出」,而本 op 則是把全部列(全部行) 匯總成 1 條。字串的間隙、格線、帶狀區的邊界,在 1 條掃描線上會淹沒在雜訊中,但壓縮之後就會以谷的形式浮現。
• b → 方向。b < 0.5 時沿縱向壓縮,長度 W(每行的代表值。橫向排列的字之間的間隙成為谷),b >= 0.5 時沿橫向壓縮,長度 H(每列。列間成為谷)。與 img_to_signal 一樣由 b 決定方向,但 a 的意義不同。
• a → 上側修剪率。把被壓縮軸上的值由大到小排列,只對前 m = max(1, round((1-a) * N)) 個取平均。a=0 是單純的平均投影 (即經典的 projection profile 本身),a=1 是最大值投影(MIP),其間是「只保留離群值、其餘抹平」的連續折衷。
• 回傳值: 1-D float64。不正規化(值域保持輸入不變。[0,1] 的影像則為 [0,1])。長度由方向決定(W 或 H)。空影格得到常數值序列。
為什麼旋鈕是修剪率: 平均投影抗雜訊,但 1 條細線會被背景稀釋而消失。最大值投影能保留細線,但 1 個亮點就會把整行抬高。無論選哪個都會有所損失,所以把丟棄多少做成旋鈕,明確了取捨。提高 a 細結構得以保留,降低則雜訊被抹平 ―― 單調,且兩端與經典的 2 種投影一致。
深色字要先在前級反轉。本 op 保留較大的一方,所以白底黑字直接傳入時,修剪會撿到背景。插入 invert(台帳)後,a 保留的就是「字色深的地方」。
先行研究與對應: 平均投影本就是文件分析的經典(Postl 1986 / Baird 1987 用於傾斜估計的量),在 HALCON 中對應 gray_projections(水平、垂直的濃淡投影) —— 由它來填補對應表中 covered: false 的 op。透過上位修剪連續地靠向最大值投影的這一族,與螢光顯微鏡時間影格融合中使用的 分位數投影(取上側 75 % 點)想法相同,但本 op 是前 m 個的平均,所以兩端嚴格地與平均投影和最大值投影一致,其間單調。
用途: 列切分(橫向壓縮找谷)、字切分(縱向壓縮)、格線偵測、帶狀區邊界、deskew 內部所用判定量的視覺化。下游是 1-D 函數族(tb_smooth_funct_1d_gauss / tb_local_min_funct_1d / tb_derivate_funct_1d)。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
下面的程式已確認可以執行(與圖相同的輸入)。在 Studio 說明中,此區塊會變成按鈕,可當場載入並執行。
img_to_projection_profile 0.50 0.50
• gallery2d_bridge — py -3.11 examples/gallery2d_bridge.py
signal 作為輸入)identity · tb_create_funct_1d_array · tb_smooth_funct_1d_gauss · tb_smooth_funct_1d_mean · tb_derivate_funct_1d · tb_integrate_funct_1d · tb_zero_crossings_funct_1d · tb_abs_funct_1d
bridge)img_to_points · img_to_keypoints · img_to_signal · img_to_counts · img_to_matrix · img_to_video · img_to_volume · img_to_lightfield
*Provenance: ops.py — 2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.