麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

opencv 線性鄰域濾波專場:方框濾波、均值濾波與高斯濾波

2019-11-11 04:56:46
字體:
來源:轉載
供稿:網友

本篇文章中,我們一起仔細探討了OpenCV圖像處理技術中比較熱門的圖像濾波操作。圖像濾波系列文章淺墨準備花兩次更新的時間來講,此為上篇,為大家剖析了“方框濾波“,”均值濾波“和”高斯濾波“三種常見線性鄰域濾波操作。而作為非線性濾波的“中值濾波”和“雙邊濾波”,留待我們下次剖析。

先上一張精彩截圖:

淺墨其實很希望把這篇文章寫得精簡和簡明扼要,發現越深入寫進去,需要講的周邊內容越多,于是文章越寫越長,最后在Word中字數統計突破了一萬。。。。。。。

因為文章很長,如果詳細啃的話,或許會消化不良。在這里給大家一個指引,如果是單單想要掌握這篇文章中講解的OpenCV線性濾波相關的三個函數:boxFilter,blur和GaussianBlur的使用方法的話,直接看第三部分“淺出”和第四部分“實例”就行。

 

在以后寫的OpenCV系列文章中,淺墨暫且準備將每篇博文中知識點都分成原理、深入、淺出和實例四大部分來講解,

第一部分為和圖像處理中線性濾波相關的理論,第二部分“深入”部分主要深入OpenCV內部,帶領大家領略OpenCV的開源魅力,進行OpenCV相關源碼的剖析,做到對OpenCV理解深刻,做一個高端大氣的OpenCV使用者。 第三部分“淺出”主要教會大家如何快速上手當前文章中介紹的相關OpenCV API函數。而在第四部分,淺墨會為大家準備一個和本篇文章相關的詳細注釋的綜合實例程序。

這樣的話呢,文章既不失深度,也不失快速入門的良方。希望淺墨按這樣的新思路寫出來的文章,無論是新手還是高手,看了都能有所收獲。

給出本篇萬字文章的結構脈絡:

 

一、理論——相關圖像處理概念介紹

二、深入——OpenCV源碼講解

三、淺出——API函數講解

四、實例——詳細注釋的博文配套程序

 

OK,我們開始吧。

一、理論與概念講解

<1>關于平滑處理

“平滑處理“(smoothing)也稱“模糊處理”(bluring),是一項簡單且使用頻率很高的圖像處理方法。平滑處理的用途有很多,最常見的是用來減少圖像上的噪點或者失真。在涉及到降低圖像分辨率時,平滑處理是非常好用的方法。

<2>圖像濾波與濾波器

