☰
Natron 节点文档解析:eu.gmic.SmoothNLMeans(G’MIC Smooth NL-Means)非局部均值去噪节点的完整参数与使用指南
2026/10/14 20:48:28 网站建设 项目流程
  • 音视频
  • 视频处理
  • 图形学
  • 桌面应用

【免费下载链接】Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.

项目地址:https://gitcode.com/gh_mirrors/na/Natron
点击查看免费下载

本文以 Natron 仓库中由 Natron 本体自动生成的节点文档 eu.gmic.SmoothNLMeans.rst 为主体,完整梳理 G’MIC Smooth NL-Means 去噪节点的输入定义、全部控制参数(含取值选项与默认值),并结合仓库源码与构建脚本说明该节点所属 GMIC 插件组的文档生成机制、插件来源与打包方式,帮助你在 Natron 节点图中正确配置和使用这个基于非局部均值(Non-Local Means)算法的平滑去噪节点。

1. 节点定位:文档从哪里来

eu.gmic.SmoothNLMeans.rst 开头带有如下声明:

Do not edit this file! It is generated automatically by Natron itself.This documentation is for version 1.0 of G’MIC Smooth NL-Means (eu.gmic.SmoothNLMeans).

即该文档不是手工编写的,而是 Natron 启动后扫描已加载的 OpenFX 插件、提取每个节点的参数定义后自动导出的。从源码结构看,这一机制位于 AppInstance::exportDocs:该方法按固定顺序列出节点分组(IMAGE、PAINT、TIME……OTHER),其中明确包含groups << QString::fromUtf8("GMIC"); // openfx-gmic,随后遍历插件列表为每个插件生成文档。GMIC 组的所有节点文档再由 toctree 文件 _groupGMIC.rst 汇总成 “GMIC nodes” 一章,其中第 303 行即注册了plugins/eu.gmic.SmoothNLMeans.rst。

文档正文给出的节点背景信息如下:

  • 节点全称:G’MIC Smooth NL-Means,插件 ID 为eu.gmic.SmoothNLMeans,文档对应版本 1.0;
  • 作者:Jerome Boulanger,最后更新 2015/01/07;
  • 实现基础:该节点是 G’MIC 框架的 OpenFX 封装(wrapper),G’MIC 插件由 Tobias Fleischer 与 Frederic Devernay 编写。同组节点的 eu.gmic.AboutGMIC.rst 还说明整个 G’MIC 插件基于 G’MIC 与 CImg(C++ Template Image Processing Library)两个开源库构建。

2. 节点输入(Inputs)

节点输入定义只有一个必填输入:

InputDescriptionOptional
Source(无附加描述)No

即把需要去噪的图像序列接到Source输入端。这与 GMIC 组其他节点(例如 eu.gmic.Kuwahara.rst)的输入约定一致。

3. 核心去噪参数

原始文档的参数表 Function 列未填写逐条说明,以下功能解释基于 Non-Local Means 算法的通用原理与参数命名惯例给出(文档本身未提供逐条功能描述),用于帮助理解各参数如何影响去噪效果。

参数 / 脚本名类型默认值作用说明
Patch Size /Patch_SizeDouble4比较相似度所用的块(patch)边长。块越大,参与相似度度量的局部结构越多,去噪更彻底但计算量上升、细节保留越难
Spatial Bandwidth /Spatial_BandwidthInteger4空间带宽 h1:在图像空间内搜索相似块的搜索范围/空间衰减半径
Tonal Bandwidth /Tonal_BandwidthDouble10强度带宽 h2:控制块间像素差值转化为相似度的宽严程度,值越小去噪越强、越容易涂抹细节
Patch Measure /Patch_MeasureChoiceLuminance计算块相似度的度量方式,选项见下表

Patch_Measure的完整选项列表(继承自原文档):

  • Linf-Norm:按块内最大绝对差度量;
  • L1-Norm:按块内绝对差之和(曼哈顿距离)度量;
  • L2-Norm:按块内平方差之和(欧氏距离)度量;
  • Luminance(默认):在亮度通道上度量;
  • Lightness:在 Lab 空间的 Lightness 通道上度量;
  • RGB:在整个 RGB 空间上度量。

