Non-local means (cv::fastNlMeansDenoising). Aggregates similar patches instead of smoothing locally — better Gaussian-noise removal and detail retention than the bilateral filter, at a higher compute cost. Larger h denoises harder.

Module:OpenCV enhancement · Task type:opencv_denoise

Ports

Inputs

PortTypeRequired
inImage / cv::Mat✓

Outputs

PortTypeRequired
outcv::Mat✓

Parameters

参数类型默认值范围 / 选项说明
hfloat3[0.1, 100]filter strength (luminance); start around 10
h_colorfloat3[0.1, 100]
template_windowint7[3, 31]
search_windowint21[3, 65]

Example graph

A minimal runnable pipeline (read → process → write). Drag it into GraphStudio or open via --open; replace data/test.png with a real path.

{
  "version": "2.0",
  "tasks": [
    {
      "id": "read",
      "type": "opencv_image_read",
      "params": {
        "file_path": "data/test.png"
      }
    },
    {
      "id": "node",
      "type": "opencv_denoise",
      "params": {
        "h": 3,
        "h_color": 3,
        "template_window": 7,
        "search_window": 21
      }
    },
    {
      "id": "save",
      "type": "opencv_image_write",
      "params": {
        "file_path": "out_out.png"
      }
    }
  ],
  "edges": [
    {
      "from": "read",
      "from_port": "out",
      "to": "node",
      "to_port": "in"
    },
    {
      "from": "node",
      "from_port": "out",
      "to": "save",
      "to_port": "in"
    }
  ]
}

Part of the GraphStudio node guide series; parameters reflect the latest release.