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

圖像處理:均值濾波算法

這篇具有很好參考價(jià)值的文章主要介紹了圖像處理:均值濾波算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

前言

概念介紹

基本原理

Opencv實(shí)現(xiàn)均值濾波

Python手寫(xiě)實(shí)現(xiàn)均值濾波

參考文章


前言

在此之前,我曾在此篇中推導(dǎo)過(guò)圖像處理:推導(dǎo)五種濾波算法(均值、中值、高斯、雙邊、引導(dǎo))。這在此基礎(chǔ)上,我想更深入地研究和推導(dǎo)這些算法,以便為將來(lái)處理圖像的項(xiàng)目打下基礎(chǔ)。

概念介紹

均值濾波是一種簡(jiǎn)單的圖像平滑處理方法,其基本思想是用像素點(diǎn)周圍的鄰域像素的平均值來(lái)代替該像素的值。在圖像處理中,均值濾波可以用于去除圖像中的噪聲,使圖像變得更加平滑。它的計(jì)算簡(jiǎn)單易懂,但在濾波過(guò)程中可能會(huì)導(dǎo)致圖像細(xì)節(jié)的損失。因此,在實(shí)際應(yīng)用中,需要根據(jù)具體的情況選擇適合的濾波算法。

基本原理

我們以5x5大小為例,均值濾波的原理只需要理解到,它其實(shí)是將這個(gè)范圍內(nèi)的25個(gè)值進(jìn)行求和的平均值,以這個(gè)新值來(lái)代替這個(gè)區(qū)域的中心值。

配合這里的圖進(jìn)行理解:

圖像處理:均值濾波算法

?右圖是經(jīng)過(guò)左圖進(jìn)行均值變換后的值。

print((197+25+106+156+159+149+40+107+17+71+163+198+226+223+156+222+37+68+193+157+42+72+250+41+75)/25)

運(yùn)行之后,獲得新值126,覆蓋掉中心值得像素226。

對(duì)于邊緣像素,只僅僅計(jì)算在這個(gè)范圍內(nèi)得數(shù)值。

圖像處理:均值濾波算法

假如,左上角為中心值,而其左邊和上邊都沒(méi)有值,我們只需要計(jì)算在這5x5區(qū)域內(nèi)有的值就可以了。

計(jì)算如下:

print((23+0+25+158+140+238+67+199+197)/9)

得出新值為116,替換中心點(diǎn)23的值。

Opencv實(shí)現(xiàn)均值濾波

def blur(src, ksize, dst=None, anchor=None, borderType=None):

在OpenCV中,我們可以使用cv2.blur()函數(shù)來(lái)實(shí)現(xiàn)均值濾波。在使用該函數(shù)時(shí),我們需要輸入原始圖像、濾波核的大小以及邊界樣式等參數(shù)。一般情況下,我們可以直接采用函數(shù)默認(rèn)值即可。

這里我拿的是我個(gè)人的一個(gè)使用情況來(lái)看待的,像錨點(diǎn),邊界樣式這種,我基本上沒(méi)有遇到要修改的情況,現(xiàn)在我們來(lái)看看濾波核的大小對(duì)圖片的影響。

import cv2
import pyps.pyzjr.utility as zjr

path = 'Images/Colnoiselena.jpg'
img = cv2.imread(path)
imgAverage_1 = cv2.blur(img, (1, 1))
imgAverage_3 = cv2.blur(img, (3, 3))
imgAverage_5 = cv2.blur(img, (5, 5))
imgAverage_7 = cv2.blur(img, (7, 7))
imgStack = zjr.stackImages(0.6, ([imgAverage_1, imgAverage_3], [imgAverage_5, imgAverage_7]))
cv2.imshow("imges",imgStack)
cv2.waitKey(0)

實(shí)現(xiàn)效果:

圖像處理:均值濾波算法

經(jīng)典的lena的圖片,可以看到,隨著濾波核的大小逐漸增加,去噪效果越好,但相應(yīng)的圖片會(huì)變的模糊,計(jì)算時(shí)間會(huì)增長(zhǎng)。所以,還是應(yīng)了我開(kāi)頭就說(shuō)過(guò)的話,在實(shí)際處理中,選擇合適的濾波核大小,讓模糊與去噪效果之間取得平衡。

pyps并不是什么第三方庫(kù),只是我集成在一起的函數(shù)文件,你無(wú)需在意。

Python手寫(xiě)實(shí)現(xiàn)均值濾波

