国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter()

這篇具有很好參考價值的文章主要介紹了opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter()。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

雙邊濾波(BilateralFiltering)是一種圖像處理濾波技術,用于平滑圖像并同時保留邊緣信息。與其他傳統(tǒng)的線性濾波方法不同,雙邊濾波在考慮像素之間的空間距離之外,還考慮了像素之間的灰度值相似性。這使得雙邊濾波能夠有效地去除噪聲,同時保持圖像的細節(jié)和邊緣。

雙邊濾波的核心思想是使用一個滑動窗口(卷積核)在圖像上移動,并計算窗口中像素的加權平均值來替代中心像素的值。這里的權重包括兩個部分:一個是空間權重,根據(jù)像素之間的空間距離計算;另一個是灰度值權重,根據(jù)像素之間的灰度值相似性計算。空間權重用于保持邊緣信息,而灰度值權重用于平滑圖像。

在雙邊濾波中,窗口的大小和兩個權重的參數(shù)是需要設置的超參數(shù),它們會影響濾波效果。較大的窗口大小和權重參數(shù)可以保留更多的圖像細節(jié),但也會導致計算復雜度增加。

基本原理

前述濾波方式基本都只考慮了空間的權重信息,這種情況計算起來比較方便,但是在邊緣信息的處理上存在較大的問題。

例如,在圖 7-30 中,圖像左側是黑色,右側是白色,中間是很明顯的邊緣。

opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter(),opencv,計算機視覺,opencv,計算機視覺,人工智能
在均值濾波、方框濾波、高斯濾波中,都會計算邊緣上各個像素點的加權平均值,從而模糊邊緣信息。

如圖 7-31 所示是高斯濾波處理的結果圖像。

opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter(),opencv,計算機視覺,opencv,計算機視覺,人工智能
從圖 7-31 可以看到,經(jīng)過高斯濾波處理后,邊緣信息變得很模糊,均值濾波處理也會造成類似的問題。邊界模糊是濾波處理過程中對鄰域像素取均值所造成的結果,上述濾波處理過程單純地考慮空間信息,造成了邊界模糊和部分信息的丟失。

