欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于多樣圖的紋理轉(zhuǎn)移方法

文檔序號:6398446閱讀:168來源:國知局
專利名稱:基于多樣圖的紋理轉(zhuǎn)移方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機虛擬現(xiàn)實技術(shù)領(lǐng)域,具體地說是一種利用已有紋理圖像生成新紋理圖像的方法,用于真實感虛擬環(huán)境的構(gòu)造和繪制。
背景技術(shù)
在現(xiàn)實世界中,物體表面有十分豐富的紋理細(xì)節(jié),依據(jù)它們?nèi)藗兛梢詤^(qū)分各種具有相同形狀的不同物體,因而物體表面紋理細(xì)節(jié)的模擬在真實感圖形繪制技術(shù)中起著非常重要的作用。如何在計算機生成的圖形中有效地表現(xiàn)這些紋理細(xì)節(jié),一直是計算機圖形學(xué)以及虛擬環(huán)境的構(gòu)造和繪制技術(shù)中研究的熱點問題。
在計算機生成的物體上模擬紋理細(xì)節(jié)主要有兩個方法。一個是用多邊形或其他幾何原語對表面細(xì)節(jié)進行建模,但是當(dāng)細(xì)節(jié)很細(xì)致、很復(fù)雜時,這種方法很不實用;另一個是把圖像映射到對象的表面上,這種技術(shù)稱作紋理映射(texture mapping)。用于紋理映射的圖像通常是矩形,稱作紋理圖(texture map)或紋理(texture)。紋理可以模擬各種表面屬性,如顏色、反射(reflection)、透明等。自Catmull在二十世紀(jì)七十年代首次采用紋理映射技術(shù)模擬物體表面的紋理細(xì)節(jié)以來,紋理映射技術(shù)得到了廣泛的研究和應(yīng)用。
在計算機圖形學(xué)中,紋理映射技術(shù)取得很大的成功,但也存在三個嚴(yán)重問題第一,紋理來源比較單一。目前的紋理主要還是通過手工繪制圖畫和掃描的照片獲得。手工繪制的圖畫可以滿足藝術(shù)上的需要,但是很難像照片一樣真實;而照片作為紋理,通常很小,不能覆蓋整個物體表面。此時,簡單的粘貼在視覺上會引起人造的痕跡。第二,從紋理空間到自然空間沒有自然的映射,因而映射時紋理會產(chǎn)生嚴(yán)重的變形。第三,紋理映射占用大量的內(nèi)存和帶寬。
為此,人們提出了紋理合成技術(shù)。運用紋理合成技術(shù)生成的紋理可以是任意大小、視覺上不重復(fù)的圖案。通過適當(dāng)?shù)靥幚磉吔鐥l件,紋理合成還能夠生成可粘貼的圖像。
紋理合成的目標(biāo)是合成的新紋理在視覺上使人們覺得是用與原有紋理相同的基本過程生成的。
紋理合成有兩種方式一種是根據(jù)模型生成紋理;另一種是根據(jù)已有的紋理圖像(也稱作紋理樣圖)生成新的紋理。紋理合成要解決兩個問題一是建模,如何從給定的有限紋理樣圖中估計紋理生成過程。估計的過程既要能建模輸入紋理的過程部分,又要能建模隨機部分。建模的成功與否是由合成紋理相對于給定樣圖在視覺上的逼真性決定的。二是采樣,如何開發(fā)有效的采樣過程從給定模型生成新的紋理。采樣過程的有效性將直接決定紋理生成的計算量。
Wei[1]提出L形鄰域搜索的方法,采用多分辨率合成方法減小搜索范圍,并用樹狀結(jié)構(gòu)的矢量量化技術(shù)進行加速。Ashikhmin[2]利用相關(guān)性原理改進了Wei方法,把搜索范圍限制在當(dāng)前的鄰域,從而提高了搜索速度。
基于L形紋理合成方法是根據(jù)已經(jīng)合成的區(qū)域,在樣圖中尋找相似度最大的種子進行合成。下面具體說明兩個形狀相同的鄰域N1,N2的相似度用下式進行衡量,即d(N1,N2)=Σp∈N1,q∈N2(R(p)-R(q))2+(G(p)-G(q))2+(B(p)-B(q))2]]>式中d值越小表明兩個鄰域越相似。其中,函數(shù)R( ),G( )和B( )分別表示鄰域中像素的R(紅色)、G(綠色)和B(藍(lán)色)值;p和q分別是鄰域N1和N2中對應(yīng)的像素。因此,鄰域的形狀和搜索順序十分重要,它直接影響紋理局部匹配的結(jié)果。
Ashikhmin[2]利用了相關(guān)性原理把搜索范圍限制在當(dāng)前的鄰域,從而提高了搜索速度,如圖2。根據(jù)L形鄰域種子在輸入圖像中的對應(yīng)位置(圖2中箭頭所指的種子),利用相應(yīng)的偏移找到待選種子。例如,輸出圖像中當(dāng)前要合成的種子P的右上角鄰點為Q,Q在輸入圖像中的匹配種子是Q1,以圖像左上角為原點建立坐標(biāo)系,x軸正方向水平向右,y軸正方向垂直向下,這樣種子P與Q在水平方向x上相差-1,在垂直方向y上相差1,則有P=Q+(-1,1),這樣,待選種子Q1由Q2+(-1,1)獲得。由此計算所有待選種子。在圖2中黑色點是所計算出的待選種子,比較各個待選種子與當(dāng)前種子P的L形鄰域的相似度,按照(公式1)計算相似度,選擇d值最小的種子作為當(dāng)前種子的對應(yīng)種子。
基于L形紋理合成算法如下(1)記錄緩存中種子位置在輸入圖像中的位置。
(2)對于輸出圖像中的每個種子,按掃描順序進行如下計算●在輸出圖像中,考慮指定大小的當(dāng)前種子的L形鄰域,如圖2;●對鄰域中的每個種子,根據(jù)在緩存中最初的種子位置,偏移相應(yīng)位置后找出候選種子;●清除重復(fù)的候選種子;●在候選種子列表中選取與輸出圖像當(dāng)前種子的L形鄰域誤差最小的種子;●將所選種子的值從輸入圖像拷貝到輸出圖像當(dāng)前種子,并在緩存中記錄其最初的位置。
Xu[3]、Liang[4]和Efros[5]采用基于塊(patch)的技術(shù),特點是紋理合成速度快,特別是Liang實現(xiàn)了實時合成紋理。下面說明基于塊的紋理合成方法。為方便敘述,先對該方法中所用到的符號及其含義說明如下Iin輸入的采樣紋理Iout合成的紋理BkIin中的紋理塊,用于粘貼到Iout中,采用正方形WBBk的寬度EBkBk與Iout中已經(jīng)合成的紋理進行融合的寬度
EoutkIout中已經(jīng)粘貼的塊的邊界區(qū)域WEEoutk的寬度B(x,y)Iin中左下角在(x,y)的紋理塊ΨB集合,包括Iin與Eoutk匹配的所有紋理塊的邊界區(qū)域令I(lǐng)R1和IR2是兩個有相同形狀和大小的紋理塊。定義如果d(R1,R2)<δ則稱IR1和IR2匹配。這里d( )表示兩個紋理塊之間的距離,δ是個常數(shù)。
基于塊的采樣算法通過經(jīng)驗直方圖,用非參數(shù)形式估計局部條件的MRF(FRAME或Gibbs)密度p(IR|IR)。定義紋理塊IR的邊界區(qū)域為R,其寬度為wE。當(dāng)在邊界區(qū)域上的紋理IR已知時,可以估計未知紋理塊IR的條件概率分布。不必構(gòu)造模型,對于所有已經(jīng)知道IR為其邊界區(qū)域的塊,直接查詢所有輸入紋理樣圖Iin。查詢結(jié)果對紋理塊IR形成一個經(jīng)驗的直方圖Ψ。為了合成IR,只要從Ψ中任意選擇一個元素。數(shù)學(xué)上,估計的條件MRF密度是p(IR|I∂R)=Σiαiδ(IR-IRi),]]>這里IRi是IR的一個采樣塊,其邊界區(qū)域IRi匹配邊界區(qū)域IR。規(guī)范化權(quán)值αi,類似于比例系數(shù)。
對于任意的合成紋理Iout,構(gòu)造集合ΨBΨB={B(x,y)|d(EB(x,y),Eoutk)<dmax,B(x,y)∈Iin}]]>這里,dmax是邊界區(qū)域的距離容忍度。從ΨB中任意選擇一塊紋理作為第k個粘貼的紋理塊。對于給定的dmax,集合ΨB可能是空的。此時,選擇具有最小距離d(EBk,Eoutk)的Bk作為Iin中的紋理塊。基于塊的紋理合成過程如圖3所示。具體算法如下(1)任意從Iin中選擇wB×wB的紋理塊B0,把B0粘貼到Iout的左下角,設(shè)k=1;(2)構(gòu)造Iin的所有紋理塊集合ΨB,其邊界區(qū)域匹配Eoutk。
(3)如果ΨB為空,設(shè)ΨB={Bmin},其中,Bmin表示邊界最靠近Eoutk的區(qū)域。
(4)從集合ΨB任意選擇一個元素作為第k個紋理塊Bk。把Bk粘貼到輸出紋理Iout中。設(shè)k=k+1;(5)重復(fù)(2),(3)和(4),直到Iout完全覆蓋為止。
在邊界區(qū)域上進行融合,做法如下設(shè)漸變因子為實數(shù)d,其值根據(jù)像素的位置由1漸漸變化到0;設(shè)對應(yīng)的兩幅紋理重疊部分像素值分別保存在緩存image1和image2中,融合后的結(jié)果保存在緩存image中,計算融合的公式為image=d*image1+(1-d)*image2。
基于塊的紋理合成速度快,但是合成的圖像有局限性?;贚形鄰域搜索方法合成速度慢,但是容易控制合成的過程,能夠根據(jù)樣圖合成新的、意想不到的紋理圖像。目前的紋理轉(zhuǎn)移方法都是基于單樣圖,采用L形的紋理合成方法,合成速度很慢。