从参数组合看,该节点实现了 NL-Means 算法的典型框架:以每个像素为中心的Patch_Size块为单元,在Spatial_Bandwidth限定的空间范围内寻找相似块,用Patch_Measure计算的块距离经Tonal_Bandwidth控制的高斯核加权,最后对邻域像素做加权平均得到平滑结果。四个核心参数共同决定“去噪强度—细节保留”的平衡,且均可用于动画。

4. 通道选择(Channels)

Channels(Choice,默认All)决定去噪作用在哪些通道/颜色分量上。原文档列出的完整选项为:

  • All(默认);RGBA [All];
  • RGB [All]、RGB [Red]、RGB [Green]、RGB [Blue];RGBA [Alpha];
  • Linear RGB [All]、Linear RGB [Red]、Linear RGB [Green]、Linear RGB [Blue];
  • YCbCr [Luminance]、YCbCr [Blue-Red Chrominances]、YCbCr [Blue Chrominance]、YCbCr [Red Chrominance]、YCbCr [Green Chrominance];
  • Lab [Lightness]、Lab [ab-Chrominances]、Lab [a-Chrominance]、Lab [b-Chrominance];
  • Lch [ch-Chrominances]、Lch [c-Chrominance]、Lch [h-Chrominance];
  • HSV [Hue]、HSV [Saturation]、HSV [Value];
  • HSI [Intensity];HSL [Lightness];
  • CMYK [Cyan]、CMYK [Magenta]、CMYK [Yellow]、CMYK [Key];
  • YIQ [Luma]、YIQ [Chromas];
  • RYB [All]、RYB [Red]、RYB [Yellow]、RYB [Blue]。

从选项覆盖的多个颜色空间(RGB、Linear RGB、YCbCr、Lab、Lch、HSV、HSI、HSL、CMYK、YIQ、RYB)可以看出,这是 G’MIC 插件组统一的通道选择控件,其他 GMIC 节点(如 Kuwahara)也提供完全相同的选项集。实际使用中,只对亮度分量去噪、保留色度(例如选YCbCr [Luminance]或Lab [Lightness])通常是避免色度伪影的常用做法。

5. 性能与草稿模式参数

参数 / 脚本名类型默认值说明
Parallel Processing /Parallel_ProcessingChoiceAuto线程数选择:Auto(默认)、One Thread、Two Threads、Four Threads、Eight Threads、Sixteen Threads
), Spatial Overlap /_Spatial_OverlapInteger24带隐藏前缀下划线的脚本参数,默认 24,从命名看与空间搜索分块/重叠区域相关,一般无需手工调整
Resize Mode /Resize_ModeChoiceDynamic预览分辨率策略,选项见下
Preview/Draft Mode /PreviewDraft_ModeBooleanOff草稿模式开关

Resize_Mode完整选项(继承自原文档):Fixed (Inplace)、Dynamic(默认)、Downsample 1/2、Downsample 1/4、Downsample 1/8、Downsample 1/16。这与 Natron 的代理渲染(proxy render)思路一致:预览阶段在低分辨率下计算重算法的 NL-Means 平滑,可显著加快节点图实时反馈;最终渲染时仍使用全分辨率。Parallel_Processing则允许显式指定线程数,便于在渲染农场等受控环境下固定资源占用。

6. 预览参数(Preview)

NL-Means 类滤波在图像边缘处的行为常与内部不同,G’MIC 插件为此提供了一组“预览”诊断控件:

参数 / 脚本名类型默认值说明
Preview Type /Preview_TypeChoiceFull预览类型,选项见下表
Preview Split /Preview_SplitDoublex: 0.5, y: 0.5预览分割线位置(双分量坐标)

Preview_Type完整选项(继承自原文档):Full(默认)、Forward Horizontal、Forward Vertical、Backward Horizontal、Backward Vertical、Duplicate Top、Duplicate Left、Duplicate Bottom、Duplicate Right、Duplicate Horizontal、Duplicate Vertical、Checkered、Checkered Inverse。配合Preview_Split的 x/y 位置,可以把同一图像按不同边缘扩展策略并排显示,直观比较边缘处理差异。

