圖片染色方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種圖片染色方法,包括確定調(diào)色板的精度;根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板;對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值;根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。相應(yīng)地,本發(fā)明還公開(kāi)了一種圖片染色裝置。采用本發(fā)明實(shí)施例,能夠適用于通用格式圖片的染色,染色的效率和靈活度高。
【專(zhuān)利說(shuō)明】圖片染色方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種圖片染色方法及裝置。
【背景技術(shù)】
[0002]在游戲開(kāi)發(fā)制作中,由于受到資源包大小的限制和資源質(zhì)量的嚴(yán)格把關(guān),美術(shù)資源非常有限。這就需要充分復(fù)用有限的美術(shù)資源,在游戲中表現(xiàn)出多樣性和美觀性。貼圖染色技術(shù)是一種復(fù)用相同貼圖資源,通過(guò)在游戲運(yùn)行時(shí)對(duì)圖片進(jìn)行處理,改變貼圖的顏色外觀,來(lái)達(dá)到不同的美術(shù)效果和游戲外觀的技術(shù)?,F(xiàn)有的貼圖染色技術(shù)包括逐幀逐像素變換技術(shù)和基于灰度圖的染色技術(shù)。
[0003]其中,逐幀逐像素變換技術(shù)是在將圖片展開(kāi)的前提下,在渲染貼圖的過(guò)程中,通過(guò)逐像素對(duì)顏色進(jìn)行RGB (紅綠藍(lán))的顏色矩陣過(guò)濾變換,或者將RGB轉(zhuǎn)換成HSL (色相,飽和度,明度),再進(jìn)行HSL變換,來(lái)達(dá)到一個(gè)染色的效果。但是,逐幀逐像素變換技術(shù)中的逐幀逐像素運(yùn)算帶來(lái)比較大的渲染開(kāi)銷(xiāo),尤其在同場(chǎng)景在線人數(shù)火爆的場(chǎng)景下,渲染壓力會(huì)大大增加。而且對(duì)于RGB和HSL的相互轉(zhuǎn)換的非線性運(yùn)算,在逐像素著色處理中開(kāi)銷(xiāo)比較大,可能會(huì)嚴(yán)重影響游戲的渲染幀率和流暢度。
[0004]而基于灰度圖的染色技術(shù)是利用一種和原圖匹配的灰度圖貼圖,記錄了原圖各個(gè)像素上的灰度圖信息,在染色的時(shí)候,每分配一種主顏色值,就根據(jù)這個(gè)灰度圖信息,逐像素乘以主顏色得到對(duì)應(yīng)像素的RGB值,從而實(shí)現(xiàn)一種新的染色效果。但是,這種基于灰度圖的染色技術(shù)染色的靈活度很低,只能有一個(gè)主色調(diào),很難滿足游戲?qū)嶋H染色的設(shè)計(jì)需求。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提出一種圖片染色方法,能夠適用于通用格式圖片的染色,且染色的效率和靈活度高。
[0006]本發(fā)明實(shí)施例提供一種圖片染色方法,包括:
[0007]確定調(diào)色板的精度;
[0008]根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板;
[0009]對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值;
[0010]根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
[0011]在一個(gè)實(shí)施例中,所述根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板具體為:
[0012]根據(jù)所述調(diào)色板的精度,獲得選擇標(biāo)準(zhǔn)調(diào)色板;
[0013]根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
[0014]進(jìn)一步地,所述根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板具體為:
[0015]根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板;或者,
[0016]根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。
[0017]在另一個(gè)實(shí)施例中,所述根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板具體為:
[0018]根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
[0019]進(jìn)一步地,所述對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值具體為:
[0020]對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值;
[0021]對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
[0022]再進(jìn)一步地,所述根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片具體為:
[0023]根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn);
[0024]通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色;
[0025]輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
[0026]本發(fā)明實(shí)施例還提供了一種圖片染色裝置,包括:
[0027]精度確認(rèn)模塊,用于確定調(diào)色板的精度;
[0028]染色模塊,用于根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板;
[0029]采樣模塊,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值;和
[0030]索引模塊,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
[0031 ] 在一個(gè)實(shí)施例中,所述染色模塊具體包括:
[0032]調(diào)色板獲取選擇單元,用于根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板;和,
[0033]調(diào)色板染色單元,用于根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
[0034]進(jìn)一步地,所述調(diào)色板獲取單元具體用于根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板;或者,根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。
[0035]在另一個(gè)實(shí)施例中,所述染色模塊具體用于根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
[0036]進(jìn)一步地,所述采樣模塊具體包括:
[0037]像素采樣單元,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值;和,
[0038]處理單元,用于對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
[0039]再進(jìn)一步地,所述索引模塊具體包括:
[0040]顏色索引單元,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn);
[0041]顏色獲取單元,用于通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色;和,
[0042]顏色輸出單元,用于根據(jù)所述顏色索引單元和顏色獲取單元的輸出結(jié)果,輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
[0043]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
[0044]本發(fā)明實(shí)施例提供的圖片染色方法及裝置,根據(jù)原始圖片的顏色精細(xì)度,確定調(diào)色板的精度,進(jìn)而根據(jù)調(diào)色板的精度,動(dòng)態(tài)生成標(biāo)準(zhǔn)調(diào)色板,可以對(duì)各種格式的原始圖片進(jìn)行染色,并不局限于帶有調(diào)色板的圖片輸入格式,具有很高的通用性;根據(jù)原始圖片的顏色精細(xì)度和調(diào)色板染色所需運(yùn)算量,靈活選擇合適的調(diào)色板精度,使圖片的染色效果、調(diào)色板的存儲(chǔ)大小和圖片染色所需運(yùn)算量之間達(dá)到最佳平衡;只需對(duì)標(biāo)準(zhǔn)調(diào)色板進(jìn)行一次性染色算法處理,相對(duì)于現(xiàn)有技術(shù)中的對(duì)原始圖片進(jìn)行逐像素染色算法處理來(lái)說(shuō),降低染色運(yùn)算量,提高染色效率,且不損失染色效果;通過(guò)線性加權(quán)插值方法,獲得從染色調(diào)色板中索引的多個(gè)離散顏色點(diǎn)的中間過(guò)渡色,相對(duì)于傳統(tǒng)的現(xiàn)有技術(shù)中的256色調(diào)色板圖片來(lái)說(shuō),顏色更豐富,染色更靈活,且降低了鋸齒或色塊的出現(xiàn)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0045]圖1是本發(fā)明提供的圖片染色方法的一個(gè)實(shí)施例的流程示意圖;
[0046]圖2是圖1所示的圖片染色方法中步驟S2的一個(gè)實(shí)施例的流程示意圖;
[0047]圖3是圖1所示的圖片染色方法中步驟S3的一個(gè)實(shí)施例的流程示意圖;
[0048]圖4是圖1所示的圖片染色方法中步驟S4的一個(gè)實(shí)施例的流程示意圖;
[0049]圖5是本發(fā)明提供的圖片染色裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0050]圖6是本發(fā)明提供的圖片變色裝置的染色模塊一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0051]圖7是本發(fā)明提供的圖片變色裝置的采樣模塊一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0052]圖8是本發(fā)明提供的圖片變色裝置的索引模塊一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0053]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0054]參見(jiàn)圖1,是本發(fā)明提供的圖片染色方法的一個(gè)實(shí)施例的流程示意圖。
[0055]本發(fā)明實(shí)施例提供一種圖片染色方法,包括步驟SI至步驟S4,具體如下:
[0056]步驟S1:確定調(diào)色板的精度。
[0057]需要說(shuō)明的是,調(diào)色板的精度是根據(jù)圖片染色的具體需求確定,一般會(huì)參考原始圖片的顏色精細(xì)度。原始圖片的顏色精細(xì)度可由原始圖片存儲(chǔ)大小來(lái)確定,顏色精細(xì)度越小,圖片壓縮就越小。在具體實(shí)施時(shí),可預(yù)先將不同存儲(chǔ)大小的圖片劃分為不同的顏色精細(xì)度范圍,從而根據(jù)顏色精細(xì)度范圍來(lái)選取相匹配的調(diào)色板精度。調(diào)色板精度的選取,同時(shí)決定了調(diào)色板的大小和調(diào)色板染色所需的運(yùn)算量。假設(shè)調(diào)色板精度為W,那么調(diào)色板大小為w*w*w,調(diào)色板染色所需的運(yùn)算量為w*w*w。調(diào)色板精度越高,調(diào)色板中顏色豐富度越高,但調(diào)色板大小和調(diào)色板染色所需的運(yùn)算量也越高。因此,可根據(jù)原始圖片的顏色精細(xì)度和調(diào)色板染色所需運(yùn)算量,靈活選擇合適的調(diào)色板精度,使圖片的染色效果、調(diào)色板的存儲(chǔ)大小和調(diào)色板染色所需運(yùn)算量之間達(dá)到最佳平衡。
[0058]例如,格式為RGB888或RGB565的圖片,選擇精度為16的調(diào)色板,足以達(dá)到較好的染色效果。
[0059]步驟S2:根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板。
[0060]如圖2所示,在一個(gè)實(shí)施例中,上述步驟S2具體包括步驟S21至步驟S22,如下:
[0061]步驟S21:根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板。
[0062]在一個(gè)實(shí)施方式中,步驟S21具體為:根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板。
[0063]例如,在RGB維度中,格式為RGB888或RGB565的原始圖片,選取調(diào)色板精度為16,則在RGB三個(gè)維度上分別采樣16個(gè)離散顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板。標(biāo)準(zhǔn)調(diào)色板數(shù)據(jù)在RGB維度中具體的表示如下:
[0064]PalRef [x] [y] [z] = {R = x*16, G = y*16, B = z*16}
[0065]其中,0≤ x〈16,0 ≤ y〈16,0 ≤ z〈16。
[0066]那么,原始圖片的連續(xù)顏色空間信息可以用4096(16*16*16 = 4096)個(gè)離散的顏色點(diǎn)抽象表示出來(lái)。依次遍歷z維度(B通道),y維度(G通道),X維度(R通道),將4096個(gè)離散顏色點(diǎn)按順序進(jìn)行存儲(chǔ),即可獲得對(duì)應(yīng)的標(biāo)準(zhǔn)調(diào)色板。
[0067]進(jìn)一步地,上述的根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板的方法包括:在RGB三個(gè)維度上均勻采樣;或者,在RGB三個(gè)維度上非均勻采樣;或者,在HSL三個(gè)維度上均勻采樣;或者,在HSL三個(gè)維度上非均勻采樣。
[0068]在另一個(gè)實(shí)施方式中,步驟S21具體為:根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。在具體實(shí)施當(dāng)中,可以預(yù)先配置多個(gè)不同精度的標(biāo)準(zhǔn)調(diào)色板,并存儲(chǔ)在調(diào)色板文件中,使得在步驟S21中可以直接從調(diào)色板文件中選出合適的標(biāo)準(zhǔn)調(diào)色板,從而可以減少運(yùn)算,提高效率。
[0069]步驟S22:根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
[0070]生成染色調(diào)色板的步驟就是遍歷已經(jīng)生成好的標(biāo)準(zhǔn)調(diào)色板數(shù)據(jù),逐像素進(jìn)行染色算法的處理,獲得一個(gè)新的相同精度大小但變換了顏色的調(diào)色板數(shù)據(jù)。具體實(shí)施時(shí),染色算法包括分別在RGB維度和HSL維度的通過(guò)顏色矩陣濾鏡運(yùn)算(Matrix Filter)進(jìn)行逐像素的處理運(yùn)算。矩陣濾鏡運(yùn)算包括在RGB維度和HSL維度上對(duì)標(biāo)準(zhǔn)調(diào)色板進(jìn)行線性矩陣變換和偏移運(yùn)算。其中,RGB維度和HSL維度上的濾鏡矩陣均為4*3的矩陣。
[0071]需要說(shuō)明的是,染色算法還可以采用其他的變色轉(zhuǎn)換函數(shù),例如通過(guò)輸入變色參數(shù),來(lái)調(diào)整色調(diào)(Hue)、飽和度(Saturat1n)和強(qiáng)度(Intensity)等,從而達(dá)到對(duì)調(diào)色板進(jìn)行染色的效果。
[0072]在另一個(gè)實(shí)施例中,上述步驟S2具體為根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
[0073]例如,依靠外部工具(比如Photoshop)對(duì)調(diào)色板圖片進(jìn)行更加高級(jí)復(fù)雜的染色處理后,獲得一個(gè)或者多個(gè)新的染色調(diào)色板,并將這些新的調(diào)色板存為文件,在對(duì)圖片進(jìn)行變色時(shí),直接從調(diào)色板文件中選出染色調(diào)色板。
[0074]進(jìn)一步地,所述染色調(diào)色板為3D紋理貼圖,包括RGB三個(gè)維度;或者,所述染色調(diào)色板為3D紋理貼圖,包括HSL三個(gè)維度;或者,所述染色調(diào)色板為2D紋理貼圖。
[0075]步驟S3:對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值。
[0076]如圖3所示,上述步驟S3具體包括步驟S31至步驟S32,如下:
[0077]S31、對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值。
[0078]S32、對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
[0079]像素的原始顏色值為三維坐標(biāo)值,但染色調(diào)色板可以為3D紋理貼圖或2D紋理貼圖。當(dāng)染色調(diào)色板為3D紋理貼圖時(shí),對(duì)每個(gè)像素的原始顏色值進(jìn)行歸一化處理,即可獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;當(dāng)染色調(diào)色板為2D紋理貼圖時(shí),需將每個(gè)像素的原始顏色值對(duì)應(yīng)的三維坐標(biāo)值轉(zhuǎn)換為與染色調(diào)色板相匹配的二維坐標(biāo)值,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值。
[0080]步驟S4:根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
[0081]如圖4所示,上述步驟S4具體包括步驟S41至步驟S43,如下:
[0082]S41、根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn)。
[0083]S42、通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色。本發(fā)明通過(guò)線性加權(quán)插值方法獲得中間過(guò)渡色,使染色更靈活,顏色更豐富,且具有抗鋸齒效果。同時(shí),充分利用GPU (Graphic Processing Unit,圖形處理器)硬件加速,提高運(yùn)算效率。
[0084]S43、輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
[0085]本發(fā)明實(shí)施例還提供一種圖片染色裝置,能夠?qū)嵤┥鲜鰣D片染色方法的所有流程。
[0086]參見(jiàn)圖5,是本發(fā)明提供的圖片染色裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0087]本發(fā)明實(shí)施例提供一種圖片染色裝置,包括:
[0088]精度確認(rèn)模塊101,用于確定調(diào)色板的精度;
[0089]染色模塊102,用于根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板;
[0090]采樣模塊103,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值;和,
[0091]索引模塊104,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
[0092]參見(jiàn)圖6,是本發(fā)明提供的圖片染色裝置的染色模塊的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0093]本發(fā)明實(shí)施例提供一種染色模塊,包括:
[0094]調(diào)色板獲取單元201,用于根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板;和,
[0095]調(diào)色板染色單元202,用于根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
[0096]在具體實(shí)施當(dāng)中,所述調(diào)色板獲取單元201用于根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板;或者,根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。
[0097]其中,根據(jù)調(diào)色板的精度采樣顏色點(diǎn)的方法包括:在RGB三個(gè)維度上均勻采樣;或者,在RGB三個(gè)維度上非均勻采樣;或者,在HSL三個(gè)維度上均勻采樣;或者,在HSL三個(gè)維度上非均勻采樣。
[0098]在另一個(gè)實(shí)施例中,所述染色模塊102具體用于根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
[0099]進(jìn)一步地,所述染色調(diào)色板為3D紋理貼圖,包括RGB三個(gè)維度;或者,所述染色調(diào)色板為3D紋理貼圖,包括HSL三個(gè)維度;或者,所述染色調(diào)色板為2D紋理貼圖。
[0100]參見(jiàn)圖7,是本發(fā)明提供的圖片染色裝置的采樣模塊的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0101]本發(fā)明實(shí)施例提供一種米樣模塊,包括:
[0102]像素采樣單元301,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值;和,
[0103]處理單元302,用于對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
[0104]參見(jiàn)圖8,是本發(fā)明提供的圖片染色裝置的索引模塊的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0105]本發(fā)明實(shí)施例提供一種索引模塊,包括:
[0106]顏色索引單元401,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn);
[0107]顏色獲取單元402,用于通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色;和,
[0108]顏色輸出單元403,用于根據(jù)所述顏色索引單元和顏色獲取單元的輸出結(jié)果,輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
[0109]本發(fā)明實(shí)施例提供的圖片染色方法及裝置,根據(jù)原始圖片的顏色精細(xì)度,確定調(diào)色板的精度,進(jìn)而根據(jù)調(diào)色板的精度,動(dòng)態(tài)生成標(biāo)準(zhǔn)調(diào)色板,可以對(duì)各種格式的原始圖片進(jìn)行染色,并不局限于帶有調(diào)色板的圖片輸入格式,具有很高的通用性;根據(jù)原始圖片的顏色精細(xì)度和調(diào)色板染色所需運(yùn)算量,靈活選擇合適的調(diào)色板精度,使圖片的染色效果、調(diào)色板的存儲(chǔ)大小和圖片染色所需運(yùn)算量之間達(dá)到最佳平衡;只需對(duì)標(biāo)準(zhǔn)調(diào)色板進(jìn)行一次性染色算法處理,相對(duì)于現(xiàn)有技術(shù)中的對(duì)原始圖片進(jìn)行逐像素染色算法處理來(lái)說(shuō),降低染色運(yùn)算量,提高染色效率,且不損失染色效果;通過(guò)線性加權(quán)插值方法,獲得從染色調(diào)色板中索引的多個(gè)離散顏色點(diǎn)的中間過(guò)渡色,相對(duì)于傳統(tǒng)的現(xiàn)有技術(shù)中的256色調(diào)色板圖片來(lái)說(shuō),顏色更豐富,染色更靈活,且降低了鋸齒或色塊的出現(xiàn)。
[0110]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)【背景技術(shù)】做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0111]以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種圖片染色方法,其特征在于,包括: 確定調(diào)色板的精度; 根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板; 對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值; 根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
2.如權(quán)利要求1所述的圖片染色方法,其特征在于,所述根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板具體為: 根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板; 根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
3.如權(quán)利要求2所述的圖片染色方法,其特征在于,所述根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板具體為: 根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板;或者, 根據(jù)所述調(diào)色板的 精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。
4.如權(quán)利要求1所述的圖片染色方法,其特征在于,所述根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板具體為: 根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
5.如權(quán)利要求1至4任一項(xiàng)所述的圖片染色方法,其特征在于,所述對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值具體為: 對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值; 對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
6.如權(quán)利要求5所述的圖片染色方法,其特征在于,所述根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片具體為: 根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn); 通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色; 輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
7.一種圖片染色裝置,其特征在于,包括: 精度確認(rèn)模塊,用于確定調(diào)色板的精度; 染色模塊,用于根據(jù)所述調(diào)色板的精度,獲得染色調(diào)色板; 采樣模塊,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的顏色坐標(biāo)值;和, 索引模塊,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引每個(gè)像素的顏色,獲得染色后的圖片。
8.如權(quán)利要求7所述的圖片染色裝置,其特征在于,所述染色模塊具體包括: 調(diào)色板獲取單元,用于根據(jù)所述調(diào)色板的精度,獲得標(biāo)準(zhǔn)調(diào)色板;和, 調(diào)色板染色單元,用于根據(jù)染色算法,對(duì)所述標(biāo)準(zhǔn)調(diào)色板中的每個(gè)顏色進(jìn)行染色,獲得染色調(diào)色板。
9.如權(quán)利要求8所述的圖片染色裝置,其特征在于,所述調(diào)色板獲取單元具體用于根據(jù)所述調(diào)色板的精度采樣顏色點(diǎn),生成標(biāo)準(zhǔn)調(diào)色板;或者, 根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出標(biāo)準(zhǔn)調(diào)色板。
10.如權(quán)利要求7所述的圖片染色裝置,其特征在于,所述染色模塊具體用于根據(jù)所述調(diào)色板的精度,從預(yù)先存儲(chǔ)的調(diào)色板文件中,選出染色調(diào)色板。
11.如權(quán)利要求7至10任一項(xiàng)所述的圖片染色裝置,其特征在于,所述采樣模塊具體包括: 像素采樣單元,用于對(duì)所述原始圖片的每個(gè)像素進(jìn)行采樣,獲得每個(gè)像素的原始顏色值;和, 處理單元,用于對(duì)每個(gè)像素的原始顏色值進(jìn)行轉(zhuǎn)換計(jì)算,獲得每個(gè)像素在所述染色調(diào)色板中的顏色坐標(biāo)值;其中,所述顏色坐標(biāo)值具有多個(gè)維度,與所述染色調(diào)色板的維度相匹配。
12.如權(quán)利要求11所述的圖片染色裝置,其特征在于,所述索引模塊具體包括: 顏色索引單元,用于根據(jù)每個(gè)像素的顏色坐標(biāo)值,從所述染色調(diào)色板中逐一索引出每個(gè)顏色坐標(biāo)值鄰近的多個(gè)離散顏色點(diǎn); 顏色獲取單元,用于通過(guò)線性加權(quán)插值方法,獲得對(duì)應(yīng)于所述多個(gè)離散顏色點(diǎn)的中間過(guò)渡色;所述中間過(guò)渡色為對(duì)應(yīng)像素的顏色;和, 顏色輸出單元,用于根據(jù)所述顏色索引單元和顏色獲取單元的輸出結(jié)果,輸出每個(gè)像素對(duì)應(yīng)的顏色,獲得染色后的圖片。
【文檔編號(hào)】G06T11/40GK104077794SQ201410294557
【公開(kāi)日】2014年10月1日 申請(qǐng)日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】王梅林, 唐文良, 吳國(guó)瑞 申請(qǐng)人:廣州博冠信息科技有限公司