(完整版)MATLAB典型去霧算法代碼.._第1頁
(完整版)MATLAB典型去霧算法代碼.._第2頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本節(jié)主要介紹基于Retinex理論的霧靄天氣圖像增強(qiáng)及其實(shí)現(xiàn)。131Rentinex理論Retinex(視網(wǎng)膜“Retina"和大腦皮層“Cortex"的縮寫)理論是一種建立在科學(xué)實(shí)驗(yàn)和科學(xué)分析基礎(chǔ)上的基于人類視覺系統(tǒng)(HumanVisualSystem)的圖像增強(qiáng)理論。該算法的基本原理模型最早是由EdwinLand(埃德溫蘭德)于1971年提出的一種被稱為的色彩的理論,并在顏色恒常性的基礎(chǔ)上提出的一種圖像增強(qiáng)方法。Retinex理論的基本內(nèi)容是物體的顏色是由物體對(duì)長波(紅)中波(綠)和短波(藍(lán))光線的反射能力決定的,而不是由反射光強(qiáng)度的絕對(duì)值決定的;物體的色彩不受光照非均

2、性的影響,具有一致性,即Retinex理論是以色感一致性(顏色恒常性)為基礎(chǔ)的。根據(jù)EdwinLand提出的理論,一幅給定的圖像S(x,y)分解成兩幅不同的圖像:反射物體圖像R(x,y)和入射光圖像L(x,y),其原理示意圖如圖8.3-1所示。圖1.3-1Retinex理論示意圖對(duì)于觀察圖像S中的每個(gè)點(diǎn)(x,y),用公式可以表示為:S(x,y)=R(x,y)xL(x,y)(1.3.1)實(shí)際上,Retinex理論就是通過圖像S來得到物體的反射性質(zhì)R,也就是去除了入射光L的性質(zhì)從而得到物體原本該有的樣子。1.3.2基于Retinex理論的圖像增強(qiáng)的基本步驟步驟一:利用取對(duì)數(shù)的方法將照射光分量和反射

3、光分量分離,即:SS(x,y)=r(x,y)+l(x,y)=log(R(x,y)+log(L(x,y);步驟二:用高斯模板對(duì)原圖像做卷積,即相當(dāng)于對(duì)原圖像做低通濾波,得到低通濾波后的圖像D(x,y),F(xiàn)(x,y)表示高斯濾波函數(shù):D(x,y)=S(x,y)*F(x,y);步驟三:在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像G(x,y):G(x,y)=Ss(x,y)-log(D(x,y);步驟四:對(duì)G(x,y)取反對(duì)數(shù),得到增強(qiáng)后的圖像R(x,y):R(x,y)=exp(G(x,y);步驟五:對(duì)R(x,y)做對(duì)比度增強(qiáng),得到最終的結(jié)果圖像。1.3.3多尺度Retinex算法DJo

4、bson等人提出了多尺度Retinex算法,多尺度算法的基本公式是:R(x,y)=£Wlogl(x,y)-logf(x,y)*I(x,y)ininin=1其中,R(x,y)是Retinex的輸出,ieR,G,B表示3個(gè)顏色譜帶,F(xiàn)(x,y)是i高斯濾波函數(shù),W表示尺度的權(quán)重因子,N表示使用尺度的個(gè)數(shù),N=3,表示n彩色圖像,ieR,G,B。N=1,表示灰度圖像。從公式中可以看出:MSR算法的特點(diǎn)是能產(chǎn)生包含色調(diào)再現(xiàn)和動(dòng)態(tài)范圍壓縮這兩個(gè)特性的輸出圖像。在MSR算法的增強(qiáng)過程中,圖像可能會(huì)因?yàn)樵黾恿嗽肼暥斐蓪?duì)圖像中的局部區(qū)域色彩失真,使得物體的真正顏色效果不能很好的顯現(xiàn)出來,從而影響了

5、整體視覺效果。為了彌補(bǔ)這個(gè)缺點(diǎn),一般情況下會(huì)應(yīng)用帶色彩恢復(fù)因子C的多尺度算法(MSRCR)來解決。帶色彩恢復(fù)因子C的多尺度算法(MSRCR)是在多個(gè)固定尺度的基礎(chǔ)上考慮色彩不失真恢復(fù)的結(jié)果,在多尺度Retinex算法過程中,我們通過引入一個(gè)色彩因子C來彌補(bǔ)由于圖像局部區(qū)域?qū)Ρ榷仍鰪?qiáng)而導(dǎo)致圖像顏色失真的缺陷,通常情況下所引入的色彩恢復(fù)因子C的表達(dá)式為R(x,y)=C(x,y)R(x,y)MSRCRiMSRiiC(x,y)=fI(x,y)=f11工NI(x,y)j=1j其中,C表示第個(gè)通道的色彩恢復(fù)系數(shù),它的作用是用來調(diào)節(jié)3個(gè)通道顏色i的比例,f()表示的是顏色空間的映射函數(shù)。帶色彩恢復(fù)的多尺度R

