一種數(shù)字圖像蠟筆特效的快速生成方法
【專利摘要】一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:遍歷該數(shù)字圖像所有像素點(diǎn),針對每一個所述像素點(diǎn)的紅、綠、藍(lán)色通道進(jìn)行濾波處理得到最大值;在得到歸一化顏色值;再進(jìn)行混合計算,對當(dāng)前像素點(diǎn)的顏色值進(jìn)行RGB空間轉(zhuǎn)換為NTSC電視系統(tǒng)的YIQ空間的處理;對Y通道進(jìn)行校正后,再將校正后的YIQ值進(jìn)行YIQ空間轉(zhuǎn)換為RGB空間的處理,本方法具有的特點(diǎn)是算法簡單,節(jié)省寄存器資源,處理速度快;蠟同事筆效果色偏較小,保持原圖的真實(shí)感。
【專利說明】一種數(shù)字圖像蠟筆特效的快速生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種將數(shù)字圖像處理技術(shù),屬于靜態(tài)數(shù)字圖像處理領(lǐng)域。
【背景技術(shù)】
[0002]隨著各種數(shù)字設(shè)備,尤其是便攜數(shù)字多媒體設(shè)備的普及,用戶都會將自己設(shè)備中保存或是用相機(jī)、手機(jī)拍攝的照片通過圖片軟件來實(shí)現(xiàn)后期制作,添加特效。特效主要包括:亮度調(diào)節(jié),飽和度調(diào)節(jié)等基本效果。但是一些特殊復(fù)雜的特效領(lǐng)域,還是比較缺少。隨著人們對于照片細(xì)節(jié)要求日益擴(kuò)大的情況下,這些基本的特效已經(jīng)很難滿足人們的需求。所以許多復(fù)雜,模擬現(xiàn)實(shí)世界的特效被開發(fā)出來。
[0003]例如,傳統(tǒng)蠟筆繪畫的效果具有獨(dú)特的視覺效果,將數(shù)字圖像處理成蠟筆特效也是一個明顯的技術(shù)需求,目前有一些類似蠟筆特效的算法已經(jīng)被開發(fā)出來,但是,最終對圖片的處理結(jié)果卻很難令人滿意,其缺陷主要有:首先,算法復(fù)雜,導(dǎo)致耗用存儲器/寄存器資源高,在便攜終端硬件受限的情況下處理速度慢,其次,數(shù)字圖像表觀效果與真實(shí)的蠟筆效果相差比較遠(yuǎn),具有色偏明顯的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明利用對色彩空間進(jìn)行轉(zhuǎn)換以及對亮度值進(jìn)行優(yōu)化的方式,旨在提供一種數(shù)字圖像蠟筆特效的快速生成方法,通過簡單的算法,節(jié)省大量的運(yùn)算資源,具有良好的處理速度,同時,很大程度上保持了原有圖像的自然性和真實(shí)感,色調(diào)適中,克服了上述現(xiàn)有數(shù)字圖像蠟筆特效處理的問題。本發(fā)明的技術(shù)方案如下:
[0005]一種數(shù)字圖像蠟筆特效的快速生成方法,遍歷該數(shù)字圖像所有像素點(diǎn),針對每一個所述像素點(diǎn):
[0006]I)讀取該像素點(diǎn)信息;
[0007]2)依次對像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道進(jìn)行最大值濾波處理得到最大值;
[0008]3)用當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的值除以對應(yīng)通道在步驟2)中計算得到的所述最大值,得到歸一化顏色值;
[0009]4)對當(dāng)前像素點(diǎn)的值進(jìn)行灰度化處理;并且將灰度值與閾值進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明度;
[0010]5)將步驟3)中計算得到的所述歸一化顏色值與當(dāng)前像素點(diǎn)的顏色值用步驟4)的所述透明度進(jìn)行混合計算;
[0011]6)對當(dāng)前像素點(diǎn)的顏色值進(jìn)行RGB空間轉(zhuǎn)換為NTSC電視系統(tǒng)的YIQ空間的處理;
[0012]7 )對Y通道進(jìn)行校正處理;
[0013]8)將校正后的YIQ值進(jìn)行YIQ空間轉(zhuǎn)換為RGB空間的處理。
[0014]本方案的改進(jìn)體現(xiàn)在:
[0015]較佳實(shí)施例中,所述接數(shù)字圖像文件后綴包括jpeg、png、jpg、bmp、wbmp。[0016]較佳實(shí)施例中,所述數(shù)字圖像具體包括從視頻文件截取的單幀圖像,所述視頻文件后綴包括 av1、mov、rvmb> rm。
[0017]較佳實(shí)施例中,所述數(shù)字圖像具體包括從GIF動畫截取的單幀圖像,所述GIF文件后綴有包括gif。
[0018]較佳實(shí)施例中,在所述的步驟2)中,開一個包含當(dāng)前像素點(diǎn)的N*N窗口,取N*N窗口中所有像素點(diǎn)的紅、綠、藍(lán)通道的顏色值的最大值,并將紅、綠、藍(lán)通道的顏色值的最大值作為當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值,其中N≥1。
[0019]較佳實(shí)施例中,在所述的步驟3)中,歸一化顏色值的計算公式為:
[0020]ResultColor=0ralColor*255/MaxColor
[0021]其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值A(chǔ)ralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值。
[0022]較佳實(shí)施例中,在所述的步驟4)中,根據(jù)下面的公式將圖像轉(zhuǎn)換為灰度圖:
[0023]Gray=0.299*Red+0.587*Green+0.114*Blue
[0024]其中,Gray為當(dāng)前像素點(diǎn)的灰度值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
[0025]較佳實(shí)施例中,在所述的步驟4)中,根據(jù)下面的公式將圖像轉(zhuǎn)換為灰度圖:
[0026]Gray=(Red*306+Green*601+Blue*l17+512)/1024
[0027]其中,Gray為當(dāng)前像素點(diǎn)的灰度值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
[0028]較佳實(shí)施例中,在所述的步驟4)中,根據(jù)下面的公式將灰度值與所述閾值進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明度:
[0029]Alpha=min (Gray, M) /M;
[0030]其中,Alpha為當(dāng)前像素點(diǎn)的Alpha值,Gray為所述灰度值,M為所述閾值,其范圍為為32到96。
[0031]較佳實(shí)施例中,在所述的步驟5)中,根據(jù)以下公式將步驟3)中計算得到的顏色值與當(dāng)前像素點(diǎn)的顏色值用步驟4)的透明度進(jìn)行混合計算:
[0032]ResultColor=OralColor*(1.0-Alpha)+Alpha*TempColor
[0033]其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值;0ralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值;TempColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值。
[0034]較佳實(shí)施例中,在所述的步驟6)中,根據(jù)以下公式將RGB空間轉(zhuǎn)換為YIQ空間:
[0035]Y=0.299*Red+0.587*Green+0.114*Blue
[0036]1=0.596*Red_0.275*Green_0.321*Blue
[0037]Q=0.212*Red_0.523*Green+0.311*Blue
[0038]其中Y、1、Q分別為轉(zhuǎn)換后的Y通道、I通道、Q通道的顏色值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
[0039]較佳實(shí)施例中,在所述的步驟7)中,根據(jù)以下公式對Y通道進(jìn)行校正處理:
[0040]Y=max (O, min (255, 255.0*pow (Gray/255.0, k)))
[0041]其中Y為Y通道進(jìn)行校正處理后的值,Gray為所述灰度值,k的范圍為1.0到5.0。[0042]較佳實(shí)施例中,在所述的步驟8)中,用以下公式將YIQ空間轉(zhuǎn)換為RGB空間:
[0043]Red=Y+0.956*1+0.621*Q
[0044]Green=Y-0.272*1-1.703*Q
[0045]Blue=Y-L 106*1
[0046]其中,Red.Green.Blue為最終結(jié)果圖的紅色通道、綠色通道、藍(lán)色通道的值。
[0047]本方案帶來的有益效果有:
[0048]1.算法簡單,節(jié)省寄存器資源,處理速度快;
[0049]2.蠟筆效果色偏較小,保持原圖的真實(shí)感。
【專利附圖】
【附圖說明】
[0050]以下結(jié)合附圖實(shí)施例對本發(fā)明作進(jìn)一步說明:
[0051]圖1是本發(fā)明一實(shí)施例的示意圖。
【具體實(shí)施方式】
[0052]下面將結(jié)合本發(fā)明的流程圖如圖1所示,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,需要指出的是,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0053]本實(shí)施例具體實(shí)現(xiàn)步驟包括:
[0054]步驟101:初始化,整個程序進(jìn)入準(zhǔn)備狀態(tài);
[0055]步驟101:讀取圖像,圖像包括單張圖片或從視頻上截取的單幀圖片或GIF動畫里的單幀;
[0056]步驟108:循環(huán)判別步驟,判斷是否所有像素點(diǎn)已經(jīng)遍歷,若是則進(jìn)入結(jié)束步驟110,若沒有則進(jìn)入步驟102 ;
[0057]步驟102:對當(dāng)前像素點(diǎn)進(jìn)行最大值濾波,開一個包含當(dāng)前像素點(diǎn)的5*5窗口,取N*N窗口中所有像素點(diǎn)的紅、綠、藍(lán)通道的顏色值的最大值,并將紅、綠、藍(lán)通道的顏色值的最大值作為當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值,其中N的值大于等于1,作為優(yōu)選,被處理圖片像素小于100萬的N=l,大于等于100萬小于300萬的N=3,大于300萬的N=5 ;
[0058]步驟103:用當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的值除以對應(yīng)通道在步驟102的基礎(chǔ)上計算得到的最大值,使得局部顏色值進(jìn)行歸一化處理,展現(xiàn)圖像的原有紋理;歸一化顏色值的計算公式為:
[0059]ResultColor=0ralColor*255/MaxColor
[0060]其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值A(chǔ)ralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值。
[0061]步驟104:對當(dāng)前像素點(diǎn)的值進(jìn)行灰度化處理;并且將灰度值與閾值為57進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明值,根據(jù)下面的公式將灰度值與閾值為57進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明度值:
[0062]Alpha=min (Gray, 57) /57.0;
[0063]其中,Alpha為當(dāng)前像素點(diǎn)的透明度值,Gray為灰度值。[0064]完成上述步驟后,與步驟102中計算得到的顏色值與當(dāng)前像素點(diǎn)的顏色值進(jìn)行步驟104的透明度進(jìn)行混合計算;根據(jù)以下公式:
[0065]ResultColor=OralColor*(1.0-Alpha)+Alpha*TempColor
[0066]其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值;0ralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值;TempColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值。
[0067]步驟105:將色彩空間從RGB空間轉(zhuǎn)換為YIQ空間;根據(jù)以下公式轉(zhuǎn)換:
[0068]Y=0.299*Red+0.587*Green+0.114*Blue
[0069]1=0.596*Red_0.275*Green_0.321*Blue
[0070]Q=0.212*Red_0.523*Green+0.311*Blue
[0071]其中Y、1、Q分別為轉(zhuǎn)換后的Y通道、I通道、Q通道的顏色值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
[0072]步驟106:根據(jù)根據(jù)以下公式對Y通道進(jìn)行校正處理:
[0073]Y=max (O, min (255, 255.0*pow (Gray/255.0, 2.7)))
[0074]其中Y為Y通道進(jìn)行校正處理后的值,Gray為灰度值。
[0075]步驟107:將色彩空間從YIQ空間轉(zhuǎn)換為RGB空間。用以下公式將YIQ空間轉(zhuǎn)換為RGB空間:
[0076]Red=Y+0.956*1+0.621*Q
[0077]Green=Y-0.272*1-1.703*Q
[0078]Blue=Y-L 106*1
[0079]其中,RecUGreeruBlue即為為最終結(jié)果圖的紅色通道、綠色通道、藍(lán)色通道的值。
[0080]YIQ空間中,Y就是圖像的灰度值(Gray value),而I和Q則是指色調(diào)(ChiOminance),即描述圖像色彩及飽和度的屬性。在上述處理過程中,只校正了 Y通道的數(shù)值,即只改變了圖像的灰度值,并不會修改圖片的色調(diào),所以色偏很小。與其他顏色空間相比,YIQ顏色空間具有能將圖像中的亮度分量分離提取出來的優(yōu)點(diǎn),并且YIQ顏色空間與RGB顏色空間之間是線性變換的關(guān)系,計算量小,聚類特性也比較好,可以適應(yīng)光照強(qiáng)度不斷變化的場合,因此能夠有效地用于彩色圖像處理??捎糜谠谧匀粭l件下采集到的復(fù)雜背景下的果實(shí)目標(biāo)的識別。
[0081]通過以上的實(shí)施方式的描述,數(shù)字圖像處理領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過軟件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
[0082]以上所述,僅為本發(fā)明的一個最佳具體實(shí)施例,但本發(fā)明的特征并不局限于此,任何熟悉該項(xiàng)技術(shù)的人在本發(fā)明領(lǐng)域內(nèi),可輕易想到的變化或修飾,都應(yīng)涵蓋在以下本發(fā)明的申請專利范圍中。
【權(quán)利要求】
1.一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:遍歷該數(shù)字圖像所有像素點(diǎn),針對每一個所述像素點(diǎn): 1)讀取該像素點(diǎn)信息; 2)依次對像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道進(jìn)行濾波處理得到最大值; 3)用當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的值除以對應(yīng)通道在步驟2)中計算得到的所述最大值,得到歸一化顏色值; 4)對當(dāng)前像素點(diǎn)的值進(jìn)行灰度化處理;并且將灰度值與閾值進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明度; 5)將步驟3)中計算得到的所述歸一化顏色值與當(dāng)前像素點(diǎn)的顏色值用步驟4)的所述透明度進(jìn)行混合計算; 6)對當(dāng)前像素點(diǎn)的顏色值進(jìn)行RGB空間轉(zhuǎn)換為NTSC電視系統(tǒng)的YIQ空間的處理; 7)對Y通道進(jìn)行校正處理; 8)將校正后的YIQ值進(jìn)行YIQ空間轉(zhuǎn)換為RGB空間的處理。
2.根據(jù)權(quán)利要求1所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:所述接數(shù)字圖像具體包括后綴有jpeg、png、jpg、bmp、wbmp。
3.根據(jù)權(quán)利要求1所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:所述數(shù)字圖像具體包括從視頻文件截取的單巾貞圖像,所述視頻文件后綴包括av1、mov、rvmb、rm。
4.根據(jù)權(quán)利要求1所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:所述數(shù)字圖像具體包括從GIF動 畫截取的單幀圖像,所述GIF文件后綴有包括gif。
5.根根據(jù)權(quán)利要求1所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于:在所述的步驟2)中,開一個包含當(dāng)前像素點(diǎn)的Ni窗口,取Ni窗口中所有像素點(diǎn)的紅、綠、藍(lán)通道的顏色值的最大值,并將紅、綠、藍(lán)通道的顏色值的最大值作為當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值,其中NS I。
6.根據(jù)權(quán)利要求5所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟3)中,歸一化顏色值的計算公式為:
ResultColor = OralColor * 255/MaxColor 其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值;OralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值。
7.根據(jù)權(quán)利要求6所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟4)中,根據(jù)下面的公式將圖像轉(zhuǎn)換為灰度圖:
Gray = 0.299 *Red+0.587 *Green+0.114 * Blue 其中,Gray為當(dāng)前像素點(diǎn)的灰度值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
8.根據(jù)權(quán)利要求6所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟4)中,根據(jù)下面的公式將圖像轉(zhuǎn)換為灰度圖:
Gray = (Red * 306+Green * 601+Blue * 117+512)/1024 其中,Gray為當(dāng)前像素點(diǎn)的灰度值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
9.根據(jù)權(quán)利要求7或8所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟4)中,根據(jù)下面的公式將灰度值與閾值為57進(jìn)行計算,獲得當(dāng)前像素點(diǎn)的透明度:
Alpha = min (Gray, 57)/57.0 ; 其中,Alpha為當(dāng)前像素點(diǎn)的Alpha值,Gray為所述灰度值。
10.根據(jù)權(quán)利要求9所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟5)中,根據(jù)以下公式將步驟3)中計算得到的顏色值與當(dāng)前像素點(diǎn)的顏色值用步驟4)的透明度進(jìn)行混合計算:
ResultColor = OralColor * (1.0-Alpha) +Alpha * TempColor 其中,ResultColor為當(dāng)前像素點(diǎn)計算后的紅色通道、綠色通道、藍(lán)色通道的顏色值;OralColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的初始顏色值;TempColor為當(dāng)前像素點(diǎn)的紅色通道、綠色通道、藍(lán)色通道的顏色值。
11.根據(jù)權(quán)利要求10所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟6)中,根據(jù)以下公式將RGB空間轉(zhuǎn)換為YIQ空間:
Y= 0.299 * Red+0.587 * Green+0.114 * Blue
I = 0.596 * Red-0.275 * Green-0.321 * Blue
Q = 0.212 * Red-0.523 * Green+0.311 * Blue 其中Y、1、Q分別為轉(zhuǎn)換后的Y通道、I通道、Q通道的顏色值;Red、Green、Blue分別為圖像的當(dāng)前像素點(diǎn)的紅、綠、藍(lán)通道的顏色值。
12.根據(jù)權(quán)利要求11所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟7)中,根據(jù)以下公式對Y通道進(jìn)行校正處理:
V= max (O, min (255, 255.0 * pow (Gray/255.0, k))) 其中Y為Y通道進(jìn)行校正處理后的值,Gray為所述灰度值,k的范圍為1.0到5.0。
13.根據(jù)權(quán)利要求12所述一種數(shù)字圖像蠟筆特效的快速生成方法,其特征在于,在所述的步驟8)中,用以下公式將YIQ空間轉(zhuǎn)換為RGB空間:
Red = Y+0.956 * 1+0.621 * Q
Green = Y-0.272 * 1-1.703 * Q
Blue = Y-1.106 * I 其中,Red, Green, Blue為最終結(jié)果圖的紅色通道、綠色通道、藍(lán)色通道的值。
【文檔編號】G06T11/00GK103440674SQ201310234262
【公開日】2013年12月11日 申請日期:2013年6月13日 優(yōu)先權(quán)日:2013年6月13日
【發(fā)明者】張偉, 傅松林, 胡瑞鑫 申請人:廈門美圖網(wǎng)科技有限公司