很實用的技能,建議學起來。一行指令就搞定了。好強的 OpenCV
如果還沒有安裝opencv 請服用下面的指令:
python3 -m pip install opencv-python
OpenCV提供了這種技術的四種變體。
- cv2.fastNlMeansDenoising() – 使用單個灰度影象
- cv2.fastNlMeansDenoisingColored() – 使用彩色影象。
- cv2.fastNlMeansDenoisingMulti() – 用於在短時間內捕獲的影象序列(灰度影象)
- cv2.fastNlMeansDenoisingColoredMulti() – 與上面相同,但用於彩色影象。
參數:
- h:引數決定濾波器強度。較高的h值可以更好地消除噪聲,但也會刪除影象的細節 (10 is ok)
- hForColorComponents:與h相同,但僅適用於彩色影象。 (通常與h相同)
- templateWindowSize:應該是奇數。 (recommended 7)
- searchWindowSize:應該是奇數。 (recommended 21)
使用範例:
import numpy as np import cv2 as cv img = cv.imread('die.png') dst = cv.fastNlMeansDenoisingColored(img,None,10,10,7,21)
如上所述,它用於從彩色影象中去除噪聲。
相關文章
Image Denoising
https://docs.opencv.org/3.4/d5/d69/tutorial_py_non_local_means.html