基于塊的紋理合成方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種基于塊的紋理合成方法和裝置。其中,該方法包括:查找候選紋理塊集合中的每個(gè)候選紋理塊與在目標(biāo)紋理圖中已合成紋理塊的重疊區(qū);將已合成紋理塊中的重疊區(qū)記為B1ov,將候選紋理塊中的重疊區(qū)記為B2ov,計(jì)算其中,是候選紋理塊和已合成紋理區(qū)域相重疊部分中每個(gè)像素值的平方和誤差;是候選紋理塊和已合成紋理區(qū)域重疊區(qū)中每對(duì)對(duì)應(yīng)像素的點(diǎn)乘和誤差;采用積分圖像方法計(jì)算平方和誤差,采用FFT計(jì)算點(diǎn)乘和誤差;根據(jù)每個(gè)候選紋理塊對(duì)應(yīng)的SSD確定最優(yōu)紋理塊;將上述最優(yōu)紋理塊與目標(biāo)紋理圖中已合成紋理塊進(jìn)行合成,重復(fù)以上步驟,直至完成目標(biāo)紋理圖的紋理合成。本發(fā)明加快了紋理合成速度。
【專利說(shuō)明】基于塊的紋理合成方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖形圖像處理領(lǐng)域,具體而言,涉及基于塊的紋理合成方法和裝置。
【背景技術(shù)】
[0002]基于樣圖的紋理合成方法(Texture Synthesis from Samples,TSFS)是繼紋理映射、過(guò)程紋理合成方法之后發(fā)展起來(lái)的一種新的紋理合成方向。其原理為:基于給定的小區(qū)域紋理樣本,按照物體表面的幾何形狀,拼合生成任意大小的紋理圖像。
[0003]目前,TSFS技術(shù)有兩大類:基于點(diǎn)的紋理合成和基于塊的紋理合成。其中,基于點(diǎn)的紋理合成方法主要采用Markov Random Field (MRF,馬爾科夫隨機(jī)場(chǎng))模型進(jìn)行紋理合成,MRF模型認(rèn)為紋理具有局部統(tǒng)計(jì)特征,即紋理中的任一部分都可以由其周圍部分(即鄰域)完全決定,對(duì)于大多數(shù)紋理,MRF模型能夠很好地描述紋理的特征,提升了樣圖紋理合成的質(zhì)量,但是由于每合成一·個(gè)像素都要搜索一遍樣本圖,運(yùn)算量非常大,運(yùn)算的速度也很慢。而基于塊的紋理合成方法,其每次合成一個(gè)方形的區(qū)域,通過(guò)尋找最佳紋理塊和按最佳縫合線拼接最佳紋理塊來(lái)產(chǎn)生新的紋理,大大提高了合成速度,同時(shí)還避免了點(diǎn)合成過(guò)程中的模糊效果,對(duì)紋理結(jié)構(gòu)保持的較好。
[0004]基于塊的紋理合成方法的主要步驟如下:
[0005]( I)在輸入的紋理樣本圖中任取一塊紋理塊B1,放在目標(biāo)紋理圖中,然后在紋理樣本圖中查找新的一塊紋理塊B2,具體查找方法包括以下步驟①至③:
[0006]①按照掃描線順序,在紋理樣本圖中移動(dòng)紋理塊的左上角的位置,即從紋理樣本圖的(0,O)坐標(biāo)開始,按照掃描線順序把每一個(gè)點(diǎn)作為紋理塊的左上角頂點(diǎn),遍歷紋理樣本圖,得到候選紋理塊集合。
[0007]②對(duì)每個(gè)候選紋理塊,按照重疊區(qū)寬度(overlapWidth)找到其與在目標(biāo)紋理圖中已經(jīng)合成塊的重疊區(qū),在已合成紋理塊中的重疊區(qū)記為B1'在候選紋理塊中的重疊區(qū)記為B2°v,計(jì)算重疊區(qū)誤差Error,用重疊區(qū)內(nèi)對(duì)應(yīng)像素的顏色差值平方和(SSD,Sum-of-SquaredDifferences)來(lái)度量該誤差,計(jì)算方法為:
[0008]
【權(quán)利要求】
1.一種基于塊的紋理合成方法,其特征在于,包括: 對(duì)紋理樣本圖中確定的候選紋理塊集合中的每個(gè)候選紋理塊,按照重疊區(qū)的寬度查找其與在目標(biāo)紋理圖中已合成紋理塊的重疊區(qū); 將所述已合成紋理塊中的重疊區(qū)記為B1'將所述候選紋理塊中的重疊區(qū)記為B2°v,計(jì)算所述重疊區(qū)對(duì)應(yīng)像素的顏色差值平方和
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,采用積分圖像方法計(jì)算所述平方和誤差包括: 根據(jù)所述候選紋理塊在所述紋理樣本圖中的位置和所述重疊區(qū)的形狀查找對(duì)應(yīng)的平方和誤差表,得到所述候選紋理塊和所述目標(biāo)紋理圖中已合成紋理區(qū)域相重疊部分中每個(gè)像素值的平方和誤差; 其中,所述平方和誤差表為預(yù)先根據(jù)紋理合成參數(shù),采用積分圖像方法計(jì)算每一個(gè)候選紋理塊相對(duì)于垂直重疊區(qū)、水平重疊區(qū)和L型重疊區(qū)的平方和誤差,并分別存入所述垂直重疊區(qū)、所述水平重疊區(qū)和所述L型重疊區(qū)對(duì)應(yīng)的平方和誤差表中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用積分圖像方法計(jì)算每一個(gè)候選紋理塊相對(duì)于垂直重疊區(qū)、水平重疊區(qū)和L型重疊區(qū)的平方和誤差包括: 計(jì)算紋理樣本圖中每個(gè)像素點(diǎn)的平方值,根據(jù)所述每個(gè)像素點(diǎn)的平方值生成所述紋理樣本圖的積分圖像; 根據(jù)所述積分圖像采用下述方法計(jì)算每一個(gè)候選紋理塊相對(duì)于垂直重疊區(qū)、水平重疊區(qū)和L型重疊區(qū)的平方和誤差: 垂直重疊區(qū)平方和誤差計(jì)算:用垂直重疊區(qū)右下角像素點(diǎn)的積分圖像減去右上角像素點(diǎn)的積分圖像,再減去左下角像素點(diǎn)的積分圖像,加上左上角像素點(diǎn)的積分圖像; 水平重疊區(qū)平方和誤差計(jì)算:用水平重疊區(qū)右下角像素點(diǎn)的積分圖像減去右上角像素點(diǎn)的積分圖像,再減去左下角像素點(diǎn)的積分圖像,然后加上左上角像素點(diǎn)的積分圖像; L型重疊區(qū)平方和誤差計(jì)算:用垂直重疊區(qū)平方和誤差加上水平重疊區(qū)平方和誤差,再減去交疊區(qū)平方和誤差;其中,所述交疊區(qū)為垂直重疊區(qū)和水平重疊區(qū)的重合區(qū),所述交疊區(qū)平方和誤差等于所述交疊區(qū)右下角像素點(diǎn)的積分圖像減去所述重疊區(qū)右上角像素點(diǎn)的積分圖像,再減去所述重疊區(qū)左下角像素點(diǎn)的積分圖像,然后加上所述重疊區(qū)左上角像素點(diǎn)的積分圖像。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,采用FFT計(jì)算所述點(diǎn)乘和誤差包括:根據(jù)已合成紋理塊在目標(biāo)紋理圖中的位置,確定當(dāng)前紋理合成過(guò)程的重疊區(qū)形狀,根據(jù)所述重疊區(qū)形狀和候選紋理塊的尺寸構(gòu)造卷積模板,其中,所述卷積模板重疊區(qū)部分的像素值為已合成紋理塊的像素值,重疊區(qū)以外的像素值賦為0 ;所述卷積模板為垂直型模板、水平型模板或L型模板; 對(duì)所述卷積模板進(jìn)行反轉(zhuǎn); 將所述反轉(zhuǎn)后的卷積模板的尺寸擴(kuò)展至所述紋理樣本圖的尺寸; 分別對(duì)所述紋理樣本圖和擴(kuò)展后的卷積模板進(jìn)行二維FFT運(yùn)算,得到頻域信號(hào);在頻域內(nèi)進(jìn)行乘法計(jì)算后再做二維FFT反變換,得到卷積的結(jié)果矩陣; 從所述卷積的結(jié)果矩陣中截出原始卷積模板與紋理樣本圖完全重合時(shí)得到的卷積值子矩陣,所述卷積值子矩陣保存的結(jié)果即為當(dāng)前合成過(guò)程中,所有候選紋理塊與所述紋理樣本圖在重疊區(qū)內(nèi)對(duì)應(yīng)像素點(diǎn)的點(diǎn)乘和誤差。
5.一種基于塊的紋理合成裝置,其特征在于,包括: 重疊區(qū)查找模塊,用于對(duì)紋理樣本圖中確定的候選紋理塊集合中的每個(gè)候選紋理塊,按照重疊區(qū)的寬度查找其與在目標(biāo)紋理圖中已合成紋理塊的重疊區(qū); 重疊區(qū)誤差計(jì)算模塊,用于將所述已合成紋理塊中的重疊區(qū)記為B1'將所述候選紋理塊中的重疊區(qū)記為B2'計(jì)算所述重疊區(qū)對(duì)應(yīng)像素的顏色差值平方和
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述具體誤差計(jì)算模塊包括: 平方和誤差查表單元,用于根據(jù)所述候選紋理塊在所述紋理樣本圖中的位置和所述重疊區(qū)的形狀查找對(duì)應(yīng)的平方和誤差表,得到所述候選紋理塊和所述目標(biāo)紋理圖中已合成紋理區(qū)域相重疊部分中每個(gè)像素值的平方和誤差; 其中,所述平方和誤差表為預(yù)先根據(jù)紋理合成參數(shù),采用積分圖像方法計(jì)算每一個(gè)候選紋理塊相對(duì)于垂直重疊區(qū)、水平重疊區(qū)和L型重疊區(qū)的平方和誤差,并分別存入所述垂直重疊區(qū)、所述水平重疊區(qū)和所述L型重疊區(qū)對(duì)應(yīng)的平方和誤差表中。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述平方和誤差查表單元包括: 積分圖像生成子單元,用于計(jì)算紋理樣本圖中每個(gè)像素點(diǎn)的平方值,根據(jù)所述每個(gè)像素點(diǎn)的平方值生成所述紋理樣本圖的積分圖像; 平方和誤差計(jì)算子單元,用于根據(jù)所述積分圖像采用下述方法計(jì)算每一個(gè)候選紋理塊相對(duì)于垂直重疊區(qū)、水平重疊區(qū)和L型重疊區(qū)的平方和誤差: 垂直重疊區(qū)平方和誤差計(jì)算:用垂直重疊區(qū)右下角像素點(diǎn)的積分圖像減去右上角像素點(diǎn)的積分圖像,再減去左下角像素點(diǎn)的積分圖像,加上左上角像素點(diǎn)的積分圖像; 水平重疊區(qū)平方和誤差計(jì)算:用水平重疊區(qū)右下角像素點(diǎn)的積分圖像減去右上角像素點(diǎn)的積分圖像,再減去左下角像素點(diǎn)的積分圖像,然后加上左上角像素點(diǎn)的積分圖像; L型重疊區(qū)平方和誤差計(jì)算:用垂直重疊區(qū)平方和誤差加上水平重疊區(qū)平方和誤差,再減去交疊區(qū)平方和誤差;其中,所述交疊區(qū)為垂直重疊區(qū)和水平重疊區(qū)的重合區(qū),所述交疊區(qū)平方和誤差等于所述交疊區(qū)右下角像素點(diǎn)的積分圖像減去所述重疊區(qū)右上角像素點(diǎn)的積分圖像,再減去所述重疊區(qū)左下角像素點(diǎn)的積分圖像,然后加上所述重疊區(qū)左上角像素點(diǎn)的積分圖像。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述具體誤差計(jì)算模塊包括: 卷積模板構(gòu)造單元,用于根據(jù)已合成紋理塊在目標(biāo)紋理圖中的位置,確定當(dāng)前紋理合成過(guò)程的重疊區(qū)形狀,根據(jù)所述重疊區(qū)形狀和候選紋理塊的尺寸構(gòu)造卷積模板,其中,所述卷積模板重疊區(qū)部分的像素值為已合成紋理塊的像素值,重疊區(qū)以外的像素值賦為O ;所述卷積模板為垂直型模板、水平型模板或L型模板; 模板反轉(zhuǎn)與擴(kuò)展單元,用于對(duì)所述卷積模板構(gòu)造單元構(gòu)造的所述卷積模板進(jìn)行反轉(zhuǎn);將所述反轉(zhuǎn)后的卷積模板的尺寸擴(kuò)展至所述紋理樣本圖的尺寸; 卷積運(yùn)算單元,用于分別對(duì)所述紋理樣本圖和所述模板反轉(zhuǎn)與擴(kuò)展單元擴(kuò)展后的卷積模板進(jìn)行二維FFT運(yùn)算,得到頻域信號(hào);在頻域內(nèi)進(jìn)行乘法計(jì)算后再做二維FFT反變換,得到卷積的結(jié)果矩陣; 點(diǎn)乘和誤差確定單元,用于從所 述卷積運(yùn)算單元得到的所述卷積的結(jié)果矩陣中截出原始卷積模板與紋理樣本圖完全重合時(shí)得到的卷積值子矩陣,所述卷積值子矩陣保存的結(jié)果即為當(dāng)前合成過(guò)程中,所有候選紋理塊與所述紋理樣本圖在重疊區(qū)內(nèi)對(duì)應(yīng)像素點(diǎn)的點(diǎn)乘和誤差。
【文檔編號(hào)】G06T3/40GK103440618SQ201310441599
【公開日】2013年12月11日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2013年9月25日
【發(fā)明者】普?qǐng)@媛, 徐丹, 覃日釗, 趙征鵬, 王朝暉 申請(qǐng)人:云南大學(xué)