一種基于直方圖均衡化的圖像數(shù)據(jù)去霧方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種對圖像去霧技術(shù),更具體地說,涉及一種基于直方圖均衡化的圖像數(shù)據(jù)去霧方法。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)的圖像去霧的處理方法是基于暗原色先驗(yàn)的圖像去霧技術(shù),但該方法步驟復(fù)雜,效率較低,不利于在智能移動終端設(shè)備、低端配置的設(shè)備上應(yīng)用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種方法簡單效果顯著的基于直方圖均衡化的圖像數(shù)據(jù)去霧方法。
[0004]本發(fā)明的技術(shù)方案如下:
[0005]一種基于直方圖均衡化的圖像數(shù)據(jù)去霧方法,步驟如下:
[0006]I)獲取待處理圖像的RGB數(shù)據(jù),并分離R、G、B三個通道;
[0007]2)統(tǒng)計(jì)R、G、B三個通道的直方圖信息;
[0008]3)分別對R、G、B三個通道進(jìn)行直方圖均衡化;
[0009]4)將均衡化的R、G、B三個通道的直方圖信息加載到RGB圖像數(shù)據(jù)中,將RGB圖像數(shù)據(jù)轉(zhuǎn)換為原始格式圖像數(shù)據(jù),輸出去霧圖像。
[0010]作為優(yōu)選,如果待處理圖像為非RGB圖像,則在步驟I)中,則先將待處理圖像轉(zhuǎn)成RGB圖像,再進(jìn)行獲取待處理圖像的RGB數(shù)據(jù),并分離R、G、B三個通道。
[0011]作為優(yōu)選,步驟2)具體為:
[0012]2.1)分別預(yù)設(shè)R、G、B三個通道中最暗部分將被變平化的數(shù)量minFlatten,以及最亮部分將被變平化的數(shù)量maxFlatten ;
[0013]2.2)統(tǒng)計(jì)各自通道的直方圖信息,建立直方圖統(tǒng)計(jì)表。
[0014]2.3)分別根據(jù)R、G、B三個通道的minFlatten和maxFlatten以及直方圖統(tǒng)計(jì)表,計(jì)算得出相應(yīng)通道將被均衡化的最小像素值minPixels,以及最大像素值maxPixels。
[0015]作為優(yōu)選,步驟2.1)具體為:
[0016]2.1.1)分別判斷R、G、B三個通道中的值是否小于對應(yīng)minPixels的像素,如果存在,則將該值賦值為對應(yīng)minPixels的像素;
[0017]2.1.2)分別判斷R、G、B三個通道中的值是否大于對應(yīng)maxPixels的像素,如果存在,則將該值賦值為對應(yīng)的maxPixels。
[0018]作為優(yōu)選,步驟2.2)中,直方圖統(tǒng)計(jì)表為內(nèi)存中的一個具有256個長度的整形數(shù)組。
[0019]作為優(yōu)選,步驟2.3)計(jì)算R、G、B三個通道將被均衡化的最小像素值minPixels,以及最大像素值maxPixels具體為:
[0020]2.3.1)將直方圖統(tǒng)計(jì)表,轉(zhuǎn)換為累計(jì)直方圖表;
[0021]2.3.2)從直方圖數(shù)組下標(biāo)為O的位置開始向前遍歷累計(jì)直方圖表,搜索第一個大于minFlatten的索引值作為minPixles值;
[0022]2.3.3)從直方圖數(shù)組下標(biāo)為255的位置開始向后遍歷累計(jì)直方圖表,搜索第一個小于(size - maxFlatten)的索引值作為maxPixels值,其中size為通道大小。
[0023]作為優(yōu)選,步驟1.3.1)具體為:
[0024]2.3.1.1)從直方圖整形數(shù)組中下標(biāo)為O的位置開始將該位置的值加到下標(biāo)為I的位置;
[0025]2.3.1.2)將下標(biāo)為I的位置的值加到下標(biāo)為2的位置;
[0026]2.3.1.3)循環(huán)步驟2.3.1.1)、步驟2.3.1.2),直到下標(biāo)值為255,完成直方圖統(tǒng)計(jì)表轉(zhuǎn)換為累計(jì)直方圖表。
[0027]作為優(yōu)選,步驟3)具體為:
[0028]3.1)預(yù)設(shè)各自通道均衡化的最小目標(biāo)值minTarget和最大目標(biāo)值maxTarget ;
[0029]3.2)分別將R、G、B三個通道中,介于minPixels和maxPixels的像素的值均勻映身寸為 minTarget 和 maxTarget。
[0030]作為優(yōu)選,步驟3.2)具體為:
[0031]3.2.1)遍歷 minPixels 和 maxPixels 范圍內(nèi)的值;
[0032]3.2.2)在 minPixels 和 maxPixels 范圍內(nèi),逐個映射。
[0033]作為優(yōu)選,步驟3.2.1)的實(shí)現(xiàn)具體如下:
[0034]Float scale = (float) (maxTarget-minTarget)/ (float)(maxPixels-minPixels);
[0035]步驟3.2.2)的實(shí)現(xiàn)具體如下:
[0036]for (i = minPixels ;i〈maxPixels ;i++)
[0037]Int targetl = (unsigned char)((1-minPixels)氺scale+minTarget);
[0038]其中,targetl即是位于minPixels和maxPixels范圍內(nèi)的任意值i的映射結(jié)果。
[0039]本發(fā)明的有益效果如下:
[0040]本發(fā)明所述的圖像數(shù)據(jù)去霧方法,基于直方圖均衡化,所述的方法整體步驟簡單,并且容易實(shí)現(xiàn)。所述的方法對應(yīng)的程序量少,執(zhí)行效率高,即使在運(yùn)算速率較低的智能移動終端設(shè)備、低端配置的設(shè)備上,也可以很順暢地進(jìn)行使用。
【附圖說明】
[0041]圖1是待處理圖像;
[0042]圖2是經(jīng)本發(fā)明所述的方法處理后的去霧圖像的效果圖像。
【具體實(shí)施方式】
[0043]以下結(jié)合附圖及實(shí)施例對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說明。
[0044]—種基于直方圖均衡化的圖像數(shù)據(jù)去霧方法,用于如圖1所示的存在霧化的待處理圖像(寬度為704,高度為528)的去霧處理,步驟如下:
[0045]I)獲取待處理圖像的RGB數(shù)據(jù),并分離R、G、B三個通道;
[0046]2)統(tǒng)計(jì)R、G、B三個通道的直方圖信息;
[0047]3)分別對R、G、B三個通道進(jìn)行直方圖均衡化;
[0048]4)將均衡化的R、G、B三個通道的直方圖信息加載到RGB圖像數(shù)據(jù)中,將RGB圖像數(shù)據(jù)轉(zhuǎn)換為原始格式圖像數(shù)據(jù),輸出去霧圖像,去霧效果如圖2所示。
[0049]為了提高圖像的適用范圍,本發(fā)明在進(jìn)行去霧處理前,先檢索待處理圖像是否為RGB圖像,如果待處理圖像為非RGB圖像,則在步驟I)中,則先將待處理圖像轉(zhuǎn)成RGB圖像,再進(jìn)行獲取待處理圖像的RGB數(shù)據(jù),并分離R、G、B三個通道。本實(shí)施例中導(dǎo)入的圖像為RGB數(shù)據(jù),則無需轉(zhuǎn)換。
[0050]本實(shí)施例中,步驟2)具體為:
[0051]2.1)分別預(yù)設(shè)R、G、B三個通道中最暗部分將被變平化的數(shù)量minFlatten為1858,以及最亮部分將被變平化的數(shù)量maxFlatten為1858。本實(shí)施例中,R、G、B三個通道的minFlatten加maxFlatten的總和不能大于各自通道的大小,否則視為無效值。
[0052]步驟2.1)具體為:
[0053]2.1.1)分別判斷R、G、B三個通道中的值是否小于對應(yīng)minPixels的像素,如果存在,則將該值賦值為對應(yīng)minPixels的像素;
[0054]2.1.2)分別判斷R、G、B三個通道中的值是否大于對應(yīng)maxPixels的像素,如果存在,則將該值賦值為對應(yīng)的maxPixels。
[0055]2.2)統(tǒng)計(jì)各自通道的直方圖信息,建立直方圖統(tǒng)計(jì)表。
[0056]步驟2.2)中,直方圖統(tǒng)計(jì)表為內(nèi)存中的一個具有256個長度的整形數(shù)組。本實(shí)施例中,用一個256大小的整形數(shù)組來保存直方圖信息。
[0057]2.3)分別根據(jù)R、G、B三個通道的minFlatten和maxFlatten以及直方圖統(tǒng)計(jì)表,計(jì)算得出相應(yīng)通道將被均衡化的最小像素值minPixels,以及最大像素值maxPixels。
[0058]本實(shí)施例中,紅色通道的minPixels為94, maxPixels為244 ;綠色通道的minPixels 為 93, maxPixels 為 240 ;藍(lán)色通道的 minPixels 為 82, maxPixels 為 236。
[0059]步驟2.3)計(jì)