6、etinex算法(MSRCR)通過色彩恢復(fù)因子C這個(gè)系數(shù)來調(diào)整原始圖像中三個(gè)顏色通道之間的比例關(guān)系,從而通過把相對(duì)有點(diǎn)暗的區(qū)域的信息凸顯出來,以達(dá)到消除圖像色彩失真的缺陷。處理后的圖像局域?qū)Ρ榷忍岣?,而且它的亮度與真實(shí)的場(chǎng)景很相似,圖像在人們視覺感知下顯得極其逼真。因此,MSR算法具有較好的顏色再現(xiàn)性、亮度恒常性以及動(dòng)態(tài)范圍壓縮等特性。1.3.4例程精講例程1.3.1是基于Retinex理論進(jìn)行霧靄天氣增強(qiáng)的MATLAB程序,讀者可結(jié)合程序及注釋對(duì)基于Retinex理論進(jìn)行霧靄天氣增強(qiáng)的基本原理進(jìn)行進(jìn)一步分析,該程序的運(yùn)行結(jié)果如圖1.3-2所示。例程1.3.1clear;closeall;%讀

7、入圖像I=imread('wu.png');%取輸入圖像的R分量R=I(:,:,1);N1,M1=size(R);%對(duì)R分量進(jìn)行數(shù)據(jù)轉(zhuǎn)換,并對(duì)其取對(duì)數(shù)R0=double(R);Rlog=log(R0+1);%對(duì)R分量進(jìn)行二維傅里葉變換Rfft2=fft2(R0);%形成高斯濾波函數(shù)sigma=250;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)高斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F)

