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

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter()

這篇具有很好參考價(jià)值的文章主要介紹了opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter()。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

方框?yàn)V波(Box Filtering)是一種簡單的圖像平滑處理方法,它主要用于去除圖像中的噪聲和減少細(xì)節(jié),同時(shí)保持圖像的整體亮度分布。

方框?yàn)V波的原理很簡單:對于圖像中的每個(gè)像素,將其周圍的一個(gè)固定大小的鄰域內(nèi)的像素值取平均,然后將這個(gè)平均值賦值給當(dāng)前像素。這個(gè)鄰域通常是一個(gè)正方形,稱為方框或窗口。方框?yàn)V波相當(dāng)于用一個(gè)均值濾波器對圖像進(jìn)行濾波。

與均值濾波的不同在于,方框?yàn)V波不會(huì)計(jì)算像素均值。
在均值濾波中,濾波結(jié)果的像素值是任意一個(gè)點(diǎn)的鄰域平均值,等于各鄰域像素值之和除以鄰域面積。

而在方框?yàn)V波中,可以自由選擇是否對均值濾波的結(jié)果進(jìn)行歸一化,即可以自由選擇濾波結(jié)果是鄰域像素值之和的平均值,還是鄰域像素值之和

我們以 5×5 的鄰域?yàn)槔?,在進(jìn)行方框?yàn)V波時(shí),如果計(jì)算的是鄰域像素值的均值,則濾波關(guān)系如圖 7-15 所示。

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能

仍然以 5×5 的鄰域?yàn)槔谶M(jìn)行方框?yàn)V波時(shí),如果計(jì)算的是鄰域像素值之和,則濾波關(guān)系
如圖 7-16 所示。
opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能

根據(jù)上述關(guān)系,如果計(jì)算的是鄰域像素值的均值,則使用的卷積核為:

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
如果計(jì)算的是鄰域像素值之和,則使用的卷積核為:

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
在 OpenCV 中,實(shí)現(xiàn)方框?yàn)V波的函數(shù)是 cv2.boxFilter(),其語法格式為:

dst = cv2.boxFilter( src, ddepth, ksize, anchor, normalize, borderType
)

式中:
? dst 是返回值,表示進(jìn)行方框?yàn)V波后得到的處理結(jié)果。

? src 是需要處理的圖像,即原始圖像。它能夠有任意數(shù)量的通道,并能對各個(gè)通道獨(dú)立處理。圖像深度應(yīng)該是 CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F 中的一種。

? ddepth 是處理結(jié)果圖像的圖像深度,一般使用-1 表示與原始圖像使用相同的圖像深度。

? ksize 是濾波核的大小。濾波核大小是指在濾波處理過程中所選擇的鄰域圖像的高度和寬度。

例如,濾波核的值可以為(3,3),表示以 3×3 大小的鄰域均值作為圖像均值濾波處理的結(jié)果,如下式所示。

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
? anchor 是錨點(diǎn),其默認(rèn)值是(-1, -1),表示當(dāng)前計(jì)算均值的點(diǎn)位于核的中心點(diǎn)位置。
該值使用默認(rèn)值即可,在特殊情況下可以指定不同的點(diǎn)作為錨點(diǎn)。

? normalize 表示在濾波時(shí)是否進(jìn)行歸一化(這里指將計(jì)算結(jié)果規(guī)范化為當(dāng)前像素值范圍內(nèi)的值)處理,該參數(shù)是一個(gè)邏輯值,可能為真(值為 1)或假(值為 0)。

? 當(dāng)參數(shù) normalize=1 時(shí),表示要進(jìn)行歸一化處理,要用鄰域像素值的和除以面積。
? 當(dāng)參數(shù) normalize=0 時(shí),表示不需要進(jìn)行歸一化處理,直接使用鄰域像素值的和。

通常情況下,針對方框?yàn)V波,卷積核可以表示為:
opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
上述對應(yīng)關(guān)系為:

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
例如,針對 5×5 鄰域,當(dāng)參數(shù) normalize=1 時(shí),要進(jìn)行歸一化處理,此時(shí)計(jì)算的就是均值濾波。
這種情況下,函數(shù) cv2.boxFilter()和函數(shù) cv2.blur()的作用是一樣的。

此時(shí),對應(yīng)的卷積核為:

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
同樣針對 5×5 鄰域,當(dāng)參數(shù) normalize=0 時(shí),不進(jìn)行歸一化處理,此時(shí)濾波計(jì)算的是鄰域像素值之和,使用的卷積核是:

opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能
當(dāng) normalize=0 時(shí),因?yàn)椴贿M(jìn)行歸一化處理,因此濾波得到的值很可能超過當(dāng)前像素值范圍的最大值,從而被截?cái)酁樽畲笾怠?/p>

這樣,就會(huì)得到一幅純白色的圖像。

? borderType 是邊界樣式,該值決定了以何種方式處理邊界。

通常情況下,在使用方框?yàn)V波函數(shù)時(shí),對于參數(shù) anchor、normalize 和 borderType,直接采
用其默認(rèn)值即可。因此,函數(shù) cv2.boxFilter()的常用形式為:

dst = cv2.boxFilter( src, ddepth, ksize )

實(shí)驗(yàn)1: 針對噪聲圖像,對其進(jìn)行方框?yàn)V波,顯示濾波結(jié)果

代碼如下:

import cv2
o=cv2.imread("lenaNoise.png")
r=cv2.boxFilter(o,-1,(5,5))
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

