本發(fā)明涉及一種合成高動(dòng)態(tài)范圍圖像的方法,屬于數(shù)字圖像處理技術(shù)領(lǐng)域。
背景技術(shù):
隨著人們生活水平的提高,人們對于圖像的質(zhì)量的要求也越來越高,普通的圖像即低動(dòng)態(tài)范圍圖像由于其深度信息表達(dá)范圍的局限性,已經(jīng)不足以滿足人們的需求。比如現(xiàn)實(shí)場景中的亮度動(dòng)態(tài)范圍一般為105:1,通常人眼在對環(huán)境進(jìn)行觀察時(shí),可以察覺到亮度為10-3cd/m2的星光,也能感受到亮度為105cd/m2的陽光,且人眼在很暗或很亮的情況下都能察覺到現(xiàn)實(shí)場景中的各種細(xì)節(jié)。而一般的圖像沒有這么大的表現(xiàn)范圍。于是人們開始尋找一種可以滿足人類更多需求,可以展現(xiàn)更多的場景細(xì)節(jié),可以更好地滿足人類視覺需求的一種圖像表達(dá)方式。高動(dòng)態(tài)范圍圖像(high dynamic range image)應(yīng)運(yùn)而生,它是一種可以表示實(shí)際場景中亮度大范圍變化的圖像類型,因此,可以更好地同時(shí)表現(xiàn)場景中亮區(qū)和暗區(qū)的光學(xué)特性,高動(dòng)態(tài)范圍圖像還具備像素值正比于場景中對應(yīng)點(diǎn)的實(shí)際亮度值的特性。在圖像處理的很多應(yīng)用領(lǐng)域,因?yàn)槠胀▓D像僅僅記錄了色調(diào)相對關(guān)系,不記錄場景的具體亮度,缺乏理想的對比度和亮度范圍,通常要使用高動(dòng)態(tài)范圍圖像。目前已經(jīng)有很多方法合成高動(dòng)態(tài)范圍圖像,如Debevec與Malik算法、Nayar算法,以及它們的各種改算。
合成高動(dòng)態(tài)范圍圖像的關(guān)鍵步驟是相機(jī)響應(yīng)曲線的恢復(fù),目前存在的計(jì)算相機(jī)響應(yīng)曲線方法,多數(shù)情況是通過使用一組曝光度不同的圖像并自動(dòng)選取若干個(gè)點(diǎn)的方法,僅僅利用圖像的RGB值和曝光時(shí)間,來生成相機(jī)響應(yīng)曲線。雖然這種方法可以快速、高效的合成高動(dòng)態(tài)范圍圖像,但是由于所選取點(diǎn)的真實(shí)亮度值未知,而是通過一些理論公式計(jì)算得來的,不可能適用于全部的像素點(diǎn),因此會(huì)產(chǎn)生很多的誤差,這大大降低了相機(jī)響應(yīng)曲線的準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種合成高動(dòng)態(tài)范圍圖像的方法,為了快速、高精度地生成高動(dòng)態(tài)范圍圖像,其通過拍攝一組曝光度不同的干凈天空的圖片,使用Lumincept軟件模擬該圖片所對應(yīng)的亮度信息模型,該模型記錄了所拍攝的這一組曝光度不同的干凈天空所對應(yīng)的真實(shí)光照信息,圖片中的RGB值和模型對應(yīng)的真實(shí)亮度值,構(gòu)成了一組非線性關(guān)系,即為要恢復(fù)的相機(jī)響應(yīng)曲線,通過使用CIE模型中的三個(gè)可以反應(yīng)人類眼睛敏感度的參數(shù)來計(jì)算合成高動(dòng)態(tài)范圍圖像的三個(gè)通道的值。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種合成高動(dòng)態(tài)范圍圖像的方法,其特征在于:在計(jì)算機(jī)中裝有Lumincept9.31.1軟件,按以下步驟完成:
步驟1、選擇合適的場景,場景中只包括一個(gè)塔尖形狀的物體,塔尖形狀的物體遠(yuǎn)高于場景中的其他物體,場景中還包括沒有云彩的天空,這樣的場景記為Scene;
步驟2、獲取塔尖形狀的物體的底部到頂部之間的距離,用變量Bulid_H表示,距離的單位為米;獲取塔尖形狀的物體在WGS84坐標(biāo)系下的經(jīng)度和緯度,分別用變量Location_longitude1、Location_latitude1表示。
步驟3、調(diào)節(jié)相機(jī)的位置和姿態(tài),使Scene中塔尖形狀的物體的最高處位于相機(jī)的取景器的中心位置。始終保持相機(jī)的位置和姿態(tài)不變,獲取相機(jī)在WGS84坐標(biāo)系下的經(jīng)度和緯度,分別用變量Location_longitude2、Location_latitude2表示;由小到大的改變相機(jī)的曝光時(shí)間A次,相機(jī)的其他參數(shù)不變,通過相機(jī)獲取每個(gè)曝光時(shí)間對應(yīng)的一張Scene照片,第I張照片的曝光時(shí)間設(shè)為S(I),曝光時(shí)間的單位為秒,第I張照片用Image(I)表示,I=1,2,...,A;記錄拍攝第一張照片時(shí)的當(dāng)?shù)貢r(shí)間,用變量Time表示。
步驟4、查看谷歌地圖,分別找到相機(jī)和Scene中塔尖形狀的物體在谷歌地圖中的位置,獲得他們之間的距離,用變量Distance表示,利用Distance和Build_H的值,在Lumicept軟件中模擬相機(jī)的位置和方向。
步驟5、Lumicept軟件中使用CIE(Commission Internationale de L’Eclairage )標(biāo)準(zhǔn)天空模型,根據(jù)Time、Bulid_H、Location_longitude1、Location_latitude1和Location_longitude2、Location_latitude2,在Lumicept軟件中復(fù)現(xiàn)Image(1)中的場景,將復(fù)現(xiàn)的場景記為Simulated_model。
步驟6、設(shè),尋找Image(k)中所有的天空區(qū)域,用Sky表示,將Sky中所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣Z;將矩陣Z的行數(shù)設(shè)為m,列數(shù)設(shè)為n,Z(c,d)=(R(c,d),G(c,d),B(c,d))為矩陣Z的第c行第d列元素,其中R(c,d)、G(c,d)、B(c,d)分別為Z(c,d)的RGB值,c=1,2,…,m;d=1,2,…,n。
步驟7、構(gòu)造矩陣Gy,設(shè)元素Gy(c,d)是矩陣Gy的第c行第d列元素,Gy(c,d)=B(c,d),c=1,2,...,m;d=1,2,...,n。
設(shè)矩陣Gy中元素的最大值用maxGy表示,矩陣Gy中元素的最小值用minGy表示。
步驟8、根據(jù)矩陣Gy中的元素的最大值和最小值來確定采樣點(diǎn)的個(gè)數(shù)N,只需滿足方程:
步驟9、構(gòu)造向量Lrange,Lrange(t)為向量Lrange中的第t個(gè)元素,
。
步驟10、構(gòu)造向量RandNumber,RandNumber(e)為RandNumber的第e個(gè)元素,且RandNumber(e)為整數(shù),;
步驟11、設(shè)在矩陣Gy中與RandNumber(e)相同元素的個(gè)數(shù)為size(e),e=1,2….,N;構(gòu)造矩陣Hp,設(shè)元素Hp(i,j)是矩陣Hp的第i行第j列元素,i=1,2,…,size(p);j=1,2;p=1,2,…,N;構(gòu)造向量w,w(q)為向量w的第q個(gè)元素,w(q)=1,q=1,2,…,size(p),p=1,2,…,N。
步驟12、按照從上到下,從左到右的順序,如果Gy(c,d)等于 RandNumber(e),那么Hp(w(p),1)=c;Hp(w(p),2)=d,w(p)=w(p)+1;構(gòu)造向量random (i)為向量random的第i個(gè)值,random(i)的值是大于1并且小于的任意一個(gè)整數(shù),c=1,2,…,m;d=1,2,…,n,i=1,2,…,size(p),e=p=1,2,…,N。
步驟13、構(gòu)造矩陣RandTest,其中RandTest(i,j)是矩陣RandTest中的第i行第j列元素,i=1,2,…,N;j=1,2;RandTest(i,1)=Hp(random(i),1),RandTest(i,2)=Hp(random(i),2),i=1,2,…,N。
步驟14、將Image(L)上所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣ZL,將矩陣ZL的行數(shù)設(shè)為r,列數(shù)設(shè)為s,設(shè)元素ZL(i,j)=(R_L(i,j),G_L(i,j),B_L(i,j)),ZL(i,j)是矩陣ZL的第i行第j列元素,其中R_L(i,j)、G_L(i,j)、B_L(i,j)分別為ZL(i,j)的RGB值i=1,2,…,r;j=1,2,…,s;L=1,2,…,A。
步驟15、構(gòu)造一個(gè)向量U_R,其中U_R(X)為向量U_R中第X個(gè)元素;U_R(X)=R_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟16、構(gòu)造一個(gè)向量U_G,其中U_G(X)為向量U_G中第X個(gè)元素;當(dāng)U_G(X)=G_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟17、構(gòu)造一個(gè)向量U_B,其中U_B (X)為向量U_B中第X個(gè)元素;當(dāng)U_B(X)=B_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟18、構(gòu)造向量Luminance_R,Luminance_R(Y)為向量Luminance_R中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1),RandTest(i,2))的像素點(diǎn)R通道Luminance值,記為LuminanceR(RandTest(i,1),RandTest(i,2));則Luminance_R(Y)=S(I)*LuminanceR(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟19、構(gòu)造向量Luminance_G,Luminance_G(Y)為向量Luminance_G中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1), RandTest(i,2))的像素點(diǎn)的G通道Luminance值,記為LuminanceG(RandTest(i,1),RandTest(i,2));則Luminance_G(Y)=S(I)*LuminanceG(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟20、構(gòu)造向量Luminance_B,Luminance_B(Y)為向量Luminance_B中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1), RandTest(i,2))的像素點(diǎn)的B通道Luminance值,記為LuminanceB(RandTest(i,1),RandTest(i,2));則Luminance_B(Y)=S(I)*LuminanceB(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟21、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。構(gòu)造向量F1,F(xiàn)1(ii)表示向量F1的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算的值,R通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟22、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4; jj=0,1,2,3,4。構(gòu)造向量F2,F(xiàn)2(ii)為向量F2的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算的值,G通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟23、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。構(gòu)造向量F3,F(xiàn)3(ii)為向量F3的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算值,B通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟24、用相機(jī)1拍攝任意場景,獲得一張照片,用變量Picture_cloud表示;拍攝Picture_cloud時(shí)相機(jī)1的曝光時(shí)間用變量ExposureTime_cloud表示。
步驟25、將Picture_cloud中所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣;設(shè)矩陣P_C的行數(shù)為r,列數(shù)為s,P_C(i,j)=(P_CR(i,j), P_CG(i,j), P_CB(i,j))為矩陣P_C第i行第j列元素,P_CR(i,j)、P_CG(i,j)、P_CB(i,j))分別為P_C(i,j)的RGB值,i=1,2,…,r;j=1,2,…,s。
步驟26、令CIER=0.25100031242007470,CIEG=0.6646797942289187,CIEB=0.08431989,構(gòu)造矩陣L_total,L_total(i,j)為矩陣L_total的第i行第j列元素,則L_total(i,j)可表示為:
i=1,2,…,r;j=1,2,…,s。
步驟27、Picture_cloud對應(yīng)的高動(dòng)態(tài)范圍圖像的RGB值分別用矩陣表示,分別為的第i行第j列元素,
。
通過上述步驟可以快速、高精度地生成高動(dòng)態(tài)范圍圖像。
本發(fā)明的積極效果是利用Lumicept軟件去模擬一組干凈天空的圖片,構(gòu)造一個(gè)記錄當(dāng)時(shí)天空情況的真實(shí)照度模型。對這些一系列曝光時(shí)間不同的干凈天空的圖片,通過上述步驟自動(dòng)選取少量有限采樣點(diǎn)的方法生成相機(jī)響應(yīng)曲線,克服了傳統(tǒng)方法中將圖片的所有像素點(diǎn)都用于進(jìn)行相機(jī)響應(yīng)曲線的計(jì)算所帶來的巨大開銷,然而本方法根據(jù)模板圖片等分灰度區(qū)間,并在等分的灰度區(qū)間內(nèi)的隨機(jī)選點(diǎn),對每幅圖片進(jìn)行采樣點(diǎn)的選取,從而大大減少了計(jì)算相機(jī)響應(yīng)曲線時(shí)的像素點(diǎn)個(gè)數(shù),進(jìn)而降低了生成相機(jī)響應(yīng)曲線所用的開銷。由于所選出的點(diǎn)都有真實(shí)照度值與之對應(yīng),所以可以得到更加準(zhǔn)確的相機(jī)響應(yīng)曲線。最后合成高動(dòng)態(tài)范圍圖像時(shí),使用了CIE天空標(biāo)準(zhǔn)中的各個(gè)通道所占比例,得到的圖像的真實(shí)照度值更加貼近現(xiàn)實(shí)。
具體實(shí)施方式
下面結(jié)合實(shí)施例對本發(fā)明做進(jìn)一步的描述:一種合成高動(dòng)態(tài)范圍圖像的方法,其特征在于:采用相機(jī)1、計(jì)算機(jī)2,并在計(jì)算機(jī)2中裝有Lumincept9.31.1軟件3,按以下的步驟完成:
步驟1、選擇合適的場景,場景中只包括一個(gè)塔尖形狀的物體,塔尖形狀的物體遠(yuǎn)高于場景中的其他物體,場景中還包括沒有云彩的天空,這樣的場景記為Scene;
步驟2、獲取塔尖形狀的物體的底部到頂部之間的距離,用變量Bulid_H表示,距離的單位為米,Bulid_H=123.2m;獲取塔尖形狀的物體在WGS84坐標(biāo)系下的經(jīng)度和緯度,分別用變量Location_longitude1、Location_latitude1表示,Location_longitude1=59。55'48",Location_latitude1=30。19'12"。
步驟3、調(diào)節(jié)相機(jī)1的位置和姿態(tài),使Scene中塔尖形狀的物體的最高處位于相機(jī)1的取景器的中心位置。始終保持相機(jī)1的位置和姿態(tài)不變,獲取相機(jī)1在WGS84坐標(biāo)系下的經(jīng)度和緯度,分別用變量Location_longitude2、Location_latitude2表示,Location_longitude2=59。57',Location_latitude2=30。19'12";由小到大的改變相機(jī)1的曝光時(shí)間A次,A=6,相機(jī)1的其他參數(shù)不變,通過相機(jī)1獲取每個(gè)曝光時(shí)間對應(yīng)的一張Scene照片,第I張照片的曝光時(shí)間設(shè)為S(I),曝光時(shí)間的單位為秒,第I張照片用Image(I)表示,I=1,2,...,A,S(1)=1/6400,S(2)=1/2500,S(3)=1/1600,S(4)=1/1000,S(5)=1/800,S(6)=1/640;記錄拍攝第一張照片時(shí)的當(dāng)?shù)貢r(shí)間,用變量Time表示,Time為2016年1月1號 12:36。
步驟4、查看谷歌地圖,分別找到相機(jī)1和Scene中塔尖形狀的物體在谷歌地圖中的位置,獲得他們之間的距離,用變量Distance表示,Distance=208.69,利用Distance和Build_H的值,在Lumicept軟件中模擬相機(jī)1的位置和方向。
步驟5、Lumicept軟件中使用CIE(Commission Internationale de L’Eclairage )標(biāo)準(zhǔn)天空模型,根據(jù)Time、Bulid_H、Location_longitude1、Location_latitude1和Location_longitude2、Location_latitude2,在Lumicept軟件中復(fù)現(xiàn)Image(1)中的場景,將復(fù)現(xiàn)的場景記為Simulated_model。
步驟6、設(shè),尋找Image(k)中所有的天空區(qū)域,用Sky表示,將Sky中所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣Z;將矩陣Z的行數(shù)設(shè)為m,列數(shù)設(shè)為n,
Z(c,d)=(R(c,d),G(c,d),B(c,d))為矩陣Z的第c行第d列元素,其中R(c,d)、G(c,d)、B(c,d)分別為Z(c,d)的RGB值,c=1,2,…,m;d=1,2,…,n,本文k=3。
步驟7、構(gòu)造矩陣Gy,設(shè)元素Gy(c,d)是矩陣Gy的第c行第d列元素,Gy(c,d)=B(c,d),c=1,2,...,m;d=1,2,...,n。
設(shè)矩陣Gy中元素的最大值用maxGy表示,矩陣Gy中元素的最小值用minGy表示。
步驟8、根據(jù)矩陣Gy中的元素的最大值和最小值來確定采樣點(diǎn)的個(gè)數(shù)N,只需滿足方程:
,本文取N=16。
步驟9、構(gòu)造向量Lrange,Lrange(t)為向量Lrange中的第t個(gè)元素,
。
步驟10、構(gòu)造向量RandNumber,RandNumber(e)為RandNumber的第e個(gè)元素,且RandNumber(e)為整數(shù),,e=1,2….,N-1;
步驟11、設(shè)在矩陣Gy中與RandNumber(e)相同元素的個(gè)數(shù)為size(e),e=1,2….,N;構(gòu)造矩陣Hp,設(shè)元素Hp(i,j)是矩陣Hp的第i行第j列元素,i=1,2,…,size(p);j=1,2;p=1,2,…,N;構(gòu)造向量w,w(q)為向量w的第q個(gè)元素,w(q)=1,q=1,2,…,size(p),p=1,2,…,N。
步驟12、按照從上到下,從左到右的順序,如果Gy(c,d)等于 RandNumber(e),那么Hp(w(p),1)=c;Hp(w(p),2)=d,w(p)=w(p)+1;構(gòu)造向量random (i)為向量random的第i個(gè)值,random(i)的值是大于1并且小于的任意一個(gè)整數(shù),c=1,2,…,m;d=1,2,…,n,i=1,2,…,size(p),e=p=1,2,…,N。
步驟13、構(gòu)造矩陣RandTest,其中RandTest(i,j)是矩陣RandTest中的第i行第j列元素,i=1,2,…,N;j=1,2;RandTest(i,1)=Hp(random(i),1),RandTest(i,2)=Hp(random(i),2),i=1,2,…,N。
步驟14、將Image(L)上所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣ZL,將矩陣ZL的行數(shù)設(shè)為r,列數(shù)設(shè)為s,設(shè)元素ZL(i,j)=(R_L(i,j),G_L(i,j),B_L(i,j)),ZL(i,j)是矩陣ZL的第i行第j列元素,其中R_L(i,j)、G_L(i,j)、B_L(i,j)分別為ZL(i,j)的RGB值i=1,2,…,r;j=1,2,…,s;L=1,2,…,A。
步驟15、構(gòu)造一個(gè)向量U_R,其中U_R(X)為向量U_R中第X個(gè)元素;U_R(X)=R_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟16、構(gòu)造一個(gè)向量U_G,其中U_G(X)為向量U_G中第X個(gè)元素;當(dāng)U_G(X)=G_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟17、構(gòu)造一個(gè)向量U_B,其中U_B (X)為向量U_B中第X個(gè)元素;當(dāng)U_B(X)=B_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步驟18、構(gòu)造向量Luminance_R,Luminance_R(Y)為向量Luminance_R中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1),RandTest(i,2))的像素點(diǎn)R通道Luminance值,記為LuminanceR(RandTest(i,1),RandTest(i,2));則Luminance_R(Y)=S(I)*LuminanceR(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟19、構(gòu)造向量Luminance_G,Luminance_G(Y)為向量Luminance_G中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1), RandTest(i,2))的像素點(diǎn)的G通道Luminance值,記為LuminanceG(RandTest(i,1),RandTest(i,2));則Luminance_G(Y)=S(I)*LuminanceG(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟20、構(gòu)造向量Luminance_B,Luminance_B(Y)為向量Luminance_B中的第Y個(gè)元素。使用Lumicept,讀取Simulated_model中坐標(biāo)為(RandTest(i,1), RandTest(i,2))的像素點(diǎn)的B通道Luminance值,記為LuminanceB(RandTest(i,1),RandTest(i,2));則Luminance_B(Y)=S(I)*LuminanceB(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步驟21、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。構(gòu)造向量F1,F(xiàn)1(ii)表示向量F1的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算的值,R通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟22、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4; jj=0,1,2,3,4。構(gòu)造向量F2,F(xiàn)2(ii)為向量F2的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算的值,G通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟23、構(gòu)造一個(gè)矩陣表示矩陣的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。構(gòu)造向量F3,F(xiàn)3(ii)為向量F3的第ii個(gè)元素,
,ii=0,1,2,3,4;
則可根據(jù)下式
計(jì)算值,B通道的相機(jī)響應(yīng)曲線可用函數(shù)表示,
步驟24、用相機(jī)1拍攝任意場景,獲得一張照片,用變量Picture_cloud表示;拍攝Picture_cloud時(shí)相機(jī)1的曝光時(shí)間用變量ExposureTime_cloud表示,ExposureTime_cloud=1/2000。
步驟25、將Picture_cloud中所有像素點(diǎn)按照從左到右,從上到下的順序構(gòu)成矩陣P_C;設(shè)矩陣P_C的行數(shù)為r,列數(shù)為s,P_C(i,j)=(P_CR(i,j), P_CG(i,j), P_CB(i,j))為矩陣P_C第i行第j列元素,P_CR(i,j)、P_CG(i,j)、P_CB(i,j))分別為P_C(i,j)的RGB值,i=1,2,…,r;j=1,2,…,s。
步驟26、令CIER=0.25100031242007470,CIEG=0.6646797942289187,CIEB=0.08431989,構(gòu)造矩陣L_total,L_total(i,j)為矩陣L_total的第i行第j列元素,則L_total(i,j)可表示為:
i=1,2,…,r;j=1,2,…,s。
步驟27、Picture_cloud對應(yīng)的高動(dòng)態(tài)范圍圖像的RGB值分別用矩陣表示,分別為的第i行第j列元素,
。
通過上述步驟可以快速、高精度地生成高動(dòng)態(tài)范圍圖像。