發(fā)明內(nèi)容
為克服上述缺點,本發(fā)明的目的在于提供一種基于多樣圖的紋理轉(zhuǎn)移方法,該方法可以根據(jù)已有紋理圖像合成(也就是“生成”)新的紋理圖像,擴大紋理來源的途徑,滿足虛擬環(huán)境中真實感繪制的需求。
本發(fā)明采用多樣圖實現(xiàn)紋理轉(zhuǎn)移,具體做法是首先,對目標(biāo)圖像按照亮度粗略地進行分塊,針對不同的亮度塊采用不同的紋理,運用基于塊的紋理合成方法實現(xiàn)紋理轉(zhuǎn)移;然后,對每個亮度變化大于用戶輸入閥值的塊再進行細(xì)分,直到亮度變化小于用戶輸入的閥值為止,對細(xì)分的亮度塊運用基于L形鄰域的紋理合成方法實現(xiàn)紋理轉(zhuǎn)移。
本發(fā)明與現(xiàn)有技術(shù)相比,其有益效果是根據(jù)已有的紋理能夠生成新的紋理,紋理轉(zhuǎn)移過程由粗到細(xì)、逐步求精、速度快,用戶可以控制不同的紋理樣圖實現(xiàn)紋理轉(zhuǎn)移。


圖1為本發(fā)明基于多樣圖的紋理轉(zhuǎn)移方法主要流程圖;圖2為本發(fā)明采用的基于L形的紋理合成方法;圖3為本發(fā)明采用的基于塊的紋理合成過程。
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作詳細(xì)說明。
以前的紋理轉(zhuǎn)移方法大多是基于單個紋理樣圖進行的。本發(fā)明基于多樣圖的紋理轉(zhuǎn)移,綜合利用了Liang的基于塊方法和Ashikhmin的基于L形鄰域搜索方法,由粗到細(xì),逐步求精,實現(xiàn)基于多樣圖的紋理轉(zhuǎn)移。
多樣圖的紋理轉(zhuǎn)移問題可以歸結(jié)為以下問題I1+I2+…+In+T=R式中,I1,I2,...,In是不同的紋理樣圖,T是目標(biāo)圖像,R是合成后的紋理圖像。也就是說,紋理樣圖Ii根據(jù)用戶的約束條件,對目標(biāo)圖像T進行紋理合成,生成新的圖像。本發(fā)明的用戶約束條件是根據(jù)目標(biāo)圖像的亮度變化,分別采用不同的紋理樣圖對其進行紋理合成。
本發(fā)明的主要流程圖如圖1所示,具體步驟如下(1)用基于塊的方法實現(xiàn)紋理轉(zhuǎn)移首先對目標(biāo)圖像的亮度進行分析,建立不同亮度級與不同紋理樣圖之間的對應(yīng)關(guān)系。由于大多數(shù)圖像都是采用RGB(R表示紅色值,G表示綠色值,B表示藍(lán)色值)的形式存儲圖像的色彩信息,而RGB值不能很好地反映圖像的亮度變化,因此我們采用YIQ(Y表示亮度,I表示同相信號,Q表示正交信號)形式。從RGB到Y(jié)IQ的變換可根據(jù)下式進行YIQ=0.2990.5870.1140.596-0.274-0.3220.211-0.5230.312RGB]]>根據(jù)亮度值Y可以對圖像進行亮度分析。
下面以雙樣圖紋理轉(zhuǎn)移方法為例說明多樣圖紋理轉(zhuǎn)移的方法。
按照用戶給定的亮度Y閥值,對目標(biāo)圖像分成兩級,圖像的基本分級單位是m×m的塊,經(jīng)驗表明,對于分辨率為n×n的圖像,m=n/。對這兩級,分別使用不同的兩個紋理樣圖,采用基于塊的方法進行紋理合成,初步實現(xiàn)紋理轉(zhuǎn)移。
(2)基于L形鄰域搜索的方法實現(xiàn)紋理轉(zhuǎn)移用基于塊的方法實現(xiàn)紋理轉(zhuǎn)移,生成的紋理還比較粗糙,需要進一步細(xì)分。此時,對于初步紋理合成圖像中每個亮度級的紋理塊,大小是m×m,計算每一紋理塊中像素的最大亮度值與最小亮度值之間的差,如果小于用戶輸入的閾值,則保持該塊;否則,把m×m細(xì)分成(m/2)×(m/2),再對這些細(xì)分的塊進行亮度值比較,如此反復(fù),直到塊中像素的亮度變化小于用戶輸入的閾值為止。對于這些亮度變化不大的塊,用基于L形鄰域搜索的方法,按照其采用的紋理樣圖進行紋理合成。
本例中采用的基于塊的紋理合成方法和基于L形的紋理合成方法均屬于公知技術(shù),在背景技術(shù)中已作介紹,故在此不再贅述。
本發(fā)明也可使用更多的紋理樣圖,例如使用3個紋理樣圖,此時用戶要給定兩個亮度閥值Y1、Y2,且Y2>Y1,根據(jù)目標(biāo)圖像的亮度值Y是否小于等于Y1、大于Y1且小于Y2、大于等于Y2而將目標(biāo)圖像分成三級,然后分別使用不同的紋理樣圖按上述方法進行紋理轉(zhuǎn)移。
上述實施例僅用于說明本發(fā)明的發(fā)明步驟,并不限定本發(fā)明的專利保護范圍,任何按照本發(fā)明方法所作的改進,仍應(yīng)屬本發(fā)明的專利范圍之內(nèi)。
引用文獻(xiàn)[1]Li-Yi Wei,Marc Levoy.Fast Texture Synthesis using Tree-structured Vector Quantization.InProceedings of SIGGRAPH.Los AngelesACM Press,2000.479~488[2]M.Ashikhmin.Synthesizing natural textures.In2001 ACM Symposium on Interactive 3D Graphics.Los AngelesACM Press,2001.217~226[3]Y.Xu,B.Guo,and H.-Y.Shum.Chaos mosaicFast and Memory Efficient Texture Synthesis”.Tech.Rep.MSR-TR-2000-32,Microsoft Research,2000[4]L.Liang,C.Liu,Y.Xu,B.Guo,et al.Real-time texture synthesis by patch-based sampling.TechnicalReport MSR-TR-2001-40,Microsoft Research,March 2001[5]Alexei A.Efros,William T.Freeman.Image Quilting for Texture Synthesis and Transfer.InProceedings of SIGGRAPH.Los AngelesACM Press,2001.341~34權(quán)利要求
1.一種基于多樣圖的紋理轉(zhuǎn)移方法,其特征在于它包括以下步驟(1)進行初步紋理轉(zhuǎn)移將目標(biāo)圖像細(xì)分成圖像塊,根據(jù)目標(biāo)圖像的亮度確定n-1個亮度分級閾值,根據(jù)這些閾值將圖像塊按亮度級歸納成n級,對n級圖像塊分別使用不同的n個紋理圖樣,采用基于塊的方法對各圖像塊進行紋理合成而得到各紋理塊,從而實現(xiàn)初步紋理轉(zhuǎn)移;(2)按亮度差細(xì)分紋理塊對于每個紋理塊,計算其最大亮度值與最小亮度值的差,如果小于規(guī)定的閾值,則保持該紋理塊,否則把該紋理塊細(xì)分,再對細(xì)分后的紋理塊進行亮度差的比較,如此反復(fù),直至各紋理塊的亮度差均小于規(guī)定的閾值為止;(3)紋理合成對于上述亮度差小于規(guī)定閾值的紋理塊,根據(jù)其亮度級,使用對應(yīng)的紋理樣圖,采用基于L形紋理合成方法進行紋理合成。
2.如權(quán)利要求1所述的基于多樣圖的紋理轉(zhuǎn)移方法,其特征在于所述步驟1中的目標(biāo)圖像各像素點的亮度由以下公式變換得到Y(jié)=0.299R+0.587G+0.114b式中R、G、B為圖像的色彩值,Y為圖像的亮度值。
全文摘要
本發(fā)明是基于多樣圖的紋理轉(zhuǎn)移方法。該方法首先在用戶參與下對目標(biāo)圖像用戶給定的亮度值劃分成若干級;然后,用基于塊的方法,針對不同的亮度級采用不同的紋理樣圖進行紋理合成;最后,對于已經(jīng)合成的塊,計算每個紋理塊的亮度差異,如果大于用戶輸入的閥值,則把該塊細(xì)分成小塊,直至細(xì)分的塊中亮度差異小于用戶輸入的閥值為止。對于這些細(xì)分的塊,采用L形鄰域搜索方法進行紋理合成。本發(fā)明的特點是紋理合成由粗到細(xì),紋理轉(zhuǎn)移速度快,并且用戶可以控制整個過程,實現(xiàn)了根據(jù)已知紋理圖像生成新紋理圖像的目的。
文檔編號G06T15/10GK1570977SQ20041003472
公開日2005年1月26日 申請日期2004年5月9日 優(yōu)先權(quán)日2004年5月9日
發(fā)明者齊越, 趙沁平 申請人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
霍邱县| 茶陵县| 应用必备| 左贡县| 沈丘县| 平武县| 鹿泉市| 鲁山县| 水富县| 桓台县| 扶沟县| 新乡县| 阳信县| 新巴尔虎左旗| 新闻| 育儿| 拉萨市| 平陆县| 连山| 肥东县| 海门市| 奎屯市| 敖汉旗| 高密市| 娄底市| 营山县| 丹巴县| 沙洋县| 芦山县| 乐清市| 柯坪县| 保山市| 兰考县| 巴林左旗| 临漳县| 西昌市| 富顺县| 东乡族自治县| 金坛市| 手游| 卓尼县|