數字圖像處理——引導濾波

一、概述

????????引導濾波是由何愷明等人于2010年發表在ECCV的文章《Guided Image Filtering》中提出的,后續于2013年發表。引導過濾器根據局部線性模型原理,通過考慮引導圖像的內容來計算過濾輸出,引導圖像可以是輸入圖像本身或另一個不同的圖像。具有以下特點:

  1. 引導濾波器可以像流行的雙邊濾波器一樣用作邊緣保留平滑算子,但在邊緣附近有更好的效果。
  2. 引導過濾器也是平滑之外的一個更通用的概念:它可以將引導圖像的結構傳輸到過濾輸出,從而實現新的過濾應用,例如去霧和引導羽化。
  3. 此外,無論核大小和強度范圍如何,引導濾波器自然具有快速且非近似的線性時間算法。目前它是最快的邊緣保留濾波器之一。

Research:

  • Wikipedia中指出,引導過濾器是一種具有代表性的邊緣保持平滑技術。
  • MATLAB 2014中提供了引導過濾器在這一新函數。
  • OpenCV 3.0中提供了引導過濾器在這一新函數。

Related Publications:

  • Guided Image Filtering, by Kaiming He, Jian Sun, and Xiaoou Tang, in?ECCV?2010 .

  • Guided Image Filtering, by Kaiming He, Jian Sun, and Xiaoou Tang, in?TPAMI?2013.

See Also:

  • Fast Guided Filter, by Kaiming He and Jian Sun, in arXiv 2015.

Resources:

  • ECCV 2010 presentation slides

  • Guided Filter:?Code

  • Fast Guided Filter:?Code

二、原理

????????引導濾波的定義中,用到了局部線性模型,該模型認為,某函數上一點與其鄰近部分的點成線性關系,一個復雜的函數就可以用很多局部的線性函數來表示,當需要求該函數上某一點的值時,只需計算所有包含該點的線性函數的值并做平均即可。我們可以將圖像看成一個二維函數,因此,而且沒法寫出解析表達式,因此我們假設該引導濾波函數的輸出與輸入在一個二維窗口內滿足線性關系,如下:

????????

????????這里p是輸入圖像?,I是引導圖像?,q是濾波輸出圖像,?akbk是系數, ωk是窗口。

????????對上式兩邊取梯度,可以得到:

????????????

????????即當引導圖像I有梯度時,輸出 圖像q 也有類似的梯度,現在可以解釋為什么引導濾波有邊緣保持特性。

? ? ? ? ?接下來需要計算akbk,我們將輸入圖像p納入考慮范圍中,根據一般的加性噪聲模型,我們很容易得到以下式子:

????????

? ? ? ? 其中ni表示需要去除的噪聲或紋理。

? ? ? ??顯然,我們現在要找到一個解能夠最小化輸出圖q和輸入圖p的差別。定義代價函數如下:

?????????? ? ? ?

???????? 這里,\varepsilon是正則化參數,我們對代價函數求最小值,

????????

?????????令偏導為0,計算得到:

? ? ? ? ? ? ?

? ? ? ? ?其中pkuk分別是P和I窗口內的均值。 得到bk,我們再求ak

??????????????????根據方差和協方差公式,

?????????????????

? ? ? ? ? ?最終計算得到:

? ? ? ? ??????????

三、實現及效果

? ? ? ? 引導濾波算法偽代碼如下圖:

實際測試結果如下:

????????

?

????????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253737.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253737.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253737.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu 18.04換國內源

2019獨角獸企業重金招聘Python工程師標準>>> 參考文檔: https://blog.csdn.net/zhangjiahao14/article/details/80554616 https://blog.csdn.net/xiangxianghehe/article/details/80112149 1.復制源文件備份,以防萬一 我們要修改的文件是sour…

video4linux簡介

Video4linux(簡稱V4L),是linux中關于視頻設備的內核驅動,現在已有Video4linux2,還未加入linux內核,使用需自己下載補丁。在Linux中,視頻設備是設備文件,可以像訪問普通文件一樣對其進行讀寫,攝像頭在/dev/v…

動態DPC算法學習

造成壞點的原因 感光元件芯片自身工藝技術瑕疵造成;光線采集存在缺陷;制造商產品差異;壞點分類 hot pixel: 固定保持較高的像素值,一般呈現為畫面高亮的點;dead pixel: 固定保持較低的像素值,一般在畫面中呈現為暗點;noise pixel:信號強度隨光照呈現的變化規律不符合正…

windows 郵槽mailslot 在服務程序內建立后客戶端無權限訪問(GetLastError() == 5)的問題...

郵槽創建在服務程序內,可以創建成功, 但外部客戶端連接時 m_hMailslot CreateFile("\\\\.\\mailslot\\zdpMailslot",GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);GetLastError返回錯誤 5 ,無權…

遞歸下降分析

