本發(fā)明涉及圖像及視頻數(shù)據(jù)處理領(lǐng)域,特別涉及一種基于數(shù)密度均衡的色調(diào)映射方法。
背景技術(shù):
高動(dòng)態(tài)圖像能夠展現(xiàn)可能會(huì)被傳統(tǒng)低動(dòng)態(tài)圖像丟失但卻能被人類視覺(jué)系統(tǒng)感知的極暗和極亮區(qū)域的細(xì)節(jié)信息。它能夠正確地表現(xiàn)真實(shí)世界的亮度范圍。然而傳統(tǒng)圖像傳感器的動(dòng)態(tài)范圍一般只有102個(gè)數(shù)量級(jí),因此由于顯示設(shè)備的限制,高動(dòng)態(tài)圖像無(wú)法在常規(guī)設(shè)備中顯示,因此對(duì)高動(dòng)態(tài)圖像進(jìn)行色調(diào)映射極具意義。
色調(diào)映射將高動(dòng)態(tài)圖像的亮度壓縮到傳統(tǒng)顯示設(shè)備可以接受的范圍,同時(shí)盡可能的保留原圖的細(xì)節(jié)信息,最終達(dá)到設(shè)備中顯示圖像與人眼觀察到的場(chǎng)景一致的效果?,F(xiàn)有色調(diào)映射算法主要包括全局算法和局部算法兩大類。
全局算法對(duì)高動(dòng)態(tài)圖像中的所有像素點(diǎn)進(jìn)行相同的變換算法,通常采用S型曲線。全局算法運(yùn)算速度快,實(shí)現(xiàn)簡(jiǎn)單,但使圖像對(duì)比度大大降低,容易丟失細(xì)節(jié)信息,不能很好地模擬真實(shí)的視覺(jué)相應(yīng)特性,對(duì)處理復(fù)雜的場(chǎng)景和具有極高動(dòng)態(tài)范圍的圖像效果不佳。
局部算法針對(duì)圖像不同的區(qū)域進(jìn)行不同的變換。在調(diào)整圖像中某點(diǎn)的灰度值時(shí),將該點(diǎn)的空間位置考慮在內(nèi)。通常采用基于模擬攝影的方法。局部算法計(jì)算量復(fù)雜,效率低,應(yīng)用范圍較為狹窄。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提供了一種基于數(shù)密度均衡的色調(diào)映射方法,利用低動(dòng)態(tài)(LDR)顯示設(shè)備色調(diào)再現(xiàn)高動(dòng)態(tài)(HDR)圖像內(nèi)容。
本發(fā)明提出的基于數(shù)密度均衡的色調(diào)映射方法,該方法包括步驟:獲得一幅高動(dòng)態(tài)圖像;將所述高動(dòng)態(tài)圖像的亮度范圍劃分為多個(gè)亮度級(jí);當(dāng)所述高動(dòng)態(tài)圖像為較暗場(chǎng)景圖像時(shí),將所述高動(dòng)態(tài)圖像的亮度范圍劃分為第一亮度范圍和第二亮度范圍,將所述第一亮度范圍映射到低動(dòng)態(tài)圖像的第一亮度范圍,將所述第二亮度范圍映射到低動(dòng)態(tài)圖像的第二亮度范圍;當(dāng)所述高動(dòng)態(tài)圖像為非較暗場(chǎng)景圖像時(shí),將所述高動(dòng)態(tài)圖像的亮度范圍映射到低動(dòng)態(tài)圖像的亮度范圍。
本發(fā)明的基于數(shù)密度均衡的色調(diào)映射方法具備如下優(yōu)點(diǎn):1.計(jì)算速度快,實(shí)現(xiàn)簡(jiǎn)單,本發(fā)明采用數(shù)密度均衡的方法進(jìn)行色調(diào)映射,計(jì)算量小,運(yùn)行速度快;2.適應(yīng)場(chǎng)景廣,本發(fā)明對(duì)不同場(chǎng)景圖像進(jìn)行不同方法處理,不僅能夠適應(yīng)光照充足的場(chǎng)景,同樣適應(yīng)較暗場(chǎng)景,有效保留細(xì)節(jié)信息,能夠很好地模擬真實(shí)的視覺(jué)相應(yīng)特性,對(duì)處理復(fù)雜的場(chǎng)景和具有極高動(dòng)態(tài)范圍的圖像效果理想。
附圖說(shuō)明
為了進(jìn)一步說(shuō)明本發(fā)明涉及的技術(shù)方法。我們提供了詳細(xì)的算法流程圖,還給出了一個(gè)具體的處理實(shí)例,處理過(guò)程嚴(yán)格按照本交底書(shū)說(shuō)描述的步驟進(jìn)行。
圖1是基于數(shù)密度均衡的色調(diào)映射方法的算法流程圖。
圖2是高動(dòng)態(tài)圖像亮度-數(shù)密度直方圖示例。
圖3是欠曝光圖像(左)和過(guò)曝光圖像(右)。
圖4是高動(dòng)態(tài)圖像亮度-數(shù)密度直方圖實(shí)際示例。
圖5是映射完成后低動(dòng)態(tài)圖像亮度-數(shù)密度直方圖實(shí)際示例。
圖6是映射完成后的低動(dòng)態(tài)圖像。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
圖1是本發(fā)明基于數(shù)密度均衡的色調(diào)映射方法的算法流程圖,參照?qǐng)D1,該方法包括步驟:
步驟100,首先獲得一幅高動(dòng)態(tài)(HDR)圖像。
該圖像可以從數(shù)碼設(shè)備(照相機(jī)、攝像機(jī)等等)直接獲取或通過(guò)一定的算法合成獲取。對(duì)于彩色圖像,可以先將其轉(zhuǎn)化為黑白圖像。用I表示一幅高動(dòng)態(tài)圖像,其亮度范圍為[0,HBmax],HBmax為高動(dòng)態(tài)圖像亮度最大值。
步驟200,統(tǒng)計(jì)每一亮度級(jí)的像素總數(shù),得到圖像I的“亮度—數(shù)密度”直方圖,即統(tǒng)計(jì)每一亮度級(jí)的像素總數(shù),圖2表示高動(dòng)態(tài)圖像亮度-數(shù)密度直方圖示例圖。該步驟進(jìn)一步包括:
步驟201:將亮度范圍[0,HBmax]分為M份,得到高動(dòng)態(tài)圖像新的亮度范圍[0,M-1],M大于255,M越大效果越好,根據(jù)本發(fā)明,優(yōu)選的,M可以選擇大于1000的值。[0,HBmax]被分為M份,因此得到M個(gè)子區(qū)間。
步驟202:統(tǒng)計(jì)各個(gè)子區(qū)間的像素?cái)?shù),第i個(gè)子區(qū)間的像素計(jì)數(shù)表示為Ni,且得到圖像I的“亮度—數(shù)密度”直方圖。
步驟300,計(jì)算高動(dòng)態(tài)圖像I的平均亮度,根據(jù)計(jì)算的平均亮度來(lái)判斷圖像I是是較暗場(chǎng)景圖像還是非較暗場(chǎng)景圖像。
高動(dòng)態(tài)圖像I的平均亮度可通過(guò)方法計(jì)算獲得,其中i=1,2,...M,Ni為第i個(gè)子區(qū)間的像素計(jì)數(shù),N為圖像像素總數(shù)。設(shè)定判斷是否為較暗場(chǎng)景圖像閾值,該閾值可由用戶自行設(shè)定,當(dāng)圖像平均亮度大于該閾值時(shí),則為非較暗場(chǎng)景圖像,否則為較暗場(chǎng)景圖像。
在該步驟,根據(jù)判斷結(jié)果,若圖像I為較暗場(chǎng)景圖像,執(zhí)行步驟400,若是非較暗場(chǎng)景圖像否則執(zhí)行步驟500。
步驟400,圖像I為較暗場(chǎng)景圖像時(shí),根據(jù)步驟201,其中將高動(dòng)態(tài)圖像的亮度范圍[0,HBmax]分為M份,得到高動(dòng)態(tài)圖像新的亮度范圍[0,M-1]。將HDR圖像色調(diào)映射為低動(dòng)態(tài)LDR圖像,具體地,將亮度范圍[0,M-1]映射到[LBmin,255],0≤LBmin<255,其中LBmin為經(jīng)過(guò)色調(diào)映射后的低動(dòng)態(tài)(LDR)圖像的亮度最小值。也就是說(shuō),將[0,M-1]分為設(shè)定經(jīng)過(guò)色調(diào)映射后的低動(dòng)態(tài)圖像亮度閾值為th,{LBmin<th<255},該閾值可由用戶自行設(shè)定,而對(duì)應(yīng)的高動(dòng)態(tài)圖像亮度閾值為Mth。步驟400進(jìn)一步包括:
步驟401:在高動(dòng)態(tài)圖像的亮度范圍,當(dāng)亮度小于等于Mth時(shí),將高動(dòng)態(tài)圖像I亮度范圍[0,Mth]映射到低動(dòng)態(tài)圖像[LBmin,th]。具體地,通過(guò)下面的方式進(jìn)行映射,設(shè)定計(jì)數(shù)閾值將[0,M0]區(qū)間映射到LBmin,這些區(qū)間的計(jì)數(shù)剛剛超過(guò)NA,多余NA的計(jì)數(shù)計(jì)入下一個(gè)區(qū)間,將[M0+1,M1]區(qū)間映射到LBmin+1,這些區(qū)間的計(jì)數(shù)加上前一個(gè)區(qū)間多余的計(jì)數(shù)剛剛超過(guò)NA。以此類推,直至將[0,Mth]映射完畢
步驟402,在高動(dòng)態(tài)圖像的亮度范圍,當(dāng)亮度大于Mth時(shí),將高動(dòng)態(tài)圖像I亮度范圍[Mth+1,M-1]映射到低動(dòng)態(tài)圖像亮度范圍[th+1,255],根據(jù)未映射完的像素?cái)?shù)rest_pixel和已映射完成的低動(dòng)態(tài)亮度級(jí)數(shù)k來(lái)調(diào)整NA值,NA=rest_pixel/(256-k-LBmin),k=th,th+1,...255-LBmin,將[Mth+1,Mth+1]區(qū)間映射到LBmin+th+1,這些區(qū)間的計(jì)數(shù)剛剛超過(guò)NA,多余NA的計(jì)數(shù)計(jì)入下一個(gè)區(qū)間;以此類推,直至將[Mth+1,M]映射完畢。
步驟500,圖像I為非較暗場(chǎng)景圖像,將亮度范圍[0,HBmax]映射到[LBmin,255]。設(shè)定計(jì)數(shù)閾值將[0,M0]區(qū)間映射到LBmin,這些區(qū)間的計(jì)數(shù)剛剛超過(guò)NA,多余NA的計(jì)數(shù)計(jì)入下一個(gè)區(qū)間,將[M0+1,M1]區(qū)間映射到LBmin+1,這些區(qū)間的計(jì)數(shù)加上前一個(gè)區(qū)間多余的計(jì)數(shù)剛剛超過(guò)NA,以此類推,直至將[0,M],映射完畢。
下面以一示例來(lái)詳細(xì)說(shuō)明。
步驟100:根據(jù)圖3欠曝光圖像和過(guò)曝光圖像合成一幅高動(dòng)態(tài)圖像。
步驟200:統(tǒng)計(jì)每一亮度級(jí)的像素總數(shù),得到圖像I的“亮度—數(shù)密度”直方圖,即統(tǒng)計(jì)每一亮度級(jí)的像素總數(shù),圖4表示其高動(dòng)態(tài)圖像亮度-數(shù)密度直方圖示例圖,具體步驟如下:
步驟201:將亮度范圍分為5000份,因此得到5000個(gè)子區(qū)間。
步驟202:統(tǒng)計(jì)各個(gè)子區(qū)間的像素?cái)?shù),第i個(gè)子區(qū)間的像素計(jì)數(shù)表示為Ni,且得到圖像I的“亮度—數(shù)密度”直方圖,如圖5所示。
步驟300,設(shè)定是否為較暗場(chǎng)景圖像閾值為2000,通過(guò)公式N/totoal_pixel計(jì)算高動(dòng)態(tài)圖像I的平均亮度為1255。因此該圖像為較暗場(chǎng)景圖像,執(zhí)行步驟400。
步驟400,根據(jù)步驟201,得到高動(dòng)態(tài)圖像新的亮度范圍[0,4999]。將HDR圖像色調(diào)映射為低動(dòng)態(tài)LDR圖像,具體地,將亮度范圍[0,4999]映射到[0,255]。也就是說(shuō),將[0,4999]分為256份,設(shè)定經(jīng)過(guò)色調(diào)映射后的低動(dòng)態(tài)圖像亮度閾值為30,該閾值可調(diào)整,而對(duì)應(yīng)的高動(dòng)態(tài)圖像亮度閾值為Mth。
步驟401:在高動(dòng)態(tài)圖像的亮度范圍,當(dāng)亮度小于等于Mth時(shí),將高動(dòng)態(tài)圖像I亮度范圍[0,Mth]映射到低動(dòng)態(tài)圖像[0,30]。具體地,通過(guò)下面的方式進(jìn)行映射,設(shè)定計(jì)數(shù)閾值將[0,M0]區(qū)間映射到低動(dòng)態(tài)亮度0,M0的確定方式為[0,M0]區(qū)間的計(jì)數(shù)剛剛超過(guò)NA,多余NA的計(jì)數(shù)計(jì)入下一個(gè)區(qū)間,將[M0+1,M1]區(qū)間映射到,這些區(qū)間的計(jì)數(shù)加上前一個(gè)區(qū)間多余的計(jì)數(shù)剛剛超過(guò)NA。以此類推,直至將[0,Mth]映射完畢
步驟402,在高動(dòng)態(tài)圖像的亮度范圍,當(dāng)亮度大于th時(shí),將高動(dòng)態(tài)圖像I亮度范圍[Mth+1,4999]映射到低動(dòng)態(tài)圖像亮度范圍[th+1,255],根據(jù)未映射完的像素?cái)?shù)rest_pixel和已映射完成的低動(dòng)態(tài)亮度級(jí)數(shù)k來(lái)調(diào)整NA值,NA=rest_pixel/(256-k),k=th,th+1,...255,將[Mth+1,Mth+1]區(qū)間映射到th+1,這些區(qū)間的計(jì)數(shù)剛剛超過(guò)NA,多余NA的計(jì)數(shù)計(jì)入下一個(gè)區(qū)間;以此類推,直至將[Mth+1,4999]映射完畢。圖5,圖6分別為映射完成后的“亮度-數(shù)密度”直方圖和色調(diào)映射后的圖像。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。