How it works

The non-local means algorithm is implemented in OpenCV by a family of functions: cv2.fastNlMeansDenoising, cv2.fastNlMeansDenoisingColored, cv2.fastNlMeansMulti, and cv2.fastNlMeansDenoisingColoredMulti. These functions take either one image or multiple images, gray-scale or color. In this recipe, we used the cv2.fastNlMeansDenoisingColored function, which takes a single BGR image and returns a denoised one. The function takes a few parameters, among them the parameter h, which stands for denoising strength; higher values leads to less noise, but a more smoothed image. The other parameters specify non-local means algorithms parameters such as template pattern size and search window space (named correspondingly).

The following ...

Get OpenCV 3 Computer Vision with Python Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.