【影象融合】基於四叉樹的加權聚焦多聚焦影象融合含Matlab原始碼
1 簡介
四叉樹分解演算法將待分解的源影象 A 和源影象 B 定義為一對影象塊組,若源影象塊組中影象數量較多,則稱之為影象塊序列,最先進行分解的影象塊組( 源影象) 稱為四叉樹的根節點,由根節點開始對影象塊進行分解,每次分解為 4 個葉子節點,以此類推,直至分解條件結束。對每一次分解結果進行聚焦度測算,若符合 RPCA 判定條件閾值,則本節點停止分解,其餘葉子節點繼續分解,下面詳細闡述本演算法流程:首先,假定兩種情況作為影象塊分解的基礎實施條件,
情況 1: 被分解出的塊為全聚焦塊。
情況 2:被分解出的塊含有聚焦部分和非聚焦部分。其次將含有 m( m ≥ 2) 幅源影象的影象序列輸入四叉樹結果的根節點,對於根節點塊序列,若其在 RPCA 檢測中符合情況 1,則本塊不需要繼續分解,否則符合情況 2,需要進行第二級的四叉樹分解,持續進行本過程,直到所有的聚焦區域被找出,或者已持續進行至四叉樹的分解的最大級數。本文最終將源影象分解為 2 × 2 大小的影象塊,其對應的分解級為最大分解級( max level) ,最大分解級的計算方式如下式所示:
其中 M × N 為源影象尺寸,lg 為對數運算子。
在進行四叉樹分解前,輸入至根節點的源影象需要進行正方形對映處理,以便分解至最終形態。假設源影象作為四叉樹分解的第一級,最終分解的影象塊大小為 2 × 2,那麼影象的分解層數應該為log{ max( M - 1,N - 1) } + 1 的整數部分,當分解進行至最大級數時,可以認為這種情況下的聚焦度探測到達了最精確的情況,本文所使用的源影象塊大小為 512×512。
2 部分程式碼
% ------------------------------------------------------------------------- % Clear history and memory clc; clear; close all; %--------------------- Configurating the parameters ----------------------- % Initialise the maximum split level level = 0; % image set name string, default: 'clock'. All image sets: % clock'|'lab'|'pepsi'|'OpenGL'|'flower'|'disk'|'toy' name = 'clock'; % Set the image type. type = '.bmp'; % Set the image number: the number of images in image set toy is 3, % and the image number of the other sets is 2. num = 2; %--------------------- Quadtree based image fusion ----------------------- [fimg, decision_map] = Quadtree_Fusion(name, type, num, level); %------------------------- Show the fusion image ------------------------- subplot(133);imshow(fimg);title('融合後的圖')
3 模擬結果
4 參考文獻
Xiangzhi Bai, Yu Zhang, Fugen Zhou, and Bindang Xue. Quadtree-based multi-focus image fusion using a weighted focus-measure[J]. Information Fusion, 2015, 22: 105-118.
博主簡介:擅長智慧優化演算法、神經網路預測、訊號處理、元胞自動機、影象處理、路徑規劃、無人機等多種領域的Matlab模擬,相關matlab程式碼問題可私信交流。
部分理論引用網路文獻,若有侵權聯絡博主刪除。
- RP原型資源分享-購物類App
- 實現各種效果和功能的按鈕,讀這篇文章就夠了
- 5分鐘的時間製作一個反彈球遊戲
- 35歲危機?內捲成程式設計師代名詞了…
- 線上文字實體抽取能力,助力應用解析海量文字資料
- 不買排名,不去SEO,如何做到登上谷歌搜尋首頁?
- HtmlParse:一款超輕量級的HTML檔案解析和爬取工具
- 五款當下超火熱的相親交友APP測評
- 盡一份孝心,為家人做一個老人防摔報警系統
- 作為軟體工程師,給年輕時的自己的建議(下)
- 技術分享| 淺談排程平臺設計
- 組態介面推陳出新:打造新一代再生水廠工藝二維組態系統
- 平頭哥 芯事訪談 | 全志科技CTO丁然:影片、AI市場爆發,RISC-V生態需要產業一起努力
- IDEA SSM Maven實現商品管理系統(超詳細SSM整合專案)
- 如何為迴歸測試選擇測試用例?
- 前端必學——函數語言程式設計(五)
- 40篇學完C語言——(第八篇)【指標陣列以及指向指標的指標】
- 焱融看|非結構化資料場景下,資料湖到底有多香?
- 低程式碼開發的未來~
- Docker容器:將帶UI的程式直接轉為Web應用,so easy