8、;%對(duì)R分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DR0=Rfft2.*Ffft;DR=ifft2(DR0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像DRdouble=double(DR);DRlog=log(DRdouble+1);Rr=Rlog-DRlog;%取反對(duì)數(shù),得到增強(qiáng)后的圖像分量EXPRr=exp(Rr);%對(duì)增強(qiáng)后的圖像進(jìn)行對(duì)比度拉伸增強(qiáng)MIN=min(min(EXPRr);MAX=max(max(EXPRr);EXPRr=(EXPRr-MIN)/(MAX-MIN);EXPRr=adapthisteq(EXPRr);%取輸入圖像的G分量G=I(:,:,2);N1,M1

9、=size(G);%對(duì)G分量進(jìn)行數(shù)據(jù)轉(zhuǎn)換,并對(duì)其取對(duì)數(shù)G0=double(G);Glog=log(G0+1);%對(duì)G分量進(jìn)行二維傅里葉變換Gfft2=fft2(G0);%形成高斯濾波函數(shù)sigma=250;fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)高斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F);%對(duì)G分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DG0=Gfft2.*Ffft;DG=ifft2(DG0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,

10、得到高頻增強(qiáng)的圖像DGdouble=double(DG);DGlog=log(DGdouble+1);Gg=Glog-DGlog;%取反對(duì)數(shù),得到增強(qiáng)后的圖像分量EXPGg=exp(Gg);%對(duì)增強(qiáng)后的圖像進(jìn)行對(duì)比度拉伸增強(qiáng)MIN=min(min(EXPGg);MAX=max(max(EXPGg);EXPGg=(EXPGg-MIN)/(MAX-MIN);EXPGg=adapthisteq(EXPGg);%取輸入圖像的B分量B=I(:,:,3);N1,M1=size(B);%對(duì)B分量進(jìn)行數(shù)據(jù)轉(zhuǎn)換,并對(duì)其取對(duì)數(shù)B0=double(B);Blog=log(B0+1);%對(duì)B分量進(jìn)行二維傅里葉變換Bf

11、ft2=fft2(B0);%形成高斯濾波函數(shù)sigma=250;fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)高斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F);%對(duì)B分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DB0=Gfft2.*Ffft;DB=ifft2(DB0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像DBdouble=double(DB);DBlog=log(DBdouble+1);Bb=Blog-DBlog;EXPBb=

12、exp(Bb);%對(duì)增強(qiáng)后的圖像進(jìn)行對(duì)比度拉伸增強(qiáng)MIN=min(min(EXPBb);MAX=max(max(EXPBb);EXPBb=(EXPBb-MIN)/(MAX-MIN);EXPBb=adapthisteq(EXPBb);%對(duì)增強(qiáng)后的圖像R、G、B分量進(jìn)行融合lO(:,:,1)=EXPRr;lO(:,:,2)=EXPGg;I0(:,:,3)=EXPBb;%顯示運(yùn)行結(jié)果subplot(121),imshow(I);subplot(122),imshow(I0);*1.3-2例程1.3.1的運(yùn)行結(jié)果例程1.3.2是基于Retinex理論進(jìn)行霧靄天氣增強(qiáng)的MATLAB程序,讀者可結(jié)合程序及

13、注釋對(duì)基于Retinex理論進(jìn)行霧靄天氣增強(qiáng)的基本原理進(jìn)行進(jìn)一步分析,該程序的運(yùn)行結(jié)果如圖1.3-3所示。例程1.32clear;closeall;I=imread('wu.png');%分別取輸入圖像的R、G、B三個(gè)分量,并將其轉(zhuǎn)換為雙精度型R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);R0=double(R);G0=double(G);B0=double(B);N1,M1=size(R);%對(duì)R分量進(jìn)行對(duì)數(shù)變換Rlog=log(R0+1);%對(duì)R分量進(jìn)行二維傅里葉變換Rfft2=fft2(R0);%形成咼斯濾波函數(shù)(sigma=128)sigma=128

14、;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)咼斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F);%對(duì)R分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DR0=Rfft2.*Ffft;DR=ifft2(DR0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像DRdouble=double(DR);DRlog=log(DRdouble+1);Rr0=Rlog-DRlog;%形成咼斯濾波函數(shù)(sigma=256)s

15、igma=256;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)A2+(j-Ml/2)A2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)高斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F);%對(duì)R分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DR0=Rfft2.*Ffft;DR=ifft2(DR0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像DRdouble=double(DR);DRlog=log(DRdouble+1);Rr1=Rlog-DRlog;%形成咼斯濾波函數(shù)(sig

16、ma=512)sigma=512;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);%對(duì)咼斯濾波函數(shù)進(jìn)行二維傅里葉變換Ffft=fft2(double(F);%對(duì)R分量與高斯濾波函數(shù)進(jìn)行卷積運(yùn)算DR0=Rfft2.*Ffft;DR=ifft2(DR0);%在對(duì)數(shù)域中,用原圖像減去低通濾波后的圖像,得到高頻增強(qiáng)的圖像DRdouble=double(DR);DRlog=log(DRdouble+1);Rr2=Rlog-DRlog;%對(duì)上述三

17、次增強(qiáng)得到的圖像取均值作為最終增強(qiáng)的圖像Rr=(1/3)*(Rr0+Rr1+Rr2);%定義色彩恢復(fù)因子Ca=125;II=imadd(R0,G0);II=imadd(II,B0);Ir=immultiply(R0,a);C=imdivide(Ir,II);C=log(C+1);%將增強(qiáng)后的R分量乘以色彩恢復(fù)因子,并對(duì)其進(jìn)行反對(duì)數(shù)變換Rr=immultiply(C,Rr);EXPRr=exp(Rr);%對(duì)增強(qiáng)后的R分量進(jìn)行灰度拉伸MIN=min(min(EXPRr);MAX=max(max(EXPRr);EXPRr=(EXPRr-MIN)/(MAX-MIN);EXPRr=adapthisteq

18、(EXPRr);N1,M1=size(G);%對(duì)G分量進(jìn)行處理,步驟與對(duì)R分量處理的步驟相同,請(qǐng)讀者仿照R分量處理的步驟進(jìn)行理解。G0=double(G);Glog=log(G0+1);Gfft2=fft2(G0);sigma=128;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);Ffft=fft2(double(F);DG0=Gfft2.*Ffft;DG=ifft2(DG0);DGdouble=double(DG);DGlog=l

19、og(DGdouble+1);Gg0=Glog-DGlog;sigma=256;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)A2+(j-Ml/2)A2)/(2*sigma*sigma);endendF=F./(sum(F(:);Ffft=fft2(double(F);DG0=Gfft2.*Ffft;DG=ifft2(DG0);DGdouble=double(DG);DGlog=log(DGdouble+1);Gg1=Glog-DGlog;sigma=512;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j

20、)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);Ffft=fft2(double(F);DG0=Gfft2.*Ffft;DG=ifft2(DG0);DGdouble=double(DG);DGlog=log(DGdouble+1);Gg2=Glog-DGlog;Gg=(1/3)*(Gg0+Gg1+Gg2);a=125;II=imadd(R0,G0);II=imadd(II,B0);Ir=immultiply(R0,a);C=imdivide(Ir,II);C=log(C+1);Gg=immultiply(C,

21、Gg);EXPGg=exp(Gg);MIN=min(min(EXPGg);MAX=max(max(EXPGg);EXPGg=(EXPGg-MIN)/(MAX-MIN);EXPGg=adapthisteq(EXPGg);%對(duì)B分量進(jìn)行處理,步驟與對(duì)R分量處理的步驟相同,請(qǐng)讀者仿照R分量處理的步驟進(jìn)行理解。N1,M1=size(B);B0=double(B);Blog=log(B0+1);Bfft2=fft2(B0);sigma=128;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)入2+(j-Ml/2)入2)/(2*sigma*sigma);endendF=F./(sum(F(:);Ffft=fft2(double(F);DB0=Bfft2.*Ffft;DB=ifft2(DB0);DBdouble=double(DB);DBlog=log(DBdouble+1);Bb0=Blog-DBlog;sigma=256;F=zeros(N1,M1);fori=1:N1forj=1:M1F(i,j)=exp(-(i-Nl/2)A2+(j-Ml/2)A2)/(2*sigma*sigma);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論