運(yùn)行結(jié)果:
在本例中,方框?yàn)V波函數(shù)對 normalize 參數(shù)使用了默認(rèn)值。在默認(rèn)情況下,該值為 1,表示要進(jìn)行歸一化處理。也就是說,本例中使用的是 normalize 為默認(rèn)值 True 的 cv2.boxFilter()函數(shù),
此時(shí)它和函數(shù) cv2.blur()的濾波結(jié)果是完全相同的。如圖 所示,左圖是原始圖像,右圖是方框?yàn)V波結(jié)果圖像
opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能

實(shí)驗(yàn)2:針對噪聲圖像,在方框?yàn)V波函數(shù) cv2.boxFilter()內(nèi)將參數(shù) normalize 的值設(shè)置為 0,顯示濾波處理結(jié)果。

代碼如下:

import cv2
o=cv2.imread("lenaNoise.png")
r=cv2.boxFilter(o,-1,(5,5),normalize=0)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

在本例中,沒有對圖像進(jìn)行歸一化處理。在進(jìn)行濾波時(shí),計(jì)算的是 5×5 鄰域的像素值之和,圖像的像素值基本都會(huì)超過當(dāng)前像素值的最大值 255。因此,最后得到的圖像接近純白色,部分點(diǎn)處有顏色。部分點(diǎn)有顏色是因?yàn)檫@些點(diǎn)周邊鄰域的像素值均較小,鄰域像素值在相加后仍然小于 255。

此時(shí)的圖像濾波結(jié)果如圖所示,左圖是原始圖像,右圖是方框?yàn)V波后得到的處理結(jié)果
opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能

實(shí)驗(yàn)3:針對噪聲圖像,使用方框?yàn)V波函數(shù) cv2.boxFilter()去噪,將參數(shù) normalize 的值設(shè)置為 0,將卷積核的大小設(shè)置為 2×2,顯示濾波結(jié)果

代碼如下:

import cv2
o=cv2.imread("lenaNoise.png")
r=cv2.boxFilter(o,-1,(2,2),normalize=0)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

在本例中,卷積核大小為 2×2,參數(shù) normalize=0。因此,本例中方框?yàn)V波計(jì)算的是 2×2鄰域的像素值之和,四個(gè)像素值的和不一定大于 255,因此在計(jì)算結(jié)果圖像中有部分像素點(diǎn)不是白色。如圖 所示,左圖是原始圖像,右圖是方框?yàn)V波處理結(jié)果。
opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter(),計(jì)算機(jī)視覺,opencv,opencv,計(jì)算機(jī)視覺,人工智能文章來源地址http://www.zghlxwxcb.cn/news/detail-631034.html

到了這里,關(guān)于opencv 31-圖像平滑處理-方框?yàn)V波cv2.boxFilter()的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

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

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

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

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

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

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

    2024年02月06日
    瀏覽(24)
  • Opencv之圖像濾波:6.雙邊濾波(cv2.bilateralFilter)

    Opencv之圖像濾波:6.雙邊濾波(cv2.bilateralFilter)

    ????????前面我們介紹的濾波方法都會(huì)對圖像造成模糊,使得邊緣信息變?nèi)趸蛘呦?,因此需要一種能夠?qū)D像邊緣信息進(jìn)行保留的濾波算法,雙邊濾波是綜合考慮空間信息和色彩信息的濾波方式,在濾波過程中能夠有效地保護(hù) 圖像內(nèi)的邊緣信息。 ????????之前介紹的

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

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

    ? ? ? ? 寫這些博客主要是記錄自己學(xué)習(xí)Opencv的過程,也希望能幫助到大家。 ???????? ????????在OpenCV中,允許用戶自定義卷積核實(shí)現(xiàn)卷積操作,使用自定義卷積核實(shí)現(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 圖像平滑之均值平滑(濾波)

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

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

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

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

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

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

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

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

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

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

    2024年02月13日
    瀏覽(23)
  • 我在Vscode學(xué)OpenCV 圖像處理四(輪廓查找 cv2.findContours() cv2.drawContours())-- 待補(bǔ)充

    我在Vscode學(xué)OpenCV 圖像處理四(輪廓查找 cv2.findContours() cv2.drawContours())-- 待補(bǔ)充

    在OpenCV中,邊緣檢測和輪廓查找是兩個(gè)不同的圖像處理任務(wù),它們有不同的目標(biāo)和應(yīng)用。 1.1.1 邊緣檢測: 定義: 邊緣檢測是指尋找圖像中灰度級(jí)別變化明顯的地方,即圖像中物體之間的界限。這些變化通常表示圖像中的邊緣或輪廓。 方法: 常用的邊緣檢測算法包括Sobel、

    2024年02月03日
    瀏覽(93)
  • 【OpenCV-Python】:基于均值、中值、方框、雙邊和高斯濾波的圖像去噪

    【OpenCV-Python】:基于均值、中值、方框、雙邊和高斯濾波的圖像去噪

    ?博客主頁:王樂予?? ?年輕人要:Living for the moment(活在當(dāng)下)!?? ??推薦專欄:【圖像處理】【千錘百煉Python】【深度學(xué)習(xí)】【排序算法】 本節(jié)將對經(jīng)過噪聲污染的圖像進(jìn)行去噪,去噪方法包含 均值濾波、中值濾波、方框?yàn)V波、雙邊濾波和高斯濾波 。 實(shí)驗(yàn)所用的圖

    2024年02月05日
    瀏覽(96)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包