首先我們看一下圖像濾波的概念。圖像濾波,即在盡量保留圖像細節特征的條件下對目標圖像的噪聲進行抑制,是圖像預處理中不可缺少的操作,其處理效果的好壞將直接影響到后續圖像處理和分析的有效性和可靠性。消除圖像中的噪聲成分叫作圖像的平滑化或濾波操作。信號或圖像的能量大部分集中在幅度譜的低頻和中頻段是很常見的,而在較高頻段,感興趣的信息經常被噪聲淹沒。因此一個能降低高頻成分幅度的濾波器就能夠減弱噪聲的影響。圖像濾波的目的有兩個:一是抽出對象的特征作為圖像識別的特征模式;另一個是為適應圖像處理的要求,消除圖像數字化時所混入的噪聲。而對濾波處理的要求也有兩條:一是不能損壞圖像的輪廓及邊緣等重要信息;二是使圖像清晰視覺效果好。平滑濾波是低頻增強的空間域濾波技術。它的目的有兩類:一類是模糊;另一類是消除噪音。(各種“兩",:))空間域的平滑濾波一般采用簡單平均法進行,就是求鄰近像元點的平均亮度值。鄰域的大小與平滑的效果直接相關,鄰域越大平滑的效果越好,但鄰域過大,平滑會使邊緣信息損失的越大,從而使輸出的圖像變得模糊,因此需合理選擇鄰域的大小。關于濾波器,一種形象的比喻法是:我們可以把濾波器想象成一個包含加權系數的窗口,當使用這個濾波器平滑處理圖像時,就把這個窗口放到圖像之上,透過這個窗口來看我們得到的圖像。濾波器的種類有很多, 在新版本的OpenCV中,提供了如下五種常用的圖像平滑處理操作方法,且他們分別被封裝在單獨的函數中,使用起來非常方便:

 

方框濾波——boxblur函數均值濾波(鄰域平均濾波)——blur函數高斯濾波——GaussianBlur函數中值濾波——medianBlur函數雙邊濾波——bilateralFilter函數

 

今天我們要講解的是作為線性濾波的方框濾波,均值濾波和高斯濾波。兩種非線性濾波操作——中值濾波和雙邊濾波,我們留待下次講解。

 

<3>對線性濾波器的簡介

 

線性濾波器:線性濾波器經常用于剔除輸入信號中不想要的頻率或者從許多頻率中選擇一個想要的頻率。

幾種常見的線性濾波器:

允許低頻率通過的低通濾波器。允許高頻率通過的高通濾波器。允許一定范圍頻率通過的帶通濾波器。阻止一定范圍頻率通過并且允許其它頻率通過的帶阻濾波器。允許所有頻率通過、僅僅改變相位關系的全通濾波器。阻止一個狹窄頻率范圍通過的特殊帶阻濾波器,陷波濾波器(Band-stop filter)。

<4>關于濾波和模糊

關于濾波和模糊,大家往往在初次接觸的時候會弄混淆,“一會兒說濾波,一會兒又說模糊,什么玩意兒啊”。

沒關系,在這里,我們就來辨別一下,為大家掃清障礙。

我們上文已經提到過,濾波是將信號中特定波段頻率濾除的操作,是抑制和防止干擾的一項重要措施。

為了方便說明,就拿我們經常用的高斯濾波來作例子吧。我們知道,濾波可分低通濾波和高通濾波兩種。而高斯濾波是指用高斯函數作為濾波函數的濾波操作,至于是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。

其實說白了是很簡單的,對吧:

高斯濾波是指用高斯函數作為濾波函數的濾波操作。

高斯模糊就是高斯低通濾波。

<5>鄰域算子與線性鄰域濾波

鄰域算子(局部算子)是利用給定像素周圍的像素值的決定此像素的最終輸出值的一種算子。而線性鄰域濾波是一種常用的鄰域算子,像素的輸出值取決于輸入像素的加權和,具體過程如下圖。

鄰域算子除了用于局部色調調整以外,還可以用于圖像濾波,實現圖像的平滑和銳化,圖像邊緣增強或者圖像噪聲的去除。本篇文章,我們介紹的主角是線性鄰域濾波算子,即用不同的權重去結合一個小鄰域內的像素,來得到應有的處理效果。

圖注:鄰域濾波(卷積):左邊圖像與中間圖像的卷積產生右邊圖像。目標圖像中藍色標記的像素是利用原圖像中紅色標記的像素計算得到的。

 

線性濾波處理的輸出像素值是輸入像素值的加權和 :

 

其中的加權和為 ,我們稱其為“核”,濾波器的加權系數,即濾波器的“濾波系數”。

 

上面的式子可以簡單寫作:

 

其中f表示輸入像素值,h表示加權系數“核“,g表示輸出像素值

在新版本的OpenCV中,提供了如下三種常用的線性濾波操作,他們分別被封裝在單獨的函數中,使用起來非常方便:

 

方框濾波——boxblur函數

均值濾波——blur函數

高斯濾波——GaussianBlur函數

 

下面我們來對他們進行一一介紹。

<6>方框濾波(box Filter)

方框濾波(box Filter)被封裝在一個名為boxblur的函數中,即boxblur函數的作用是使用方框濾波器(box filter)來模糊一張圖片,從src輸入,從dst輸出。

函數原型如下:

[cpp] view plain copyPRint?在CODE上查看代碼片C++: void boxFilter(InputArray src,OutputArray dst, int ddepth, Size ksize, Point anchor=Point(-1,-1), boolnormalize=true, int borderType=BORDER_DEFAULT )  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色的视频免费观看 | 中国久久久 | 久久久久久久一区 | 黄色特级毛片 | 色阁五月| 男女羞羞视频在线观看免费 | 国产69精品久久久久久 | 日韩999| 欧美成人精品一区二区 | 久久免费视频在线 | 99麻豆久久久国产精品免费 | 久久蜜臀一区二区三区av | 精品久久久久久久久久久久 | 亚洲国产中文字幕 | 午夜神马电影网 | 欧日韩在线 | 最新午夜综合福利视频 | 国产久草视频在线 | 免费在线观看国产精品 | 片在线观看 | 欧美一级毛片一级毛片 | 欧美成在人线a免费 | 线观看免费完整aaa 一二区成人影院电影网 | 毛片久久| 欧美成视频在线观看 | 成人男男视频拍拍拍在线观看 | 欧美城网站地址 | 久久免费视屏 | 国产午夜免费视频 | 欧美三区在线 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 中文字幕亚洲情99在线 | 天天操天天骑 | 特级a欧美做爰片毛片 | 九九热在线精品视频 | 一本到免费视频 | 欧美日本一 | 国产午夜精品一区二区三区嫩草 | 欧美另类69xxxxx 视频 | 九草av| 粉嫩粉嫩一区二区三区在线播放 |