import cv2
import numpy as np
import pyps.pyzjr.utility as zjr

path = 'Images/Colnoiselena.jpg'
img = cv2.imread(path)

def Arerage_Filtering(img, k_size=3):
    if k_size % 2 == 0:
        k_size += 1
    rows, cols = img.shape[:2]
    pad_width = (k_size - 1) // 2
    img_pad = cv2.copyMakeBorder(img, pad_width, pad_width, pad_width, pad_width, cv2.BORDER_REPLICATE)
    img_filter = np.zeros_like(img)
    for i in range(rows):
        for j in range(cols):
            pixel_values = img_pad[i:i+k_size, j:j+k_size].flatten()
            img_filter[i, j] = np.mean(pixel_values)

    return img_filter

imgAverage_1 = Arerage_Filtering(img,k_size=1)
imgAverage_3 = Arerage_Filtering(img,k_size=3)
imgAverage_5 = Arerage_Filtering(img,k_size=5)
imgAverage_7 = Arerage_Filtering(img,k_size=7)
imgStack = zjr.stackImages(0.6, ([imgAverage_1, imgAverage_3], [imgAverage_5, imgAverage_7]))
cv2.imshow("imges",imgStack)
cv2.waitKey(0)
cv2.destroyAllWindows()

圖像處理:均值濾波算法

這個(gè)算法相對(duì)來(lái)說(shuō)比較容易實(shí)現(xiàn),但是相比調(diào)用OpenCV的函數(shù),它的計(jì)算時(shí)間要長(zhǎng)很多,而且我這里還只考慮了圖像的兩個(gè)通道,最終輸出的結(jié)果是灰度圖的情況下。

下面是這個(gè)函數(shù)的具體實(shí)現(xiàn)過(guò)程:

  1. 首先,判斷卷積核的大小是否為奇數(shù),如果為偶數(shù),則將其加1,確保其大小為奇數(shù)。
  2. 獲取圖像的行數(shù)和列數(shù)。
  3. 計(jì)算填充的寬度,即卷積核寬度的一半,用于處理圖像邊緣。
  4. 使用cv2.copyMakeBorder函數(shù)進(jìn)行邊緣填充,將圖像的邊緣復(fù)制并填充到周圍,以防止邊緣像素點(diǎn)無(wú)法進(jìn)行卷積。
  5. 初始化一個(gè)和原始圖像大小一樣的零矩陣。
  6. 遍歷圖像中的每一個(gè)像素點(diǎn),計(jì)算該像素點(diǎn)周圍鄰域內(nèi)的像素值,并求取其平均值,然后將其賦值給零矩陣中的對(duì)應(yīng)像素點(diǎn)。
  7. 返回處理后的圖像。

最后,函數(shù)通過(guò)stackImages函數(shù)將處理后的四張圖像以2x2的網(wǎng)格形式拼接成一張圖像,并展示結(jié)果。

參考文章

(6條消息) 圖像處理:推導(dǎo)五種濾波算法(均值、中值、高斯、雙邊、引導(dǎo))_高斯濾波,均值濾波,中值濾波_夏天是冰紅茶的博客-CSDN博客

(6條消息) 均值濾波(Mean filtering)_半濠春水的博客-CSDN博客

(7條消息) Opencv之圖像濾波:2.均值濾波(cv2.blur)_Justth.的博客-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-422844.html