對于給定的文法G[E] : E→ET|E-T|TT→T*F| T/F|FF→(E)|i 消除左遞歸后的文法是:E→TE E→TE|-TE|∑ T→FT T→*FT|/FT|∑ F→(E)|i 是否是LL(1)文法? select(E→TE)first(TE){(,i}select(E→TE)first(TE){}select(E→-TE)first(-TE){-}select(E→∑)fol…

SYS簡介

"sysfs is a ram-based filesystem initially based on ramfs. It provides a means to export kernel data structures, their attributes, and the linkages between them to userspace.” --- documentation/filesystems/sysfs.txt 可以先把documentation/filesystems/…

數字后端——布圖規劃

布圖規劃(floorplan)與布局(place)在芯片設計中占據著重要的地位,它的合理與否直接關系到芯片的時序收斂、布線通暢、電源穩定以及良品率。所以在整個芯片設計中,從布圖規劃到完成布局一般需要占據整個物理…

利用SSH傳輸文件

在linux下一般用scp這個命令來通過ssh傳輸文件。 1、從服務器上下載文件scp usernameservername:/path/filename /var/www/local_dir(本地目錄) 2、上傳本地文件到服務器scp /path/filename usernameservername:/path 例如scp /var/www/test.php root19…

App WebView實例化

a,高級設置里的環境變量 jdk的配置 b,下載Google的sdk,里面直接包含eclipse 1,新建一個項目 2,起個名字 3,設么走不做,next 4,只操作選擇顯示的三種方式 5,next什么都不做…

[動態代理三部曲:下] - 從動態代理,看Retrofit的源碼實現

前言 關于動態代理的系列文章,到此便進入了最后的“一出好戲”。前倆篇內容分別展開了:從源碼上,了解JDK實現動態代理的原理;以及從動態代理切入,學會看class文件結構的含義。 如果還沒有看過這倆篇文章的小伙伴&#…

Ti的DM368系列芯片的所有PDF資料匯總

http://www.ti.com/sc/docs/psheets/man_dsp.htm

劉浩(專業打劫三十年)20155307的預備作業02:

我的技能?比大多數人好?經驗是什么?與老師的經驗的共同之處? 我的技能之一就是單詞翻譯王——其實看了婁老師的學習經驗之后便有些自慚形穢了,我目前的單詞量是7300,扇貝上測的,而且測試時是嚴格的“不會就…

數字后端——電源規劃

電源規劃是給整個芯片的供電設計出一個均勻的網絡,它是芯片物理設計中非常關鍵的一部分。電源規劃在芯片布圖規劃后或在布圖規劃過程中交叉完成,它貫穿于整個設計中,需要在芯片設計的不同階段對電源的供電網絡進行分析并根據要求進行修改。,主…

逆向project實戰--Acid burn

0x00 序言 這是第二次破解 crackme 小程序,感覺明顯比第一次熟練。破解過程非常順利,差點兒是分分鐘就能夠找到正確的 serial,可是我們的目標是破解計算過程。以下將具體介紹。 0x01 初次執行 剛開始拿到 crackme 先執行程序。看看有哪些明顯…

PyCharm使用技巧(六):Regullar Expressions的使用

2019獨角獸企業重金招聘Python工程師標準>>> PyCharm v2018.2最新版本下載 使用正則表達式查找和替換文件中的文本 示例代碼 使用正則表達式查找和替換字符串 假設您想用擴展標記<title> </title>替換元素&#xff08;title&#xff09;中的屬性&#x…

內核中_init,_exit中的作用

__init&#xff0c; __initdata等屬性標志&#xff0c;是要把這種屬性的代碼放入目標文件的.init.text節&#xff0c;數據放入.init.data節──這一過程是通過編譯內核時為相關目標平臺提供了xxx.lds鏈接腳本來指導ld完成的。 對編譯成module的代碼和數據來說&#xff0c;當模…

jQuery筆記總結

來源于&#xff1a;http://blog.poetries.top/2016/10/20/review-jQuery/ http://www.jianshu.com/p/f8e3936b34c9 首先&#xff0c;來了解一下jQuery學習的整體思路 第一節 jQuery初步認知 jQuery概述 JQuery概念 javascript概念 基于Js語言的API和語法組織邏輯&#xff0c;通…

芯片生產流程

每個半導體產品的制造都需要數百個工藝&#xff0c;泛林集團將整個制造過程分為八個步驟&#xff1a;晶圓加工-氧化-光刻-刻蝕-薄膜沉積-互連-測試-封裝。 一、晶圓加工 所有半導體工藝都始于一粒沙子&#xff01;因為沙子所含的硅是生產晶圓所需要的原材料。晶圓是將硅(Si)或砷…

GRE Sub math 報名

Step1 注冊ETS帳號 Step2 登錄帳號&#xff0c;點擊Register/Find Test Centers, Dates Step3 按照提示查詢考場 如果沒有結果而是出現了如下提示&#xff0c;意味著這個地方沒有考位了&#xff0c;需要選擇其他地方的考位 Step 4 接下來就和GRE general test的過程一樣了&…

????platform_device_系列函數及其設備注冊的作用

platform_device_系列函數&#xff0c;實際上是注冊了一個叫platform的虛擬總線。使用約定是如果一個不屬于任何總線的設備&#xff0c;例如藍牙&#xff0c;串口等設備&#xff0c;都需要掛在這個虛擬總線上。 driver/base/platform.c //platform設備聲明 struct device pla…