影象處理-雙邊濾波 Bilateral Filtering
在Shader中實現雙邊濾波的時候,總感覺理解的不太透徹,這裡寫部落格記錄一下。
參考資料:
演算法原理
GPUImage中Bilateral Filtering的實現
高斯濾波 空間域
在理解雙邊濾波之前,先來理解上面是高斯濾波。
高斯濾波是一種線性平滑濾波,適用於消除高斯噪聲,廣泛應用於影象處理的減噪過程。
為了實現線性的平滑,高斯濾波器和高斯分佈(正態分佈)是有關係的。
一個二維的高斯函式如下:
其高斯核的影象為:
有了高斯函式之後就可以得到高斯模板,常用的高斯模板(也就是高斯核)是這樣的:
雙邊濾波 空間域+值域
高斯濾波可以看成是基於畫素點的歐式距離
雙邊濾波是結合畫素點之間的歐式距離
上圖中,最右邊是歸一化的公式,其目的是為了完全平滑的影象結果不變。雙邊濾波之所以可以保留邊緣是因為其濾波模板不僅僅依賴於畫素的位置關係,更依賴於其顏色,所以邊緣可以被保留。
高斯濾波對比雙邊濾波
不管是什麼樣的圖片,其高斯濾波模板視覺化的圖都差不多,見下圖:
因為不同的畫素會影響到雙邊濾波模板,當畫素為為下圖中藍色方框(中心畫素點落在右邊,偏白色)的時候:
其雙邊濾波模板視覺化的圖見下圖:
相關推薦
影象處理-雙邊濾波 Bilateral Filtering
在Shader中實現雙邊濾波的時候,總感覺理解的不太透徹,這裡寫部落格記錄一下。 參考資料: 演算法原理 GPUImage中Bilateral Filtering的實現 高斯濾波 空間域 在理解雙邊濾波之前,先來理解上面是高斯濾波。 高斯濾波是一種線性平滑濾波,適用於消
灰度影象--影象增強 雙邊濾波 Bilateral Filtering
//高斯函式 double gaussian(double x,double deta){ return exp(-0.5*(x*x)/(deta*deta)); } //計算當前模板係數 double BilateralWindow(double *window,int width,int heigh
老衛帶你學---影象處理之濾波演算法
一、學習心得: 在我學習基本濾波演算法原理的時候,因為剛接觸不是很理解演算法具體是怎樣實現的,不過在學習了影象形態學之後,發現濾波演算法其實很簡單。所以在此建議初學者在學習濾波演算法之前,可以先學習一下影象形態學,會達到事半功倍的效果。 二、對於濾
ENVI影象處理之濾波
1、ConvolutionFiltering (卷積濾波) 卷積是一種濾波方法,它產生一幅輸出影象(影象上,一個給定像元的亮度值是其周圍像元亮度值加權平均的函式) 。 使用者選擇變換核用於影象列卷積生成一個新的空間濾波影象。
matlab影象預處理中值濾波y與雙邊濾波
中值濾波 前面所說的高斯平滑和均值濾波也是預處理的一種,不過他們用犧牲影象細節為代價來換取平滑影象,他們對處理小的噪聲點比較好,但是處理較大的噪聲點比較無力。 平滑線性濾波器的工作原理可以比喻為用水沖洗桌面上的汙點,沖洗的結果是汙點並沒有消失,只是被淡化,如果汙
數字影象處理筆記——頻域濾波、取樣和頻譜混疊( Frequency domain filtering; sampling and aliasing)
頻域濾波 頻域濾波就是將訊號先做傅立葉變換再與濾波器頻域響應相乘,最後再做傅立葉反變換得到 低通濾波器 讓我們先來看看理想低通濾波器,理想低通濾波器的頻率響應是一箇中間是1,周圍是0的正方形或圓形,而在時域上是sinc函式,,我們看經過低通濾波器後的影象變得模糊了,但是會發現圖中多
Bilateral Filtering(雙邊濾波) for SSAO
1. 簡介 影象平滑是一個重要的操作,而且有多種成熟的演算法。這裡主要簡單介紹一下Bilateral方法(雙邊濾波),這主要是由於前段時間做了SSAO,需要用bilateral blur 演算法進行降噪。Bilateral blur相對於傳統的高斯blur來說很重要的一個特
OpenCV計算機視覺學習(4)——影象平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)
如果需要處理的原圖及程式碼,請移步小編的GitHub地址 傳送門:請點選我 如果點選有誤:https://github.com/LeBron-Jian/ComputerVisionPractice “平滑處理”(smoothing)也稱“模糊處理”(bluring),是一項簡單且使用頻率很高的影象
轉《影象處理之表面濾波》
本文介紹經典的表面模糊Surface Blur演算法與實現。 表面模糊是PS裡一個重要的保邊濾波器,它的演算法很簡單,公式如下所示: 主要思想還是計算當前畫素X的鄰域範圍內不同畫素的加權求和,邊緣地方的畫素,加權比較大,平滑的地方加權比較小,以此來保留邊緣資訊,平滑平坦區域; 效果如下圖所示:
影象處理之積分圖應用二(快速邊緣保留濾波演算法)
影象處理之積分圖應用二(快速邊緣保留濾波演算法) 一:基本原理 傳統的影象邊緣保留濾波演算法-如高斯雙邊模糊、Mean-Shift模糊等計算複雜、效率比較低,雖然有各種手段優化或者快速計算方法,當時演算法相對一般碼農來說理解起來比較費勁,不是一個的選擇,而通過積分影象實現區域性均方差
數字影象處理之空間域濾波和銳化(Octave實現)
濾波這一概念可以結合數字訊號處理這一領域中的濾波。而在數字影象處理中濾波可以分為空間域濾波和頻率域濾波。這篇博文主要來學習下空間域濾波。 空間域濾波機理 *空間濾波器由一個鄰域(典型的是一個較小的矩形)構成,對該鄰域所包圍的畫素按照一定的操作計算出目標畫素的值,這一過程就是空
影象處理(四)——快速均值濾波(MATLAB實現)
均值濾波是典型的線性濾波演算法,它是指在影象上對目標畫素給一個模板,該模板包括了其周圍的臨近畫素(以目標畫素為中心的周圍8個畫素,構成一個濾波模板,即去掉目標畫素本身),再用模板中的全體畫素的平均值來代替原來畫素值。 快速均值濾波要求: 在這裡就要先解釋一下積分圖
影象處理(三)——高斯濾波
一、高斯濾波 高斯濾波是一種線性平滑濾波,適用於消除高斯噪聲,廣泛應用於影象處理的減噪過程。通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每一個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。 實現影象的高斯濾波: 通過調整高斯函式的
opencv影象處理-------高斯濾波
opencv高斯濾波原理 高斯濾波是一種線性平滑濾波器,運用此濾波器,影象中各個點的畫素值由它鄰域畫素的加權累加值來替換。把鄰域中每個畫素位置對應的權重係數存放在一個矩陣中,矩陣中心的元素對應正在當前正在應用此濾波器的畫素,此
使用 matlab 數字影象處理(九)—— 去卷積(deconvolution,逆濾波復原)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
數字影象處理——中值濾波
原理:模板中心對準待處理畫素,對模板下的對應畫素進行灰度值排序,將中值賦給當前畫素 Matlab程式碼: clear,clc; car = imread('sport car.pgm'); noise_car = imnoise(car,'salt & pepper',0.02);
岡薩雷斯:數字影象處理(三):第三章灰度變換與空間濾波(1)——基本灰度變換函式
一、前言 空間域指影象平面本身。這類影象處理方法直接以影象中的畫素操作為基礎。這是相對於變換域中的影象處理而言的。變換域的影象處理首先把一幅影象變換到變換域,在變換域中進行處理,然後通過反變換把處理結果返回到空間域 空間域處理主要分為灰度變換和空間濾波兩類。 灰度變換在影象的單個畫素上操
影象處理(3)頻率域濾波
Fourier變換 Fourier變換最開始由傅立葉提出,當時為了解決熱力學問題。後來經過發展形成了一套完整的理論,應用在物理學、訊號學等很多方面。如果一個函式滿足絕對可積條件,即: 因為計算機處理的是離散值,要求對f(x)和F(w)都取樣,這時Fourier變換被稱為離
影象處理(2)空間濾波
濾波原理 濾波是為了消除噪聲影響,提高影象質量,濾波方法的選擇取決於噪聲的特性。濾波包括空間濾波和頻率域濾波,在數學上二者可以相互轉化。空間濾波本質上是通過臨近畫素的微操作來實現噪聲降低,比如線性平滑濾波,就是通過臨近畫素的加權或者不加權平均來消減噪聲強度,這對於方差較小較穩定
數字影象處理中的頻率域濾波
作者是一名在讀的碩士研究僧,方向是機器視覺。由於視覺是一門相對複雜的學科,作者在課堂上學到的東西只是非常淺顯的內容,我們老師說是,領我們進了個門。現在打算利用圖書館和網路上的資源進行自學。由於是剛開始寫自己的部落格,並且所具備的專業知識非常的有限,難免有出錯之處,如果有朋友發現一些毛病,希望能夠指正