在早先的章節(jié)里,我們看到很多圖像平滑技術(shù)如高斯模糊,Median模糊等,它們?cè)谝瞥龜?shù)量小的噪音時(shí)在某種程度上比較好用。在這些技術(shù)里,我們?nèi)∠袼刂車囊恍〔糠粥従?,做一些類似于高斯平均?quán)重,中值等替換掉中間的元素。簡(jiǎn)單說(shuō),移除一個(gè)像素的噪音是基于本地鄰居的。
創(chuàng)新互聯(lián)的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、電商網(wǎng)站開(kāi)發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā)。噪音有一個(gè)屬性,噪音一般被認(rèn)為是具有零平均值的隨機(jī)變量。假設(shè)一個(gè)像素噪音,p = p0 + n, 其中p0是像素的真實(shí)值,n是那個(gè)像素的噪音。你可以從不同圖像取大量的同一個(gè)像素(N)并計(jì)算他們的平均值,理想情況下,你應(yīng)該得到p=p0,因?yàn)榫凳?.
你可以自己通過(guò)一個(gè)簡(jiǎn)單例子驗(yàn)證一下。保持一個(gè)靜止的攝像機(jī)對(duì)準(zhǔn)一個(gè)位置多呆幾秒,這會(huì)給你很多幀,或者是對(duì)一個(gè)場(chǎng)景的很多圖像。然后寫(xiě)一些代碼來(lái)找到視頻里所有幀的平均值。比較最終的結(jié)果和第一幀。你可以看到噪點(diǎn)被去掉了。不幸的是這個(gè)簡(jiǎn)單的方法對(duì)于攝像機(jī)和場(chǎng)景的運(yùn)動(dòng)來(lái)說(shuō)就不健壯了。而且經(jīng)常你也只有一個(gè)噪音圖像可用。
Image Denoising
OpenCV提供了這種技術(shù)的四種變體。
Common arguments:
cv2.fastNlMeansDenoisingColored()
如上所述,它用于從彩色圖像中去除噪聲。 (噪音預(yù)計(jì)是高斯噪音)
import numpy as np import cv2 import matplotlib.pyplot as plt img = cv2.imread('img.jpg') dst = cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21) plt.subplot(121),plt.imshow(img) plt.subplot(122),plt.imshow(dst) plt.show()