引導濾波GuidedFilter
何愷明讀博士提出基於暗通道採用引導濾波去霧演算法獲CVPR2009最佳論文,現在應用面很廣、很廣;能夠克服雙邊濾波的梯度翻轉現象,在濾波後影像的細節上更優,主要美顏演算法差不多都用這個。
先貼虛擬碼:
實現的話可以採用積分圖加速。
線性濾波器
其中I是引導影像,P是輸入的待濾波影像,W是根據引導圖I確定的權重值,Q是濾波後的輸出影像。
1、如果權重W與引導圖無關,那便是一個常量,比如高斯濾波那種,這種我們相對就特別好理解。
2、如果權重與引導圖相關,我們的影像就會受到引導圖影響,比如雙邊濾波中,我們採用和中心畫素差值作為引導,但這嚴格上還算不上引導圖。只能只能時有影響,有引導。
權重確定:
μ
k
μ_k
μk是視窗內畫素點的均值,
I
i
I_i
Ii指位於視窗中心的畫素值,
I
j
I_j
Ij指視窗內j位置的畫素點的值,
σ
k
2
σ_k^2
σk2代表視窗內畫素點的方差,ε是一個懲罰值。
( I i − μ k ) ( I j − μ k ) (I_i-μ_k)(I_j-μ_k) (Ii−μk)(Ij−μk)這一項表明,如果中心畫素值 I i I_i Ii小於均值時, I j I_j Ij如果約大於均值,該項值就是負值,權重1+(-0.幾)就會越小
ε懲罰項的值越大,則分母越大,引導圖對影像的影響就越小,極端情況(比如正無窮), W i j W_{ij} Wij就將退化為 1 / w 2 1/w^2 1/w2,這個 w w w呢,實際上就是視窗邊長,也就是說極端情況下會退化為均值濾波器
但是,實際上我們不用搞得太複雜,我們直接假設該點輸出值和該點引導圖的值是線性關係:
然後我們採用最小二乘去估計出
a
k
、
b
k
a_k、b_k
ak、bk兩個係數即可:
a的分子為I和P的協方差,分母部分為I的方差加上截斷值ε,b的值為P的均值減去a乘以I的均值。可以看出當a值很小時,b約等於視窗內畫素點的均值pk,近似於均值濾波。而當a值很大時,輸出則主要取決於a*▽I的大小,梯度資訊能夠得到保留。
相關文章
- [Python影象處理] 四.影象平滑之均值濾波、方框濾波、高斯濾波及中值濾波Python
- OpenCV計算機視覺學習(4)——影像平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)OpenCV計算機視覺
- 【OpenCV】鄰域濾波:方框、高斯、中值、雙邊濾波OpenCV
- 數字濾波器和模擬濾波器(一)
- 卡爾曼濾波
- Particle Filter Tutorial 粒子濾波:從推導到應用(一)Filter
- 利用聯合雙邊濾波或引導濾波進行升取樣(Upsampling)技術提高一些耗時演算法的速度。演算法
- OpenCV 線性濾波OpenCV
- 濾波演算法——十大濾波演算法程式大全演算法
- 點雲濾波器與過濾器過濾器
- GLSL學習_高斯濾波
- Gabor濾波器學習
- 影象卷積與濾波卷積
- 空域濾波演算法演算法
- [轉載]基於頻譜分析儀的濾波器引數測試
- 音訊降噪-fir濾波器音訊
- 卡爾曼濾波器(Kalman Filters)Filter
- 濾波演算法總結演算法
- 頻率域濾波基本操作
- 卡爾曼濾波器預測原理
- 卡爾曼濾波學習資料
- 卡爾曼濾波的原理說明
- 【OpenCV學習】影象卷積濾波OpenCV卷積
- 1.影像濾波與影像融合
- 利用Matlab filterDesigner 工具生成FIR濾波器函式,並呼叫實現低通濾波MatlabFilter函式
- OpenCV計算機視覺學習(10)——影像變換(傅立葉變換,高通濾波,低通濾波)OpenCV計算機視覺
- 詳解卡爾曼濾波(Kalman Filter)原理Filter
- 卷積濾波器如何提取影象特徵卷積特徵
- 粒子濾波(Particle Filter)的通俗解釋Filter
- 卡爾曼濾波器學習筆記筆記
- AD去抖動之軟體濾波
- 測試卡爾曼濾波器(Kalman Filter)Filter
- Kalman濾波器的原理與實現
- 2010年無線通訊市場投資看點之超導濾波器
- matlab 濾波器中用到的函式Matlab函式
- NeHe的opengl教程delphi版(7)----濾波 (轉)
- 圖解卡爾曼濾波(Kalman Filter)--理解1圖解Filter
- nuxt 過濾 query 引數UX