smoothing opimage → imagefullseye.apply(img, "dl_guided_filter", a=0.5, b=0.5) (2-D は 1 画像 + 2 スカラつまみ a,b∈[0,1] のモデル)guided_filter(意味・パラメータは HALCON リファレンスが参考になる)
図は合成の入力 128×128 で実際に走らせた出力。左が入力、右が出力。点群は上から見た散布(明るさ = z)、1-D 列は折れ線、体積は z 方向の最大値投影、動画は中央フレーム、複素画像は振幅、絵にならない返り値は値そのもの。
つまみ a を振る(0.1 / 0.5 / 0.9、もう一方は既定):

つまみ b を振る(0.1 / 0.5 / 0.9、もう一方は既定):

別の画像でも(合成シーン / 写真 / 硬貨。上段が入力、下段がその出力。つまみは既定):

4 列目はカラー (H,W,3) の入力。この op は色を跨がずに扱える(色チャネルを 3 本目の空間軸として畳み込まない)。
自己ガイド付きフィルタ(guided filter、ガイド画像=入力自身、torch 実装)。
局所窓内の線形回帰 q = a_lin*I + b_lin を箱フィルタで解くエッジ保存平滑化。
a は窓半径 r を 1〜5 に振り(r = 1 + int(a*4))、b は正則化項
eps を 0.001〜0.051 に振る(eps = 0.001 + 0.05*b、大きいほど強く平滑化
されエッジ保存が弱まる)。バイラテラルフィルタの高速な代替として知られる手法で、
ガイド画像を入力自身にしているのでセルフガイド付きのエッジ保存平滑化として働く。
HALCON の guided_filter(画像のガイデッドフィルタリングを行う)に相当するが、
同じ結果になるとは限らない近似実装。
下のプログラムは実際に走ることを確かめてある(図と同じ入力)。Studio のヘルプではこのブロックがボタンになり、その場で読み込んで実行できる。
dl_guided_filter 0.35 0.50
py -3.11 examples/gallery2d_smoothing_rank.pyimage を入力に取れる)identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter
smoothing)gaussian · mean_box · bilateral · unsharp · sk_tv · sk_wavelet · sk_rolling_ball · sk_nlm
Provenance: ops.py — 2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.