雙邊濾波在計算某一個像素點的新值時,不僅考慮距離信息(距離越遠,權重越?。?,還考慮色彩信息(色彩差別越大,權重越?。kp邊濾波綜合考慮距離和色彩的權重結果,既能夠有效地去除噪聲,又能夠較好地保護邊緣信息。

在雙邊濾波中,當處在邊緣時,與當前點色彩相近的像素點(顏色距離很近)會被給予較大的權重值;而與當前色彩差別較大的像素點(顏色距離很遠)會被給予較小的權重值(極端情況下權重可能為 0,直接忽略該點),這樣就保護了邊緣信息。

例如,在圖 7-32 中:

  1. 圖(a)是原始圖像,左側區(qū)域是白色(像素值為 255),右側區(qū)域是黑色(像素值為 0)。
  2. 圖(b)是進行均值濾波的可能結果。在進行均值濾波時,僅僅考慮空間信息,此時左右兩側的像素的處理結果是綜合考慮周邊元素像素值,并對它們取均值得到的。
  3. 圖?是進行雙邊濾波的可能結果。在進行雙邊濾波時,不僅考慮空間信息,還考慮色彩差別信息

opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter(),opencv,計算機視覺,opencv,計算機視覺,人工智能
在雙邊濾波中,在計算左側白色區(qū)域邊緣點的濾波結果時:

  1. 對于白色的點,給予的權重較大。

  2. 對于黑色的點,由于色彩差異較大,顏色距離很遠(注意,不是像素點之間的物理距離,而是顏色值的距離。像素點的值分別是 0 和 255,差別很大,所以說它們顏色距離很遠),因此可以將它們的權重設置為 0。

這樣,在計算左側白色邊緣濾波結果時,得到的仍然是白色。因此,雙邊濾波后,左側邊緣得到保留。

在計算右側黑色區(qū)域邊緣點的濾波結果時:

  1. 對于黑色的點,給予的權重較大。

  2. 對于白色的點,由于色彩差異較大,顏色距離很遠,因此可以將它們的權重設置為 0。

這樣,在計算右側黑色邊緣濾波結果時,得到的仍然是黑色。因此,雙邊濾波后,左側邊緣得到保留。

cv2.bilateralFilter() 函數(shù)說明

在 OpenCV 中,實現(xiàn)雙邊濾波的函數(shù)是 cv2.bilateralFilter(),該函數(shù)的語法是:

dst = cv2.bilateralFilter( src, d, sigmaColor, sigmaSpace, borderType )

式中:

  1. dst 是返回值,表示進行雙邊濾波后得到的處理結果。
  2. src 是需要處理的圖像,即原始圖像。它能夠有任意數(shù)量的通道,并能對各個通道獨立
    處理。圖像深度應該是 CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F 中的一種。
  3. d 是在濾波時選取的空間距離參數(shù),這里表示以當前像素點為中心點的直徑。如果該值為非正數(shù),則會自動從參數(shù) sigmaSpace 計算得到。如果濾波空間較大(d>5),則速度較慢。因此,在實時應用中,推薦 d=5。對于較大噪聲的離線濾波,可以選擇 d=9。
  4. sigmaColor 是濾波處理時選取的顏色差值范圍,該值決定了周圍哪些像素點能夠參與到濾波中來。與當前像素點的像素值差值小于 sigmaColor 的像素點,能夠參與到當前的濾波中。該值越大,就說明周圍有越多的像素點可以參與到運算中。該值為 0 時,濾波失去意義;該值為 255 時,指定直徑內的所有點都能夠參與運算。
  5. sigmaSpace 是坐標空間中的 sigma 值。它的值越大,說明有越多的點能夠參與到濾波計算中來。當 d>0 時,無論 sigmaSpace 的值如何,d 都指定鄰域大小;否則,d 與 sigmaSpace的值成比例。
  6. borderType 是邊界樣式,該值決定了以何種方式處理邊界。一般情況下,不需要考慮該值,直接采用默認值即可。

為了簡單起見,可以將兩個 sigma(sigmaColor 和 sigmaSpace)值設置為相同的。如果它們的值比較?。ɡ缧∮?br> 10),濾波的效果將不太明顯;如果它們的值較大(例如大于 150),則濾波效果會比較明顯,會產(chǎn)生卡通效果。在函數(shù)
cv2.bilateralFilter()中,參數(shù) borderType 是可選參數(shù),其余參數(shù)全部為必選參數(shù)。

實驗:針對噪聲圖像,對其進行雙邊濾波,顯示濾波的結果。

代碼如下:

import cv2
o=cv2.imread("lenaNoise.png")
r=cv2.bilateralFilter(o,25,100,100)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter(),opencv,計算機視覺,opencv,計算機視覺,人工智能
其中左圖是原始圖像,右圖是雙邊濾波的結果圖像。從
圖中可以看出,雙邊濾波去除噪聲的效果并不好。文章來源地址http://www.zghlxwxcb.cn/news/detail-624504.html

到了這里,關于opencv-34 圖像平滑處理-雙邊濾波cv2.bilateralFilter()的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • opencv 30 -圖像平滑處理01-均值濾波 cv2.blur()

    opencv 30 -圖像平滑處理01-均值濾波 cv2.blur()

    圖像平滑處理(Image Smoothing)是一種圖像處理技術,旨在減少圖像中的噪聲、去除細節(jié)并平滑圖像的過渡部分。這種處理常用于預處理圖像,以便在后續(xù)圖像處理任務中獲得更好的結果。 常用的圖像平滑處理方法包括: 均值濾波(Mean Filtering) :用圖像中像素周圍區(qū)域的平

    2024年02月01日
    瀏覽(88)
  • opencv(15) 圖像平滑處理之二:cv2.GaussianBlur()高斯濾波

    opencv(15) 圖像平滑處理之二:cv2.GaussianBlur()高斯濾波

    高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。 高斯模板是通過對二維高斯函數(shù)進行采樣(高斯模糊的卷積核里的數(shù)值滿足高斯分布)、量化并歸一化得到的,它考慮了鄰域像素位置的影響,距離當前被平滑像素越近的點,加權系數(shù)越大

    2024年02月10日
    瀏覽(97)
  • 【圖像處理OpenCV(C++版)】——5.5 圖像平滑之雙邊濾波

    【圖像處理OpenCV(C++版)】——5.5 圖像平滑之雙邊濾波

    前言 : ?????? 歡迎來到本博客 ?????? ?????? 本專欄主要結合OpenCV和C++來實現(xiàn)一些基本的圖像處理算法并詳細解釋各參數(shù)含義,適用于平時學習、工作快速查詢等,隨時更新。 ?????? 具體食用方式:可以點擊本專欄【OpenCV快速查找(更新中)】–搜索你要查詢的算子

    2024年02月13日
    瀏覽(23)
  • Opencv之圖像濾波:5.中值濾波(cv2.medianBlur)

    Opencv之圖像濾波:5.中值濾波(cv2.medianBlur)

    ????????之前介紹的均值濾波、方框濾波、高斯濾波,都是線性濾波方式。由于線性濾波的結果是所有像素值的線性組合,因此含有噪聲的像素也會被考慮進去,噪聲不會被消除,而是以更柔和的方式存在。這時使用非線性濾波效果可能會更好。中值濾波與前面介紹的濾波

    2024年02月06日
    瀏覽(24)
  • python --opencv圖像處理濾波詳解(均值濾波、2D 圖像卷積、方框濾波、 高斯濾波、中值濾波、雙邊濾波)

    python --opencv圖像處理濾波詳解(均值濾波、2D 圖像卷積、方框濾波、 高斯濾波、中值濾波、雙邊濾波)

    第一件事情還是先做名詞解釋,圖像平滑到底是個啥? 從字面意思理解貌似圖像平滑好像是在說圖像滑動。 emmmmmmmmmmmmmmm。。。。 其實半毛錢關系也沒有,圖像平滑技術通常也被成為圖像濾波技術(這個名字看到可能大家會有點感覺)。 每一幅圖像都包含某種程度的噪聲,

    2024年02月04日
    瀏覽(95)
  • Opencv之圖像濾波:1.圖像卷積(cv2.filter2D)

    Opencv之圖像濾波:1.圖像卷積(cv2.filter2D)

    ? ? ? ? 寫這些博客主要是記錄自己學習Opencv的過程,也希望能幫助到大家。 ???????? ????????在OpenCV中,允許用戶自定義卷積核實現(xiàn)卷積操作,使用自定義卷積核實現(xiàn)卷積操作的函數(shù)是cv2.filter2D(),其語法格式為: ????????dst=cv2.filter2D(src,ddepth,kernel,anchor,d

    2023年04月08日
    瀏覽(24)
  • 【圖像處理OpenCV(C++版)】——5.3 圖像平滑之均值平滑(濾波)

    【圖像處理OpenCV(C++版)】——5.3 圖像平滑之均值平滑(濾波)

    前言 : ?????? 歡迎來到本博客 ?????? ?????? 本專欄主要結合OpenCV和C++來實現(xiàn)一些基本的圖像處理算法并詳細解釋各參數(shù)含義,適用于平時學習、工作快速查詢等,隨時更新。 ?????? 具體食用方式:可以點擊本專欄【OpenCV快速查找(更新中)】–搜索你要查詢的算子

    2024年02月04日
    瀏覽(27)
  • 【圖像處理OpenCV(C++版)】——5.4 圖像平滑之中值平滑(濾波)

    【圖像處理OpenCV(C++版)】——5.4 圖像平滑之中值平滑(濾波)

    前言 : ?????? 歡迎來到本博客 ?????? ?????? 本專欄主要結合OpenCV和C++來實現(xiàn)一些基本的圖像處理算法并詳細解釋各參數(shù)含義,適用于平時學習、工作快速查詢等,隨時更新。 ?????? 具體食用方式:可以點擊本專欄【OpenCV快速查找(更新中)】–搜索你要查詢的算子

    2024年02月10日
    瀏覽(88)
  • Opencv-C++筆記 (13) : opencv-圖像卷積一(均值、中值、高斯、雙邊濾波)與 邊緣處理

    Opencv-C++筆記 (13) : opencv-圖像卷積一(均值、中值、高斯、雙邊濾波)與 邊緣處理

    頭文件 quick_opencv.h:聲明類與公共函數(shù) 主函數(shù)調用 src:輸入圖像 。 dst:輸出圖像 。 ksize:內核大小 ,一般用 Size(w,h),w 為寬度,h 為深度。 anchor:被平滑的點,表示取 內核中心 ,默認值 Point(-1,-1)。 boderType:推斷圖像外部像素的某種邊界模式。默認值 BORDER_DEFAULT 目的:

    2024年02月16日
    瀏覽(920)
  • 【OpenCV ? c++】圖像平滑處理(1) —— 線性濾波

    【OpenCV ? c++】圖像平滑處理(1) —— 線性濾波

    ??平滑處理也稱為模糊處理,是一種簡單且使用頻率很高的圖像處理方法,平滑處理的用途有很多,最常見的是用來減少圖像上的噪點或者失真。在涉及到降低圖像分辨率時,平滑處理是非常好用的方法。 ??圖像濾波指的是在盡量保留圖像細節(jié)特征的條件下對圖像的噪音

    2024年03月20日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包