一種節(jié)省存儲(chǔ)空間的圖像處理方法
【專利摘要】本發(fā)明公開了一種節(jié)省存儲(chǔ)空間的圖像處理方法,其通過對原始圖像進(jìn)行解碼得到各像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值,并通過創(chuàng)建顏色映射表,對所述原始圖像各像素點(diǎn)的顏色值根據(jù)所述顏色映射表進(jìn)行近似值計(jì)算,得到新顏色值,最后將所述新顏色值替換相應(yīng)的原始圖像各像素點(diǎn)的顏色值,并對其進(jìn)行重新編碼得到新圖像,使得處理后的圖像保證畫質(zhì)損失不會(huì)太嚴(yán)重的基礎(chǔ)上可節(jié)省大約2倍的存儲(chǔ)空間,更有利于文件的傳輸。
【專利說明】一種節(jié)省存儲(chǔ)空間的圖像處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像處理方法,特別是一種可節(jié)省存儲(chǔ)空間的圖像處理方法。
【背景技術(shù)】
[0002]當(dāng)前,圖像分享已經(jīng)成為一種趨勢,我們可以將其分享到網(wǎng)絡(luò)上,也可以用不同軟件之間的相互傳遞來實(shí)現(xiàn)分享。但是在軟件間傳遞時(shí),由于需要一張縮略圖來作為展示用,所以對圖像的文件大小做了限制,而我們在保存圖像縮略圖的時(shí)候,為了符合文件大小,一般會(huì)有以下兩種方案:一種是降低圖像的尺寸,但是這種方案會(huì)使縮略圖的尺寸縮小,導(dǎo)致我們無法看清,需要放大時(shí),會(huì)變得模糊;另一種是降低圖像的畫質(zhì),而目前降低畫質(zhì)的方案目前來說是最好地解決方案,但是如何保證畫質(zhì)降低不多的情況下,文件大小減少更多呢,是目如急需解決的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為解決上述問題,提供了一種新的降低畫質(zhì)的解決方案,不僅可以節(jié)省大約2倍的存儲(chǔ)空間,并且保證畫質(zhì)損失不會(huì)太嚴(yán)重。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0005]一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于,包括以下步驟:
[0006]A.接收原始圖像文件;
[0007]B.對原始圖像進(jìn)行解碼,得到原始圖像各像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值;
[0008]C.創(chuàng)建顏色映射表,對所述原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算并與所述顏色映射表中的顏色值進(jìn)行匹配,得到新顏色值;
[0009]D.將所述新顏色值替換相應(yīng)的原始圖像各像素點(diǎn)的顏色值,并對其進(jìn)行重新編碼得到新圖像。
[0010]作為一種較佳實(shí)施例:所述步驟A中的原始圖像的格式為jpg或jpeg或png圖片格式,所述新圖像的格式與原始圖像的格式保持一致。
[0011]作為一種較佳實(shí)施例:所述步驟C中創(chuàng)建顏色映射表的方法為:
[0012]Cl.初始化一顆樹,并將原始圖像里所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)加入樹中;
[0013]C2.對樹進(jìn)行分析,得到紅色、綠色、藍(lán)色的顏色映射表。
[0014]作為一種較佳實(shí)施例:所述步驟C中得到新顏色值的方法為:
[0015]C3.根據(jù)所述顏色映射表,依次對原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算,得到近似值的顏色映射表里的編號;
[0016]C4.將獲得的各像素點(diǎn)的顏色映射表里的編號與顏色映射表里的顏色值進(jìn)行匹配,并根據(jù)顏色映射表里的顏色值修改所述原始圖像各像素點(diǎn)的顏色值,得到新顏色值。
[0017]作為一種較佳實(shí)施例:所述步驟Cl中初始化一棵樹,樹中包括:紅色、綠色、藍(lán)色的顏色值、顏色的個(gè)數(shù)、是否有子樹以及上一顆樹的位置,并將所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)根據(jù)顏色值的不同劃分到不同的子樹里并進(jìn)行紅色、綠色、藍(lán)色的顏色值的累加。
[0018]作為一種較佳實(shí)施例:所述步驟C2中對樹進(jìn)行分析,主要是先創(chuàng)建一個(gè)初始顏色映射表,然后根據(jù)樹里的紅色、綠色、藍(lán)色的顏色值,顏色的個(gè)數(shù)進(jìn)行計(jì)算得到所需的顏色映射表,計(jì)算公式為:
[0019]Red = redsum/total ;
[0020]Green = greensum/total ;
[0021]Blue = bluesum/total:
[0022]其中,Red、Green、Blue為計(jì)算后顏色映射表的顏色值;redsum、greensum、bluesum為各子樹中的紅色、綠色、藍(lán)色的顏色值的累加后的值;total為各子樹中的顏色的總數(shù)。
[0023]作為一種較佳實(shí)施例:所述步驟C3中根據(jù)所述顏色映射表,依次對原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算,得到近似值的顏色映射表里的編號,主要是根據(jù)該像素點(diǎn)的顏色值與所述顏色映射表進(jìn)行計(jì)算,其計(jì)算公式為:
[0024]k[i] = (r-rarray[i]) *(r-rarray[i]) + (g-garray)氺(g-garray) + (b-barray)氺(b-barray);
[0025]其中,k為該像素點(diǎn)與顏色映射表顏色的差值的數(shù)組;
[0026]r、g、b為該像素點(diǎn)的紅色、綠色、藍(lán)色通道的顏色值;
[0027]rarray> garray、barray為紅色、綠色、藍(lán)色通道的顏色映射表;
[0028]i從O開始直到255 ;然后取數(shù)組k中最小的值作為近似值。
[0029]作為一種較佳實(shí)施例:所述步驟C4中所述新顏色值的計(jì)算公式為:
[0030]resultR = rarray[index];
[0031]resultG = garray [index];
[0032]resultB = barray[index];
[0033]其中resultR、resultG、resultB 為計(jì)算后的新顏色值;rarray、garray、barray 為紅色、綠色、藍(lán)色通道的顏色映射表;indeX為各像素點(diǎn)的所述近似值。
[0034]本發(fā)明的有益效果是:
[0035]本發(fā)明所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其通過對原始圖像進(jìn)行解碼得到各像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值,并通過創(chuàng)建顏色映射表,對所述原始圖像各像素點(diǎn)的顏色值根據(jù)所述顏色映射表進(jìn)行近似值計(jì)算,得到新顏色值,最后將所述新顏色值替換相應(yīng)的原始圖像各像素點(diǎn)的顏色值,并對其進(jìn)行重新編碼得到新圖像,使得處理后的圖像保證畫質(zhì)損失不會(huì)太嚴(yán)重的基礎(chǔ)上可節(jié)省大約2倍的存儲(chǔ)空間,更有利于文件的傳輸。
【專利附圖】
【附圖說明】
[0036]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0037]圖1為本發(fā)明一種節(jié)省存儲(chǔ)空間的圖像處理方法的流程簡圖;[0038]圖2為說明本發(fā)明有益效果的原始圖像;
[0039]圖3為說明本發(fā)明有益效果的處理后的新圖像。
【具體實(shí)施方式】
[0040]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖及實(shí)施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0041]如圖1所示,本發(fā)明的一種節(jié)省存儲(chǔ)空間的圖像處理方法,包括以下步驟:
[0042]A.接收原始圖像文件;
[0043]B.對原始圖像進(jìn)行解碼,得到原始圖像各像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值;
[0044]C.創(chuàng)建顏色映射表,對所述原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算并與所述顏色映射表中的顏色值進(jìn)行匹配,得到新顏色值;
[0045]D.將所述新顏色值替換相應(yīng)的原始圖像各像素點(diǎn)的顏色值,并對其進(jìn)行重新編碼得到新圖像。
[0046]本實(shí)施例中,所述步驟A中的原始圖像的格式為jpg或jpeg或png圖片格式,所述新圖像的格式與原始圖像的格式保持一致。
[0047]本實(shí)施例中,所述步驟C中創(chuàng)建顏色映射表的方法為:
[0048]Cl.初始化一顆樹,并將原始圖像里所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)加入樹中;具體為:初始化一棵樹,樹中包括:紅色、綠色、藍(lán)色的顏色值、顏色的個(gè)數(shù)、是否有子樹以及上一顆樹的位置,并將所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)根據(jù)顏色值的不同劃分到不同的子樹里并進(jìn)行紅色、綠色、藍(lán)色的顏色值的累加。
[0049]C2.對樹進(jìn)行分析,得到紅色、綠色、藍(lán)色的顏色映射表;具體為:先創(chuàng)建一個(gè)初始顏色映射表,然后根據(jù)樹里的紅色、綠色、藍(lán)色的顏色值,顏色的個(gè)數(shù)進(jìn)行計(jì)算得到所需的顏色映射表,計(jì)算公式為:
[0050]Red = redsum/total ;
[0051]Green = greensum/total ;
[0052]Blue = bluesum/total ;
[0053]其中,Red、Green、Blue為計(jì)算后顏色映射表的顏色值;redsum、greensum、bluesum為各子樹中的紅色、綠色、藍(lán)色的顏色值的累加后的值;total為各子樹中的顏色的總數(shù)。
[0054]本實(shí)施例中,所述步驟C中得到新顏色值的方法為:
[0055]C3.根據(jù)所述顏色映射表,依次對原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算,得到近似值的顏色映射表里的編號;其主要是根據(jù)該像素點(diǎn)的顏色值與所述顏色映射表進(jìn)行計(jì)算,其計(jì)算公式為:
[0056]k[i] = (r-rarray[i]) *(r-rarray[i]) + (g-garray)氺(g-garray) + (b-barray)氺(b-barray);
[0057]其中,k為該像素點(diǎn)與顏色映射表顏色的差值的數(shù)組;
[0058]r、g、b為該像素點(diǎn)的紅色、綠色、藍(lán)色通道的顏色值;[0059]rarray> garray、barray為紅色、綠色、藍(lán)色通道的顏色映射表;
[0060]i從O開始直到255 ;然后取數(shù)組k中最小的值作為近似值。
[0061]C4.將獲得的各像素點(diǎn)的顏色映射表里的編號與顏色映射表里的顏色值進(jìn)行匹配,并根據(jù)顏色映射表里的顏色值修改所述原始圖像各像素點(diǎn)的顏色值,得到新顏色值;所述新顏色值的計(jì)算公式為:
[0062]resultR = rarray[index];
[0063]resultG = garray [index];
[0064]resultB = barray[index];
[0065]其中resultR、resultG、resultB 為計(jì)算后的新顏色值;rarray、garray、barray 為紅色、綠色、藍(lán)色通道的顏色映射表;indeX為各像素點(diǎn)的所述近似值。
[0066]如圖2所示,原始圖像尺寸為1000*1333,文件大小為L 78MB,即1822.72KB ;如圖3所示的經(jīng)采用本發(fā)明圖像處理方法處理后的新圖像,可以看出新圖像的畫質(zhì)并沒有降低多少,但是圖像的大小卻減少到486KB,為原來圖像大小的486/1822.67 = 0.26634。
[0067]上述說明示出并描述了本發(fā)明的優(yōu)選實(shí)施例,如前,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于,包括以下步驟: A.接收原始圖像文件; B.對原始圖像進(jìn)行解碼,得到原始圖像各像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值; C.創(chuàng)建顏色映射表,對所述原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算并與所述顏色映射表中的顏色值進(jìn)行匹配,得到新顏色值; D.將所述新顏色值替換相應(yīng)的原始圖像各像素點(diǎn)的顏色值,并對其進(jìn)行重新編碼得到新圖像。
2.根據(jù)權(quán)利要求1所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟A中的原始圖像的格式為jpg或jpeg或png圖片格式,所述新圖像的格式與原始圖像的格式保持一致。
3.根據(jù)權(quán)利要求1所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟C中創(chuàng)建顏色映射表的方法為: Cl.初始化一顆樹,并將原始圖像里所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)加入樹中; C2.對樹進(jìn)行分析, 得到紅色、綠色、藍(lán)色的顏色映射表。
4.根據(jù)權(quán)利要求1或3所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟C中得到新顏色值的方法為: C3.根據(jù)所述顏色映射表,依次對原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算,得到近似值的顏色映射表里的編號; C4.將獲得的各像素點(diǎn)的顏色映射表里的編號與顏色映射表里的顏色值進(jìn)行匹配,并根據(jù)顏色映射表里的顏色值修改所述原始圖像各像素點(diǎn)的顏色值,得到新顏色值。
5.根據(jù)權(quán)利要求3所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟Cl中初始化一棵樹,樹中包括:紅色、綠色、藍(lán)色的顏色值、顏色的個(gè)數(shù)、是否有子樹以及上一顆樹的位置,并將所有紅色通道、綠色通道、藍(lán)色通道的顏色數(shù)據(jù)根據(jù)顏色值的不同劃分到不同的子樹里并進(jìn)行紅色、綠色、藍(lán)色的顏色值的累加。
6.根據(jù)權(quán)利要求3所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟C2中對樹進(jìn)行分析,主要是先創(chuàng)建一個(gè)初始顏色映射表,然后根據(jù)樹里的紅色、綠色、藍(lán)色的顏色值,顏色的個(gè)數(shù)進(jìn)行計(jì)算得到所需的顏色映射表,計(jì)算公式為:
Red = redsum/total ;
Green = greensum/total ;
Blue = bluesum/total ; 其中,Red、Green、Blue為計(jì)算后顏色映射表的顏色值;redsum、greensum、bluesum為各子樹中的紅色、綠色、藍(lán)色的顏色值的累加后的值;total為各子樹中的顏色的總數(shù)。
7.根據(jù)權(quán)利要求4所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟C3中根據(jù)所述顏色映射表,依次對原始圖像各像素點(diǎn)的顏色值進(jìn)行近似值計(jì)算,得到近似值的顏色映射表里的編號,主要是根據(jù)該像素點(diǎn)的顏色值與所述顏色映射表進(jìn)行計(jì)算,其計(jì)算公式為:
k[i] = (r-rarray [i]) ^ (r-rarray [i]) + (g-garray) ^ (g-garray) + (b-barray) ^ (b~barray); 其中,k為該像素點(diǎn)與顏色映射表顏色的差值的數(shù)組; r、g、b為該像素點(diǎn)的紅色、綠色、藍(lán)色通道的顏色值; rarray、garray、barray為紅色、綠色、藍(lán)色通道的顏色映射表; i從O開始直到255 ;然后取數(shù)組k中最小的值作為近似值。
8.根據(jù)權(quán)利要求7所述的一種節(jié)省存儲(chǔ)空間的圖像處理方法,其特征在于:所述步驟C4中所述新顏色值的計(jì)算公式為:resultR = rarray[index];resultG = garray[index];resultB = barray[index]; 其中 resultR、resultG、resultB 為計(jì)算后的新顏色值;rarray、garray、barray 為紅色、綠色、藍(lán)色通道的顏色映射表;indeX為各像素點(diǎn)的所述近似值。
【文檔編號】H04N11/02GK103916650SQ201410035708
【公開日】2014年7月9日 申請日期:2014年1月25日 優(yōu)先權(quán)日:2013年10月29日
【發(fā)明者】張偉, 傅松林, 張長定 申請人:廈門美圖網(wǎng)科技有限公司