7. 输出与其他通用参数

参数 / 脚本名类型默认值说明
Output Layer /Output_LayerChoiceLayer 0输出取自哪一层:Merged、Layer 0~Layer -9(共 11 个选项)
Ignore Alpha /Ignore_AlphaBooleanOff去噪计算时是否忽略 Alpha 通道
Global Random Seed /Global_Random_SeedInteger0全局随机种子(用于算法中可能出现的随机化步骤)
Animate Random Seed /Animate_Random_SeedBooleanOff是否让随机种子随帧动画化
Log Verbosity /Log_VerbosityChoiceOff日志详细程度:Off、Level 1、Level 2、Level 3

这些是 G’MIC 插件组的公共尾参(Output_Layer、Resize_Mode、Ignore_Alpha、PreviewDraft_Mode、随机种子、Log_Vebosity系列),在 eu.gmic.Kuwahara.rst、eu.gmic.AboutGMIC.rst 等节点文档中均重复出现,属于插件框架统一注入的控件,而非 Smooth NL-Means 独有。

8. 插件从哪里来:构建与打包视角

Smooth NL-Means 节点来自独立仓库维护的 openfx-gmic 插件包,本仓库通过构建体系集成它,可查证的事实包括:

  • common-buildmaster.sh 定义GMICPLUG_PKG=fr.inria.openfx.gmic,并从NatronGitHub/openfx-gmic仓库拉取源码;
  • build-plugins.sh 中的 “# GMIC” 段落执行克隆、检出分支、make OPENMP=1编译(gcc/clang-omp 时启用 OpenMP 多核构建),最后将生成的*.ofx.bundle拷贝进发行目录,并写入GMIC.ofx.bundle-version.txt版本戳;
  • Windows 安装脚本 Natron.iss 提供可选安装组件Name: "gmic"; Description: "OpenFX G'MIC",把Plugins/OFX/Natron/GMIC.ofx.bundle安装到 Natron 插件目录;
  • 功能特性页 getstarted-about-features.rst 将 OpenFX-G'MIC 列为 Natron 官方支持的一系列开源 OpenFX 插件之一。

从源码结构看,Parallel_Processing选项与构建脚本中OPENMP=1的编译方式相互印证:插件本体具备多线程实现能力,运行时线程数由节点参数控制。

9. 小结

  • eu.gmic.SmoothNLMeans是 G’MIC 插件组中基于 Non-Local Means 算法的平滑去噪节点,只有一个必填输入Source;
  • 去噪行为由Patch_Size(默认 4)、Spatial_Bandwidth(默认 4)、Tonal_Bandwidth(默认 10)和Patch_Measure(默认 Luminance)四个核心参数决定,Channels提供覆盖 11 种颜色空间的 38 个通道选择;
  • 性能相关参数(Parallel_Processing、Resize_Mode、PreviewDraft_Mode)与预览诊断参数(Preview_Type、Preview_Split)、公共尾参(Output_Layer、Ignore_Alpha、随机种子、Log_Verbosity)构成 G’MIC 插件组统一的控制框架;
  • 该节点文档由 Natron 自动导出(见 AppInstance::exportDocs 与 _groupGMIC.rst),插件源码与构建细节见 openfx-gmic 仓库及本仓库 build-plugins.sh。

需要说明的适用前提:本文所有参数名、类型与默认值均直接取自仓库内节点文档 eu.gmic.SmoothNLMeans.rst(节点版本 1.0,插件最后更新 2015/01/07);参数功能解释中超出文档原文的部分已按算法惯例做了谨慎标注,具体数值调优效果请以实际图像测试为准。

  • 音视频
  • 视频处理
  • 图形学
  • 桌面应用

【免费下载链接】Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.

项目地址:https://gitcode.com/gh_mirrors/na/Natron
点击查看免费下载

相关推荐

上一篇:Navicat for Mac无限试用终极指南:3种高效破解方案详解
下一篇:B站视频下载器:如何免费下载大会员4K视频和充电专属内容

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询