本發(fā)明涉及一種實(shí)時(shí)材質(zhì)編輯方法與系統(tǒng),屬于計(jì)算機(jī)圖像處理領(lǐng)域。
背景技術(shù):
基于材質(zhì)圖像信息生成材質(zhì)貼圖,在數(shù)字重建、游戲制作、影視動(dòng)畫(huà)等領(lǐng)域廣泛應(yīng)用。基于單幅圖像的材質(zhì)貼圖生成方法具有圖像獲取方便、操作簡(jiǎn)單等優(yōu)點(diǎn),常見(jiàn)軟件包括CrazyBump、Allegorithmic Substance等。此類軟件通常采用一鍵式貼圖生成方法,即系統(tǒng)根據(jù)用戶輸入的單張圖像自動(dòng)生成一套材質(zhì)貼圖。但為了獲得滿足用戶需求的高質(zhì)量材質(zhì)渲染效果,需要用戶根據(jù)經(jīng)驗(yàn)逐一修改每張材質(zhì)貼圖,一般需要幾個(gè)小時(shí)或更長(zhǎng)時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種實(shí)時(shí)材質(zhì)編輯方法與系統(tǒng),用戶僅需交互調(diào)節(jié)系統(tǒng)提供的三個(gè)參數(shù):鏡面反射系數(shù)、法向系數(shù)、高光系數(shù),便可生成高質(zhì)量的材質(zhì)貼圖。
本發(fā)明的技術(shù)方案包括一種實(shí)時(shí)材質(zhì)編輯方法,其特征在于,該方法包括:S1,輸入的原始圖,該原始圖為單幅樣本材質(zhì)圖像;S2,對(duì)原始圖的漫反射系數(shù)圖、鏡面放射系數(shù)圖、法向圖、高光圖進(jìn)行初始化計(jì)算和生成;S3,根據(jù)用戶輸入的參數(shù),生成材質(zhì)貼圖,其中所輸入的參數(shù)包括鏡面反射系數(shù)、法向系數(shù)、高光系數(shù)。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S2還包括:S201,基于YUV顏色空間明亮度對(duì)單幅樣本材質(zhì)圖像進(jìn)行高光分離,讀取鏡面反射系數(shù),計(jì)算生成得到原始明暗圖、原始顏色圖鏡面反射圖;S202,使用標(biāo)準(zhǔn)差將原始圖像空間明亮度處理為標(biāo)準(zhǔn)正態(tài)分布,讀取法向系數(shù),計(jì)算并生成法向圖;S203,基于YUV顏色空間明亮度,讀取高光系數(shù),計(jì)算并生成高光圖;S204,計(jì)算鏡面反射系數(shù)圖在像素點(diǎn)對(duì)應(yīng)的值,進(jìn)一步計(jì)算并生成鏡面反射系數(shù);S205,計(jì)算漫反射系數(shù)圖在像素點(diǎn)對(duì)應(yīng)的值,進(jìn)一步計(jì)算并生成漫反射系數(shù)。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S3還包括:所輸出材質(zhì)貼圖包括漫反射系數(shù)圖、鏡面反射系數(shù)圖、法向圖、高光圖。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S3還包括:對(duì)輸入?yún)?shù)進(jìn)行識(shí)別,若識(shí)別到輸入的參數(shù)為輸入鏡面反射系數(shù),則依次執(zhí)行所述步驟S201、S202、S203、S204、S205、S3;若識(shí)別到輸入的參數(shù)為法向系數(shù),則依次執(zhí)行所述步驟S202、S204、S205、S3;若識(shí)別到輸入的參數(shù)為高光系數(shù),則依次執(zhí)行所述步驟S203、S204、S3。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S201還包括:1)計(jì)算輸入圖像的原始明暗圖Y,以及,原始顏色圖U、V;2)讀取鏡面反射系數(shù)ρ,其中1<ρ<Ymin,Ymin為輸入圖像的原始明暗圖Y的最小值;3)設(shè)置所有像素的明暗值為常數(shù)ρ,并根據(jù)ρCYUV[1 U V]T計(jì)算鏡面反射圖,其中CYUV為YUV顏色空間向RGB顏色空間的轉(zhuǎn)換函數(shù);4)通過(guò)原始RGB圖像計(jì)算得到鏡面反射圖,進(jìn)一步計(jì)算漫反射圖。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S202還包括:1)讀取在所述步驟S201計(jì)算得到的圖像原始明暗圖Y’;2)將圖像原始明暗圖Y進(jìn)行處理得到新的標(biāo)準(zhǔn)化明暗圖Y’,其中,像素點(diǎn)i(1,...,N)的明暗值處理方法為其中,xi為像素點(diǎn)原始明暗值,xmean為圖像所有像素平均明暗值,xσ為圖像明暗值標(biāo)準(zhǔn)差,3)讀取法向系數(shù),其中法向系數(shù)取值范圍為0-255;4)對(duì)明暗圖Y’進(jìn)行縮放處理,處理時(shí)的計(jì)算方式為Y’*法向系數(shù)/255.0,并根據(jù)明暗圖Y’每個(gè)像素值及其周邊像素的差值,得到法向圖。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S203還包括:1)計(jì)算鏡面反射圖的明暗圖YS;2)將鏡面反射圖的明暗圖YS進(jìn)行處理得到新的標(biāo)準(zhǔn)化明暗圖YS’;3)讀取高光系數(shù),其中高光系數(shù)取值范圍為0-255;4)對(duì)明暗圖YS’進(jìn)行縮放處理,處理時(shí)的計(jì)算方式為YS’*高光系數(shù)/255.0,并將縮放處理后的明暗圖YS’作為高光圖。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S204還包括:使用ρs(x)=Is(x)/pow(Dot(N(x),H),g(x))/Dot(N(x),L)計(jì)算鏡面反射系數(shù)圖在像素點(diǎn)x的值,其中Is(x)為鏡面反射圖在像素點(diǎn)x的值,其中,Dot(N(x),H)為法向量N(x)與H向量的內(nèi)積,g(x)為高光圖在像素點(diǎn)x的值,Dot(N(x),L)為法向量N(x)與光線方向向量L的內(nèi)積。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯方法,所述步驟S205還包括:通過(guò)ρd(x)=Id(x)/Dot(N(x),L)計(jì)算漫反射圖系數(shù)圖在像素點(diǎn)x的值ρd(x),其中,Id(x)為漫反射圖在像素點(diǎn)x的值,Dot(N(x),L)為法向量N(x)與光線方向向量L的內(nèi)積。
本發(fā)明的技術(shù)方案還包括根據(jù)上述任意方法的一種實(shí)時(shí)材質(zhì)編輯系統(tǒng),其特征在于,該系統(tǒng)包括:圖像輸入模塊,用于對(duì)原始圖進(jìn)行讀??;高光分離模塊,用于對(duì)對(duì)原始圖進(jìn)行高光分離,讀取鏡面反射系數(shù),計(jì)算生成得到原始明暗圖、原始顏色圖鏡面反射圖;法向圖生成模塊,用于將原始圖像空間明亮度處理為標(biāo)準(zhǔn)正態(tài)分布,讀取法向系數(shù),計(jì)算并生成法向圖;高光圖生成模塊,用于讀取高光系數(shù),計(jì)算并生成高光圖;鏡面反射系數(shù)圖生成模塊,用于計(jì)算鏡面反射系數(shù)圖在像素點(diǎn)對(duì)應(yīng)的值,并生成鏡面反射圖;漫反射系數(shù)圖生成模塊,用于計(jì)算漫反射系數(shù)圖在像素點(diǎn)對(duì)應(yīng)的值,并生成漫反射圖;輸出模塊,根據(jù)用戶設(shè)定的參數(shù)執(zhí)行對(duì)應(yīng)的模塊。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯系統(tǒng),所述輸出模塊還包括:識(shí)別子模塊,用于接受并識(shí)別用戶設(shè)定的參數(shù)值;執(zhí)行子模塊,用于根據(jù)所述識(shí)別子模塊的識(shí)別結(jié)果依次執(zhí)行對(duì)應(yīng)的多個(gè)模塊;生成子模塊,用于根據(jù)所述執(zhí)行子模塊的執(zhí)行結(jié)果生成對(duì)應(yīng)的模型貼圖。
根據(jù)所述的實(shí)時(shí)材質(zhì)編輯系統(tǒng),其特征在于,所述執(zhí)行子模塊還包括:若所述識(shí)別子模塊的識(shí)別結(jié)果為輸入鏡面反射系數(shù),則依次執(zhí)行高光分離模塊、法向圖生成模塊、高光圖生成模塊、鏡面反射系數(shù)圖生成模塊、漫反射系數(shù)圖生成模塊、輸出模塊。若所述識(shí)別子模塊的識(shí)別結(jié)果為輸入法向系數(shù),則依次執(zhí)行法向圖生成模塊、鏡面反射系數(shù)圖生成模塊、漫反射系數(shù)圖生成模塊、輸出模塊;若所述識(shí)別子模塊的識(shí)別結(jié)果為輸入高光系數(shù),則依次執(zhí)行高光圖生成模塊、鏡面反射系數(shù)圖生成模塊、輸出模塊。
本發(fā)明的有益效果為:當(dāng)用戶交互調(diào)節(jié)某一個(gè)參數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)更新多個(gè)相關(guān)貼圖,整個(gè)交互過(guò)程可以在短時(shí)間內(nèi)響應(yīng),滿足用戶實(shí)時(shí)交互需求,大大提高了材質(zhì)貼圖制作效率。本發(fā)明還具有用戶交互參數(shù)少、易于理解和操作、滿足實(shí)時(shí)要求、材質(zhì)制作效率高等特點(diǎn)。
附圖說(shuō)明
圖1所示為根據(jù)本發(fā)明實(shí)施方式的總體流程圖;
圖2所示為根據(jù)本發(fā)明實(shí)施方式的識(shí)別時(shí)模塊執(zhí)行圖;
圖3所示為根據(jù)本發(fā)明實(shí)施方式的模塊框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明的實(shí)時(shí)材質(zhì)編輯方法和系統(tǒng)適用于計(jì)算機(jī)圖像處理。
圖1所示為根據(jù)本發(fā)明實(shí)施方式的總體流程圖。其中S1輸入原始圖;S2對(duì)原始圖的漫反射系數(shù)圖、鏡面放射系數(shù)圖、法向圖、高光圖進(jìn)行初始化計(jì)算和生成;S3根據(jù)用戶輸入?yún)?shù)執(zhí)行對(duì)應(yīng)的步驟并生成對(duì)應(yīng)的模型貼圖
圖2所示為根據(jù)本發(fā)明實(shí)施方式的模塊執(zhí)行圖。L1(實(shí)心箭頭)所表示的是用戶交互輸入鏡面反射系數(shù)時(shí)的模塊執(zhí)流程,即當(dāng)用戶調(diào)節(jié)鏡面反射系數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行相應(yīng)的模塊,進(jìn)一步,系統(tǒng)會(huì)自動(dòng)更新相關(guān)的漫反射系數(shù)圖、鏡面反射系數(shù)圖、高光圖;L2(長(zhǎng)虛線箭頭)所表示的是用戶交互輸入法向系數(shù)時(shí)的模塊執(zhí)流程,即當(dāng)用戶調(diào)節(jié)法向系數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行相應(yīng)的模塊,進(jìn)一步,系統(tǒng)會(huì)自動(dòng)更新相關(guān)的漫反射系數(shù)圖、鏡面反射系數(shù)圖、法向圖;L3(短虛線箭頭)所表示的是用戶交互輸入高光系數(shù)時(shí)的模塊執(zhí)流程,即當(dāng)用戶調(diào)節(jié)高光系數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行相應(yīng)的模塊,進(jìn)一步,系統(tǒng)會(huì)自動(dòng)更新相關(guān)的鏡面反射系數(shù)圖、高光圖。
圖3所示為根據(jù)本發(fā)明實(shí)施方式的模塊框圖。包括(A)圖像輸入模塊;(B)高光分離模塊;(C)法向圖生成模塊;(D)高光圖生成模塊;(E)鏡面反射系數(shù)圖生成模塊;(F)漫反射系數(shù)圖生成模塊;(G)輸出模塊。
(A)圖像輸入模塊
讀取一張圖片。
(B)高光分離模塊
本系統(tǒng)采用基于YUV顏色空間明亮度Y的高光分離方法:
1)計(jì)算輸入圖像的原始明暗圖Y、以及原始顏色圖U、V;
2)讀取鏡面反射系數(shù)ρ(1<ρ<Ymin,Ymin為輸入圖像的原始明暗圖Y最小值);
3)本系統(tǒng)假設(shè)鏡面反射變化主要由材質(zhì)空間變化所致,即所有像素的明暗值為常數(shù)ρ,并根據(jù)公式ρCYUV[1 U V]T計(jì)算鏡面反射圖,其中CYUV為YUV顏色空間向RGB顏色空間的轉(zhuǎn)換函數(shù)。
4)計(jì)算漫反射圖(原始RGB圖像-鏡面反射圖)。
(C)法向圖生成模塊
為提高法向貼圖的質(zhì)量,本系統(tǒng)采用標(biāo)準(zhǔn)差(z-score)標(biāo)準(zhǔn)化技術(shù),對(duì)原始圖像YUV顏色空間明亮度Y處理為標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1,具體如下:
1)讀取在(B)模塊計(jì)算得到的圖像原始明暗圖Y;
2)將圖像原始明暗圖Y進(jìn)行處理得到新的標(biāo)準(zhǔn)化明暗圖Y’;
像素點(diǎn)i(1,...,N)的明暗值處理方法為
其中,xi為像素點(diǎn)原始明暗值,xmean為圖像所有像素平均明暗值,xσ為圖像明暗值標(biāo)準(zhǔn)差
3)讀取法向系數(shù)(0~255);
4)對(duì)明暗圖Y’進(jìn)行縮放處理(明暗圖Y’*法向系數(shù)/255.0),并根據(jù)明暗圖Y’每個(gè)像素值及其周邊像素的差值,計(jì)算法向圖。
(D)高光圖生成模塊
本系統(tǒng)采用基于YUV顏色空間明亮度Y的高光圖生成方法:
1)計(jì)算鏡面反射圖的明暗圖YS;
2)將鏡面反射圖的明暗圖YS進(jìn)行處理得到新的標(biāo)準(zhǔn)化明暗圖YS’;
2)讀取高光系數(shù)(0~255);
3)對(duì)明暗圖YS’進(jìn)行縮放處理(明暗圖YS’*高光系數(shù)/255.0),作為高光圖。
(E)鏡面反射系數(shù)圖生成模塊
根據(jù)Blinn-Phone模型,本系統(tǒng)通過(guò)以下公式計(jì)算鏡面反射系數(shù)圖在像素點(diǎn)x的值ρs(x):
ρs(x)=Is(x)/pow(Dot(N(x),H),g(x))/Dot(N(x),L),
其中Is(x)為鏡面反射圖在像素點(diǎn)x的值;Dot(N(x),H)為法向量N(x)與H向量(光線方向向量L與視點(diǎn)方向向量V的中間分量)的內(nèi)積;g(x)為高光圖在像素點(diǎn)x的值;Dot(N(x),L)為法向量N(x)與光線方向向量L的內(nèi)積。
(F)漫反射圖系數(shù)圖生成模塊
本系統(tǒng)通過(guò)以下公式計(jì)算漫反射圖系數(shù)圖在像素點(diǎn)x的值ρd(x):
ρd(x)=Id(x)/Dot(N(x),L),
其中Id(x)為漫反射圖在像素點(diǎn)x的值;Dot(N(x),L)為法向量N(x)與光線方向向量L的內(nèi)積。
(G)輸出模塊
輸出材質(zhì)貼圖,包括漫反射系數(shù)圖、鏡面反射系數(shù)圖、法向圖、高光圖。
在材質(zhì)貼圖初始化階段,系統(tǒng)根據(jù)鏡面反射系數(shù)、法向系數(shù)、高光系數(shù)初始值,順序執(zhí)行(A)至(G)模塊,初始化材質(zhì)貼圖。在材質(zhì)貼圖實(shí)時(shí)編輯階段,根據(jù)用戶交互輸入三個(gè)參數(shù),分別執(zhí)行不同的模塊組,快速優(yōu)化相關(guān)材質(zhì)貼圖。本發(fā)明在僅需要少量人工干預(yù)的情況下,便可實(shí)時(shí)生成更為真實(shí)的材質(zhì)貼圖,極大地提高了材質(zhì)制作效率。
以上所述,只是本發(fā)明的較佳實(shí)施例而已,本發(fā)明并不局限于上述實(shí)施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護(hù)范圍。在本發(fā)明的保護(hù)范圍內(nèi)其技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。