二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁(yè) » 企資頭條 » 知識(shí) » 正文

        Python從零到壹丨詳解為什么像平滑的兩種非線姓

        放大字體  縮小字體 發(fā)布日期:2023-03-14 10:27:55    作者:百里滟倪    瀏覽次數(shù):81
        導(dǎo)讀

        感謝分享自華為云社區(qū)《[Python從零到壹] 五十六.圖像增強(qiáng)及運(yùn)算篇之圖像平滑(中值濾波、雙邊濾波)》,感謝作者分享: eastmount 。原文詳情:感謝分享bbs.huaweicloud感謝原創(chuàng)分享者/blogs/386509?utm_source=jue

        感謝分享自華為云社區(qū)《[Python從零到壹] 五十六.圖像增強(qiáng)及運(yùn)算篇之圖像平滑(中值濾波、雙邊濾波)》,感謝作者分享: eastmount 。

        原文詳情:感謝分享bbs.huaweicloud感謝原創(chuàng)分享者/blogs/386509?utm_source=juejin&utm_medium=bbs-ex&utm_campaign=other&utm_content=content

        一.中值濾波

        前面講述得都是線性平滑濾波,它們得中間像素值都是由鄰域像素值線性加權(quán)得到得,接下來(lái)將講解一種非線性平滑濾波——中值濾波。中值濾波通過(guò)計(jì)算每一個(gè)像素點(diǎn)某鄰域范圍內(nèi)所有像素點(diǎn)灰度值得中值,來(lái)替換該像素點(diǎn)得灰度值,從而讓周圍得像素值更接近真實(shí)情況,消除孤立得噪聲。

        中值濾波對(duì)脈沖噪聲有良好得濾除作用,特別是在濾除噪聲得同時(shí),能夠保護(hù)圖像得邊緣和細(xì)節(jié),使之不被模糊處理,這些優(yōu)良特性是線性濾波方法所不具有得,從而使其常常被應(yīng)用于消除圖像中得椒鹽噪聲[1-2]。

        中值濾波算法得計(jì)算過(guò)程如圖1所示。選擇含有五個(gè)點(diǎn)得窗口,依次掃描該窗口中得像素,每個(gè)像素點(diǎn)所對(duì)應(yīng)得灰度值按照升序或降序排列,然后獲取最中間得值來(lái)替換該點(diǎn)得灰度值。

        上圖展示得是矩形窗口,常用得窗口還包括正方形、十字形、環(huán)形和圓形等,不同形狀得窗口會(huì)帶來(lái)不同得過(guò)濾效果,其中正方形和圓形窗口適合于外輪廓邊緣較長(zhǎng)得圖像,十字形窗口適合于帶尖角形狀得圖像。

        OpenCV將中值濾波封裝在medianBlur()函數(shù)中,其函數(shù)原型如下所示:

      1. dst = medianBlur(src, ksize[, dst])
        – src表示待處理得輸入圖像
        – dst表示輸出圖像,其大小和類型與輸入圖像相同
        – ksize表示內(nèi)核大小,其值必須是大于1得奇數(shù),如3、5、7等

        下面是調(diào)用medianBlur()函數(shù)實(shí)現(xiàn)中值濾波得代碼。

        # -*- coding: utf-8 -*-# By:Eastmountimport cv2 import numpy as np import matplotlib.pyplot as plt#讀取支持img = cv2.imread('lena-zs.png')source = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#中值濾波result = cv2.medianBlur(source, 3)#用來(lái)正常顯示中文標(biāo)簽plt.rcParams['font.sans-serif']=['SimHei']#顯示圖形titles = ['原始圖像', '中值濾波']images = [source, result]for i in range(2): plt.subplot(1,2,i+1), plt.imshow(images[i], 'gray') plt.title(titles[i]) plt.xticks([]),plt.yticks([])plt.show()

        其運(yùn)行結(jié)果如圖2所示,它有效地過(guò)濾掉了“l(fā)ena”圖中得噪聲,并且很好地保護(hù)了圖像得邊緣信息,使之不被模糊處理。

        二.雙邊濾波

        雙邊濾波(Bilateral filter)是由Tomasi和Manduchi在1998年發(fā)明得一種各向異性濾波,它一種非線性得圖像平滑方法,結(jié)合了圖像得空間鄰近度和像素值相似度(即空間域和值域)得一種折中處理,從而達(dá)到保邊去噪得目得。雙邊濾波得優(yōu)勢(shì)是能夠做到邊緣得保護(hù),其他得均值濾波、方框?yàn)V波和高斯濾波在去除噪聲得同時(shí),都會(huì)有較明顯得邊緣模糊,對(duì)于圖像高頻細(xì)節(jié)得保護(hù)效果并不好[3]。

        雙邊濾波比高斯濾波多了一個(gè)高斯方差sigma-d,它是基于空間分布得高斯濾波函數(shù)。所以在圖像邊緣附近,離得較遠(yuǎn)得像素點(diǎn)不會(huì)過(guò)于影響到圖像邊緣上得像素點(diǎn),從而保證了圖像邊緣附近得像素值得以保存。但是雙邊濾波也存在一定得缺陷,由于它保存了過(guò)多得高頻信息,雙邊濾波不能有效地過(guò)濾掉彩色圖像中得高頻噪聲,只能夠?qū)Φ皖l信息進(jìn)行較好地去噪[4]。

        在雙邊濾波器中,輸出得像素值依賴于鄰域像素值得加權(quán)值組合,對(duì)輸入圖像進(jìn)行局部加權(quán)平均得到輸出圖像 得像素值,其公式如下所示:

        式中表示中心點(diǎn)(x,y)得(2N+1)×(2N+1)得領(lǐng)域像素,值依賴于領(lǐng)域像素值得加權(quán)平均。權(quán)重系數(shù)取決于空間域核(domain)和值域核(range)得乘積。空間域核得定義如公式(2)所示。

        值域核得定義如公式(3)所示。

        兩者相乘之后,就會(huì)產(chǎn)生依賴于數(shù)據(jù)得雙邊濾波權(quán)重函數(shù),如下所示:

        從式子(4)可以看出,雙邊濾波器得加權(quán)系數(shù)是空間鄰近度因子和像素亮度相似因子得非線性組合。前者隨著像素點(diǎn)與中心點(diǎn)之間歐幾里德距離得增加而減小,后者隨著像素亮度之差得增大而減小[5-6]。

        在圖像變化平緩得區(qū)域,鄰域內(nèi)亮度值相差不大,雙邊濾波器轉(zhuǎn)化為高斯低通濾波器;在圖像變化劇烈得區(qū)域,鄰域內(nèi)像素亮度值相差較大,濾波器利用邊緣點(diǎn)附近亮度值相近得像素點(diǎn)得亮度平均值替代原亮度值。因此,雙邊濾波器既平滑了圖像,又保持了圖像邊緣,其原理圖如圖3所示。

        OpenCV將中值濾波封裝在bilateralFilter()函數(shù)中,其函數(shù)原型如下所示:

      2. dst = bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]])
        – src表示待處理得輸入圖像
        – dst表示輸出圖像,其大小和類型與輸入圖像相同
        – d表示在過(guò)濾期間使用得每個(gè)像素鄰域得直徑。如果這個(gè)值我們?cè)O(shè)其為非正數(shù),則它會(huì)由sigmaSpace計(jì)算得出
        – sigmaColor表示顏色空間得標(biāo)準(zhǔn)方差。該值越大,表明像素鄰域內(nèi)較遠(yuǎn)得顏色會(huì)混合在一起,從而產(chǎn)生更大面積得半相等顏色區(qū)域
        – sigmaSpace表示坐標(biāo)空間得標(biāo)準(zhǔn)方差。該值越大,表明像素得顏色足夠接近,從而使得越遠(yuǎn)得像素會(huì)相互影響,更大得區(qū)域中相似得顏色獲取相同得顏色,當(dāng)d>0,d指定了鄰域大小且與sigmaSpace無(wú)關(guān)。否則,d正比于sigmaSpace
        – borderType表示邊框模式,用于推斷圖像外部像素得某種邊界模式,默認(rèn)值為BORDER_DEFAULT,可省略

        下面是調(diào)用bilateralFilter()函數(shù)實(shí)現(xiàn)雙邊濾波得代碼,其中d為15,sigmaColor設(shè)置為150,sigmaSpace設(shè)置為150。

        # -*- coding: utf-8 -*-# By:Eastmountimport cv2 import numpy as np import matplotlib.pyplot as plt #讀取支持img = cv2.imread('lena-zs.png')source = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #雙邊濾波result = cv2.bilateralFilter(source, 15, 150, 150)#用來(lái)正常顯示中文標(biāo)簽plt.rcParams['font.sans-serif']=['SimHei']#顯示圖形titles = ['原始圖像', '雙邊濾波'] images = [source, result]for i in range(2): plt.subplot(1,2,i+1), plt.imshow(images[i], 'gray') plt.title(titles[i]) plt.xticks([]),plt.yticks([])plt.show()

        其運(yùn)行結(jié)果如圖4所示:

        三.總結(jié)

        感謝主要講解了常用于消除噪聲得圖像平滑方法,常見(jiàn)方法包括三種線性濾波(均值濾波、方框?yàn)V波、高斯濾波)和兩種非線性濾波(中值濾波、雙邊濾波)。這篇文章介紹了中值濾波和雙邊濾波,通過(guò)原理和代碼進(jìn)行對(duì)比,分別講述了各種濾波方法得優(yōu)缺點(diǎn),有效地消除了圖像得噪聲,并保留圖像得邊緣輪廓。

        參考文獻(xiàn):

      3. [1] 岡薩雷斯著,阮秋琦譯. 數(shù)字圖像處理(第3版)[M]. 北京:電子工業(yè)出版社,2013.
      4. [2] 阮秋琦. 數(shù)字圖像處理學(xué)(第3版)[M]. 北京:電子工業(yè)出版社,2008.
      5. [3] 陳初俠. 圖像濾波及邊緣檢測(cè)與增強(qiáng)技術(shù)研究[D].合肥工業(yè)大學(xué), 2009.
      6. [4] Eastmount. [Python圖像處理] 四.圖像平滑之均值濾波、方框?yàn)V波、高斯濾波及中值濾波[EB/OL]. (2018-09-02). 感謝分享blog.csdn感謝原創(chuàng)分享者/Eastmount/article/details/82216380.
      7. [5] Eastmount. [數(shù)字圖像處理] 七.MFC圖像增強(qiáng)之圖像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt銳化詳解[EB/OL]. (2015-06-08). 感謝分享blog.csdn感謝原創(chuàng)分享者/eastmount/article/ details/46378783.
      8. [6] 毛星云. [OpenCV入門教程之九] 非線性濾波專場(chǎng):中值濾波、雙邊濾波[EB/OL]. (2014-04-08). 感謝分享blog.csdn感謝原創(chuàng)分享者/poem_qianmo/article/details/23184547.
      9. [7] C. Tomasi, R Manduchi. Bilateral Filtering for Gray and Color images[C]. Proceedings of the IEEE International Conference on Computer Vision, Bombay, India. 1998:839-846.

        感謝對(duì)創(chuàng)作者的支持#華為云開發(fā)者聯(lián)盟#,第壹時(shí)間了解華為云新鮮技術(shù)~

      10.  
        (文/百里滟倪)
        打賞
        免責(zé)聲明
        本文為百里滟倪推薦作品?作者: 百里滟倪。歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明原文出處:http://www.sneakeraddict.net/news/show-327706.html 。本文僅代表作者個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2023 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

        粵ICP備16078936號(hào)

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號(hào): weishitui

        客服001 客服002 客服003

        工作時(shí)間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        无码国模国产在线无码精品国产自在久国产 | 亚洲av永久无码精品古装片| 亚洲日韩精品一区二区三区无码| 久久久久久国产精品无码超碰| 亚洲Aⅴ无码一区二区二三区软件 亚洲?V无码乱码国产精品 | 中文字幕免费不卡二区| 亚洲精品97久久中文字幕无码| 亚洲av日韩av高潮潮喷无码| 忘忧草在线社区WWW中国中文| 国产丰满乱子伦无码专区| 免费A级毛片无码无遮挡 | 欧洲成人午夜精品无码区久久| 日韩中文字幕免费视频| 无码成人一区二区| 中文字幕视频一区| 久久久久久无码国产精品中文字幕| 欧美日韩国产中文精品字幕自在自线| 日韩乱码人妻无码中文字幕| 中文字幕视频免费| 无码人妻精品一区二区蜜桃百度 | 日韩人妻无码一区二区三区综合部 | 18禁免费无码无遮挡不卡网站 | 日韩爆乳一区二区无码| 亚洲精品一级无码中文字幕| 久久久久亚洲?V成人无码| 亚洲精品无码不卡在线播HE| 亚洲激情中文字幕| 亚洲AV永久无码一区二区三区| 八戒理论片午影院无码爱恋| а天堂中文最新版在线| 久久久精品无码专区不卡| 亚洲AV成人无码久久精品老人| 亚洲日韩中文字幕日韩在线| 日韩一本之道一区中文字幕| 国产精品无码国模私拍视频| 亚洲av无码一区二区三区四区| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 在线播放无码后入内射少妇| 线中文在线资源 官网| 人妻无码αv中文字幕久久 | 97无码免费人妻超|