gabor — 2D texture op

資料種類:imageimage

呼叫:fullseye.apply(img, "gabor", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])

HALCON 對應:gen_gabor(其含義與參數可參考 HALCON 手冊)

gabor: input → output

*圖為在 128×128 合成輸入上實際執行的輸出。左為輸入,右為輸出。點雲以俯視散點顯示(亮度 = z),一維序列為折線,體資料為沿 z 的最大值投影,影片為中間影格,複數影像為振幅;無法成像的回傳值直接顯示數值。*

*輸出以類 viridis 偽彩色顯示(深紫 = 小,黃 = 大),便於讀取距離、相位、方向、深度這類「量的場」。*

掃描旋鈕 a(0.1 / 0.5 / 0.9,另一旋鈕取預設):

gabor: knob a sweep (docs site)

掃描旋鈕 b(0.1 / 0.5 / 0.9,另一旋鈕取預設):

gabor: knob b sweep (docs site)

換別的影像(合成場景 / 照片 / 硬幣。上排為輸入,下排為對應輸出。旋鈕取預設):

gabor: other inputs (docs site)

*第 4 欄是彩色 (H,W,3) 輸入。此運算子能正確處理顏色而不跨通道(不把顏色通道當作第三個空間軸摺積)。*

用法

Gabor 能量 |v * g| —— 具方向性的帶通紋理響應。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

• `a — **向き** θ = π·a` [rad]。カーネルの余弦は回転後の x 方向に走るので、

`a=0` (θ=0) は 縦縞(列方向に明暗が変わる模様)に最も強く応答し、

`a=0.5 (θ=90°) は **横縞**に応答する。a=1` は θ=180° で a=0 と同じ向き。

• `b — 空間周波数 0.1 + 0.3·b` [cycles/px]。

★正規化(2026-09-02 の修正): カーネルの L1 ノルムで割る固定スケール

以前は `_norm` = その画像での最大絶対値で割っていたため、**応答の大小そのもの

が消えていた**。実測(96×96 の横縞、周波数 0.25): 生の畳み込みの平均振幅は

θ=0° が 0.0165、θ=90° が 0.9077 で 54.9 倍の差があるのに、`_norm` を通すと

平均は 0.3554 対 0.4790 = 1.35 倍まで潰れていた —— 向きを見分けるための

特徴量なのに識別力が消えていた(向きごとに別の除数で割っていたのだから当然)。

`|v| <= 1 なら |v * g| <= sum|g|` なので L1 で割れば値域 [0,1] を保ったまま

op を跨いで比較できる絶対スケールになる。

邊界處理:含端點的鏡像折返 (d c b a | a b c d,scipy 預設的 `reflect)(實測。tools/impl2/border_probe.py`)。

空影格(實測):輸入亮度均勻的影像時,無論亮度為何,結果都為空(全部像素為背景 0)。純白與純黑表現相同;僅憑亮度偵測不到任何東西。

詳細使用指南

gallery2d_texture_freq 族使用指南

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

在 Studio 中試試

下面的程式已確認可以執行(與圖相同的輸入)。在 Studio 說明中,此區塊會變成按鈕,可當場載入並執行。

gabor 0.50 0.50

▸ Load this pipeline  ·  Load & run

可執行的範例(實際呼叫該運算子並已驗證的樣例)

gallery2d_texture_freqpy -3.11 examples/gallery2d_texture_freq.py

型別可銜接的下一個運算子(可接受 image 作為輸入)

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

同類別(texture)

std_filter · local_bimodality · local_std · scale_select_std · bootstrap_std_error · structure_tensor_orientation · structure_tensor_coherence · sk_frangi


*Provenance: ops.py — 2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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