smoothing op• 数据种类:image → image
• 调用:fullseye.apply(img, "xkor_unsharp", a=0.5, b=0.5)(2-D 的模型是一张图 + 两个标量旋钮 a,b∈[0,1])
• GPU:无(仅 CPU 参考实现)

*图为在 128×128 合成输入上实际运行的输出。左为输入,右为输出。点云以俯视散点显示(亮度 = z),一维序列为折线,体数据为沿 z 的最大值投影,视频为中间帧,复数图像为幅值;无法成像的返回值直接显示数值。*
*旋钮 a 不改变输出(实测: 0.1 / 0.5 / 0.9 相同)。*
扫描旋钮 b(0.1 / 0.5 / 0.9,另一旋钮取默认):
▸ xkor_unsharp: 旋钮 b 扫描 (文档网站)
换别的图像(合成场景 / 照片 / 硬币。上排为输入,下排为对应输出。旋钮取默认):
▸ xkor_unsharp: 其他输入图像 (文档网站)
*第 4 列是彩色 (H,W,3) 输入。此算子能正确处理颜色而不跨通道(不把颜色通道当作第三个空间轴卷积)。*
反锐化蒙版(锐化)。以与 sigma 匹配的窗口调用 kornia.filters.unsharp_mask(v + (v - G_σ * v),强度固定为 1)。
a 未使用,b 调节模糊的 sigma(0.5 + 2.0 * b,范围 0.5〜2.5)。从原图减去低频(模糊)成分,再把强调后的差加回的经典锐化。窗口半径为 int(4σ + 0.5),边界为含边缘像素的镜像(与 xkor_gaussian 相同)。与 core 的 unsharp 旋钮含义不同:core 的 a 是强度(1.5a 倍),b 是 σ = 0.5 + 1.5b。core 的 unsharp(v, 2/3, (s - 0.5)/1.5) 与本 op 的 b = (s - 0.5)/2 是同一处理。
★2026-11-03 的修正(数值改变):此前窗口固定为 5x5,σ = 1.5(b = 0.5)时也在半径 2 处截断(与 xkor_gaussian 相同的缺陷)。
同一处理的其他实现(实测,docs/IMPL_DIFFERENTIAL.md):在相同输入、相同 a、b 下,内部差(相对于取值范围之比;小于 5e-3 视为一致)为 unsharp 0.19。不一致的原因(旋钮映射、窗口、边界、量化、定义不同)写在表中。
• gallery2d_smoothing_rank 族使用指南
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
下面的程序已确认可以运行(与图相同的输入)。在 Studio 帮助中,此块会变成按钮,可当场加载并运行。
xkor_unsharp 0.35 0.50
• gallery2d_smoothing_rank — py -3.11 examples/gallery2d_smoothing_rank.py
image 作为输入)identity · gaussian · mean_box · mean_box_wh · bilateral · kuwahara · unsharp · median
smoothing)gaussian · mean_box · mean_box_wh · bilateral · kuwahara · unsharp · sk_tv · sk_wavelet
*Provenance: ops.py — 2D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.