www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > FPGA開源工作室


基于暗通道先驗條件圖像去霧算法

香港大學何凱明博士2009發(fā)表了一篇論文《Single Image Haze Removal Using Dark Channel Prior 》。文章中,何凱明博士提出了一種簡單而有效的圖像先驗暗通道消除單輸入圖像霧的算法。暗通道先驗是一種無霧室外圖像的統(tǒng)計。這是基于一個關鍵的觀察——大多數無霧室外圖像的局部區(qū)域包含一些像素,這些像素在至少一個顏色通道R,G,B中的強度非常低。利用這一先驗模型,可以直接估計圖像中薄霧的厚度,并恢復高質量的無薄霧圖像。各種室外霧霾圖像的結果表明了該方法的有效性。此外,作為除霧的副產物,還可以獲得高質量的深度圖。

1 使用單個圖像去除薄霧。

如圖1所示,a輸入霧度圖像,b除霧后的圖像,c深度圖。

暗通道先驗圖像去霧計算流程:

2 暗通道先驗圖像去霧計算過程

1 暗通道圖像

暗通道先驗是基于以下對無霧室外圖像的觀察:在大多數非天空斑塊中,至少有一個顏色通道在某些像素處的強度非常低。換句話說,這樣一個窗口的最小強度值應該很低。形式上,對于圖像j,定義:

其中jc是j的顏色通道,Ω(x)是以x為中心的一個局部窗口。觀察表明,除了天空區(qū)域,jdark的強度較低,如果j是無霧室外圖像,則趨向于零(jdark__>0)。稱jdark為j的暗通道,上面的統(tǒng)計觀測或知識為暗通道先驗。

2 透射率圖像

透射率公式推導過程在此不再贅述,請參看《Single Image Haze Removal Using Dark Channel Prior》。

實際上,即使在晴朗的日子里,大氣也不是絕對沒有任何粒子的。所以,當我們看遠處的物體時,霧仍然存在。此外,霧的存在是一個基本線索或人類感知深度。這種現(xiàn)象叫做空中透視。如果我們徹底消除圖像中的霧,圖像可能顯得不自然,深度感可能會消失。所以可以選擇通過在方程中引入一個常數參數ω(0<ω≤1),為遙遠的物體保留一小部分霧:

其中t(x)為透射率,ω(0<ω≤1)為常數參數,Ω(x)是以x為中心的一個局部窗口,Ac全球大氣光強度,Ic觀察到的強度。

3 帶霧圖像去霧

3 霧效果

如圖3所示,(a)輸入霧化圖像(b)為透射率,(c)Soft Matting后的精細透射圖(d最終無霧圖像。

典型的t0值為0.1,由于場景的亮度通常不如大氣光的亮度,所以去霧后的圖像看起來很暗淡。因此,增加了J(X)的曝光以達到最佳效果。如圖3d是最后恢復的無霧圖像。

4 除霧效果

如圖4所示,頂部:輸入模糊圖像。中間:恢復無霧圖像。底部:深度圖。頂部行圖像中的紅色矩形指示的地方為自動獲取大氣光強的位置。

4 matlab基于暗通道先驗實現(xiàn)圖像去霧

5 實驗圖1

6 實驗圖2

7 實驗圖3

Matlab 源碼:

clear all

close all

clc

w0=0.85; %0.65 乘積因子用來保留一些霧,1時完全去霧

t0=0.1;

I=imread('test1.jpg');

Ir = I(:,:,1);

[h,w,s]=size(I);

min_I=zeros(h,w);

dark_I = zeros(h,w);

%下面取得暗影通道圖像

for i=1:h

for j=1:w

dark_I(i,j)=min(I(i,j,:));

end

end

dark_I = uint8(dark_I);

img_dark = ordfilt2(dark_I,1,ones(5,5));

Max_dark_channel=double(max(max(img_dark))) %天空亮度

dark_channel=double(img_dark);

t1=1-w0*(dark_channel/Max_dark_channel); %取得透謝分布率圖

t2=max(t1,t0);

T=uint8(t1*255);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

I1=double(I);

J(:,:,1) = uint8((I1(:,:,1) - (1-t2)*Max_dark_channel)./t2);

J(:,:,2) = uint8((I1(:,:,2) - (1-t2)*Max_dark_channel)./t2);

J(:,:,3) =uint8((I1(:,:,3) - (1-t2)*Max_dark_channel)./t2);

figure,

set(gcf,'outerposition',get(0,'screensize'));

subplot(221),imshow(I),title('原始圖像');

subplot(222),imshow(J),title('去霧后的圖像');

subplot(223),imshow(img_dark),title('dark channnel的圖形');

subplot(224),imshow(T),title('透射率t的圖形');

imwrite(J,'wu1.jpg');

8 實驗結果1

9 實驗結果2

10 實驗結果3

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