到了這里,關(guān)于圖像處理:均值濾波算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【C++】【圖像處理】均值濾波 and 高斯濾波 and 中值濾波 (低通濾波器)and Sobel算子邊緣提取算法解析(以.raw格式的圖像為基礎(chǔ)進(jìn)行圖像處理、gray levels:256)

    ?中值濾波: 中值濾波中的MidValueFind函數(shù)的實(shí)現(xiàn)就是冒泡排序,最后去中間值返回: ?Soble算子邊緣提取: ? ? 總結(jié): 1、均值、高斯濾波和Sobel算子邊緣提取的核心,創(chuàng)建卷積核并確定各個(gè)點(diǎn)上的權(quán)重,然后將邊緣灰度級(jí)歸零(是否邊緣歸零按業(yè)務(wù)需求決定),提取非邊緣像

    2024年02月05日
    瀏覽(26)
  • 數(shù)字圖像處理(七)均值濾波

    數(shù)字圖像處理(七)均值濾波

    題目:使用均值濾波器對(duì)圖像進(jìn)行濾波。 采用國(guó)際標(biāo)準(zhǔn)測(cè)試圖像Lena。 3*3的均值濾波器定義如下: c++代碼: 結(jié)果展示: 均值濾波器的特點(diǎn): 計(jì)算均值會(huì)將圖像中的邊緣信息和特征信息模糊掉,丟失很多特征,使得景物的清晰度降低,畫(huà)面變得模糊。對(duì)于高斯噪聲,當(dāng)濾波器

    2024年02月11日
    瀏覽(22)
  • Matlab圖像處理-均值濾波

    Matlab圖像處理-均值濾波

    均值濾波 均值濾波所使用的運(yùn)算是卷積。均值濾波用鄰域內(nèi)像素的平均值來(lái)代替中心像素的值,相當(dāng)于低通濾波,有將圖像模糊化的趨勢(shì),對(duì)椒鹽噪聲基本無(wú)能為力。 在 MATLAB 中,可使用 imfilter 函數(shù) 來(lái)實(shí)現(xiàn)線性空間濾波,該函數(shù)的語(yǔ)法如下 : J = imfilter ( I,w,filtering_mode,bound

    2024年02月06日
    瀏覽(31)
  • ZYNQ圖像處理(6)——均值濾波和中值濾波

    ZYNQ圖像處理(6)——均值濾波和中值濾波

    首先要做的是最簡(jiǎn)單的均值濾波算法。均值濾波是典型的線性濾波算法,它是指在圖像上對(duì)目標(biāo)像素給一個(gè)模板,該模板包括了其周圍的臨近像素(以目標(biāo)象素為中心的周圍 8 個(gè)像素,構(gòu)成一個(gè)濾波模板,即去掉目標(biāo)像素本身),再用模板中的全體像素的平均值來(lái)代替原來(lái)像

    2024年02月08日
    瀏覽(96)
  • python --opencv圖像處理濾波詳解(均值濾波、2D 圖像卷積、方框?yàn)V波、 高斯濾波、中值濾波、雙邊濾波)

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

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

    2024年02月04日
    瀏覽(96)
  • 圖像處理中調(diào)用matlab自帶均值濾波、高斯濾波和中值濾波函數(shù)的案例以及自編均值濾波的案例。

    圖像處理中調(diào)用matlab自帶均值濾波、高斯濾波和中值濾波函數(shù)的案例以及自編均值濾波的案例。

    @[TOC](利用matlab自帶均值濾波器的代碼,分別對(duì)一幅圖像實(shí)現(xiàn)3*3,5*5,7*7,9*9的均值濾波,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。) @[TOC](分別給干凈圖像添加高斯和椒鹽噪聲,然后進(jìn)行均值濾波、高斯濾波和中值濾波,并對(duì)實(shí)現(xiàn)結(jié)果進(jìn)行分析。) @[TOC](自編均值濾波器對(duì)一幅圖像實(shí)現(xiàn)填充后,

    2024年02月11日
    瀏覽(21)
  • FPGA圖像處理仿真實(shí)驗(yàn)——均值濾波(FIFO)

    FPGA圖像處理仿真實(shí)驗(yàn)——均值濾波(FIFO)

    ????????之前的博客中用shift ram做的均值濾波,那篇文章里講了原理,在這里不進(jìn)行重復(fù)??紤]到shift ram的深度有限,在處理高分辨率圖片時(shí)可能會(huì)收到限制,所以這次采用FIFO來(lái)進(jìn)行均值濾波。FIFO可以看成是一個(gè)先進(jìn)先出的堆棧,有兩個(gè)獨(dú)立的讀使能信號(hào)和寫(xiě)使能信號(hào),

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

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

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

    2024年02月04日
    瀏覽(27)
  • opencv 30 -圖像平滑處理01-均值濾波 cv2.blur()

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

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

    2024年02月01日
    瀏覽(88)
  • 圖像平滑處理-卷積函數(shù)filter2D詳解及均值濾波案例

    圖像平滑處理-卷積函數(shù)filter2D詳解及均值濾波案例 圖像處理是計(jì)算機(jī)視覺(jué)中的重要分支。在圖像處理中,平滑濾波是一項(xiàng)基本任務(wù)。平滑濾波可以消除圖像中的噪聲和細(xì)節(jié),使其更加平滑和清晰。OpenCV-Python是一個(gè)常用的圖像處理庫(kù),它提供了各種圖像處理函數(shù)和算法。這里

    2024年02月05日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包