本發(fā)明涉及圖像處理領域,具體而言,涉及一種立體圖像中目標對象的拼接方法和裝置。
背景技術:
目前,在mmorpg(massivelymultiple-playeronlinerole-playinggame,大型多人在線角色扮演游戲)中,需要為用戶玩家提供多種角色,以及每種角色對應的多種造型或裝備(包括衣著、配飾等),并能夠為用戶玩家提供能夠自由挑選、并進行搭配的功能,且用戶玩家能夠根據(jù)節(jié)慶、心情等因素隨意更換角色的表情、衣著、發(fā)色以及配飾等項目。為用戶玩家提供上述功能的基礎在于系統(tǒng)提供有多種角色的基礎模型,在用戶玩家組建角色時,需要選取不同的模型進行拼接;在用戶玩家在對自身角色更換裝備時,無需重新組建角色,只需更換需要更換的部位即可,在用戶更換角色的某一部位時,就需要對不同的模型的不同部位進行拼接。
在上述模型的拼接過程中,由于出現(xiàn)過多的頂點,會影響游戲的流暢程度,因此需要對角色進行性能的優(yōu)化,其中,在性能優(yōu)化的過程中,重要的步驟就是采用合并頂點的方式去除角色的冗余頂點,以提高游戲的流暢程度,然而在去除角色的冗余頂點的過程中,需要重新計算頂點的頂點參數(shù),在重新計算頂點的切線空間向量后,會引起重合后的新頂點的切線空間向量與原頂點的切線空間向量不一致,從而引起拼接處出現(xiàn)瑕疵。
針對現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種立體圖像中目標對象的拼接方法和裝置,以至少解決現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種立體圖像中目標對象的拼接方法,包括:判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同;其中,拼接頂點為任意兩個待拼接的目標對象之間的拼接邊緣線上的點,拼接邊緣線上包含的所有拼接頂點構成拼接頂點集合。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種立體圖像中目標對象的拼接裝置,包括:判斷模塊,用于判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;合并模塊,用于在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;調(diào)整模塊,用于在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同;其中,拼接頂點為任意兩個待拼接的目標對象之間的拼接邊緣線上的點,拼接邊緣線上包含的所有拼接頂點構成拼接頂點集合。
在本發(fā)明實施例中,采用判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同的方式, 通過判斷任意待拼接目標對象是否處于同一貼圖紋理坐標,對待拼接目標對象采取不同的措施,達到了兩個待拼接的目標對象的拼接處的法線方向一致的目的,從而實現(xiàn)了消除拼接瑕疵的技術效果,進而解決了現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本申請實施例的一種立體圖像中目標對象的拼接方法的計算機終端的硬件結構框圖;
圖2是根據(jù)本申請實施例1的一種立體圖像中目標對象的拼接方法的流程圖;
圖3是根據(jù)本申請實施例1中待拼接的目標對象的頂點統(tǒng)一法線方向前的示意圖;
圖4是根據(jù)本申請實施例1中待拼接的目標對象的頂點統(tǒng)一法線方向后的示意圖;
圖5是根據(jù)本申請實施例1中調(diào)整多個位置點對應的延長線之間的夾角小于預設角度的示意圖;
圖6是根據(jù)本申請實施例1中另一種調(diào)整多個位置點對應的延長線之間的夾角小于預設角度的示意圖;
圖7是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖8是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接 裝置的結構示意圖;
圖9是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖10是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖11是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖12是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖13是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖14是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖;
圖15是根據(jù)本申請實施例的一種立體圖像中目標對象的拼接終端的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序實 施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
首先,在對本申請實施例進行描述的過程中出現(xiàn)的部分名詞或術語適用于如下解釋:
mmorpg:massivelymultiple-playeronlinerole-playinggame,即大型多人在線角色扮演游戲。
裸模:在3dsmax里制作中的,還沒有設置貼圖和材質的模型。
avatar系統(tǒng):又稱紙娃娃系統(tǒng),通常用在電腦游戲上,是通過細分角色模型或圖像并重新組合來增加角色外觀數(shù)量的系統(tǒng)。紙娃娃系統(tǒng)最大的創(chuàng)意與商機所在其實就是在那可以任由消費者自行搭配、挑選的“可能”,網(wǎng)路使用者可以依照不同的節(jié)慶或心情,隨意更換表情、發(fā)型、服飾、配件甚至是寵物等多元的項目,反映現(xiàn)實中的自己與滿足內(nèi)心的愿望。
頂點:三維空間里含有位置信息的點,計算機圖形學里用來描繪事物的最基礎的單位。
法線貼圖:法線貼圖就是在原物體的凹凸表面的每個點上均作法線,通過rgb顏色通道來標記法線的方向,可以把它理解成與原凹凸表面平行的另一個不同的表面,但實際上它又只是一個光滑的平面。對于視覺效果而言,它的效率比原有的凹凸表面更高,若在特定位置上應用光源,可以讓細節(jié)程度較低的表面生成高細節(jié)程度的精確光照方向和反射效果。
tbn:也就是切線空間,t為tangent向量,b為binormal向量,n為normal向量。在計算機圖形學中,計算物件光照時,燈光到頂點的向量要先轉到切線空間后再與法線貼圖進行光照運算。
實施例1
根據(jù)本發(fā)明實施例,提供了一種獲取推送數(shù)據(jù)的方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。如圖1所示,該方法包括:
本申請實施例1所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是根據(jù)本申請實施例的一種立體圖像中目標對象的拼接方法的計算機終端的硬件結構框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸裝置106。本領域普通技術人員可以理解,圖1所示的結構僅為示意,其并不對上述電子裝置的結構造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應用軟件的軟件程序以及模塊,如本發(fā)明實施例中的立體圖像中目標對象的拼接方法所對應的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的立體圖像中目標對象的拼接方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至計算機終端10。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡具體實例可包括計算機終端10的通信供應商提供的無線網(wǎng)絡。在一個實例中, 傳輸裝置106包括一個網(wǎng)絡適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡設備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
根據(jù)本發(fā)明實施例,提供了一種立體圖像中目標對象的拼接方法,如圖2所示,該方法包括:
步驟s21,判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標。
本申請上述步驟s21中的貼圖紋理坐標可以用uv標識,定義了圖片上每個點的位置的信息。這些點與3d模型是相互聯(lián)系的,以決定表面紋理貼圖的位置。
步驟s23,在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并。
在一種可選的實施例中,使用3dsmax對目標對象進行拼接時,在兩個待拼接的目標對象處于同一貼圖紋理坐標,為了去除拼接后產(chǎn)生的冗余頂點,提高游戲的流暢程度,可以采用3dsmax中自帶的控件功能將滿足預設的條件的頂點進行合并。
此處需要說明的是,在進行合并的過程可以是將兩個重合的頂點合并成新頂點,因此,新頂點的頂點參數(shù)由兩個重合的原頂點決定,其中,頂點參數(shù)至少包括頂點處的uv,以及頂點處的tbn,可以認為兩個重合頂點的uv是相同的。
需要進一步說明的是,由于新頂點的參數(shù)由兩個重合的原頂點決定,則新頂點的頂點參數(shù)中,新頂點的uv與兩個重合的原頂點相同,但tbn由兩個重合原頂點的tbn計算得到,與兩個重合的原頂點的頂點參數(shù)中的tbn不相同,因此會引起拼接的瑕疵。本申請針對上述原因出現(xiàn)的瑕 疵提供了預設的合并規(guī)則進行合并方法,使得在待拼接對象的拼接邊緣處的頂點能夠保持原頂點的tbn信息,從而在最大限度去除冗余頂點的同時,消除拼接邊緣的瑕疵。
步驟s25,在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同;
其中,拼接頂點為任意兩個待拼接的目標對象之間的拼接邊緣線上的點,拼接邊緣線上包含的所有拼接頂點構成拼接頂點集合。
此處需要說明的是,當任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,可以認為上述兩個待拼接的目標對象為同一文件中的兩個對象,因此,可以對上述兩個對象中的頂點進行合并等操作;在兩個待拼接的目標對象處于不同的貼圖紋理坐標的情況下,可以認為上述兩個待拼接的目標對象為不同的兩個文件中的兩個對象,因此,上述兩個目標對象中的頂點不能進行合并能操作。
由上可知,本申請上述實施例所提供的方案,通過判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同的方式,通過判斷任意待拼接目標對象是否處于同一貼圖紋理坐標,對待拼接目標對象采取不同的措施,達到了待拼接對象的拼接處的法線方向一致的目的,從而實現(xiàn)了消除拼接瑕疵的技術效果,進而解決了現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
值得注意的是,本申請?zhí)峁┑纳鲜隽Ⅲw圖像中目標對象的拼接方法不限與應用于游戲角色的拼接,也能夠廣泛應用于廣告、影視、工業(yè)設計、建筑設計、三維動畫、多媒體制作、游戲、輔助教學以及工程可視化等領 域中涉及到立體圖像拼接的部分。
仍然值得注意的時,本申請上述步驟中用于對立體圖像進行拼接的軟件可以是任意具有對立體圖像進行拼接功能的3d編輯軟件,不限與上述的3dmax。
本申請上述實施例提供的一種可選方案中,上述步驟s23,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并包括如下步驟:
步驟s231,獲取滿足預設條件的頂點,其中,滿足預設條件的頂點包括兩個待拼接的目標對象拼接后重合處的重合頂點和拼接邊緣線的拼接頂點。
作為一種可選的實施例,在用戶為預先選定的游戲角色更換服裝的示例中,用戶通過使用3dsmax中預設的控件,將用戶選擇的服飾更換至用戶預先選擇的游戲角色的對應部位,此時,服飾與游戲角色的裸模具有重合的部位,這些重合的部位就會包括裸模本身的頂點和服飾中相同位置的頂點,即在上述重合的部位包括多個頂點。在上述拼接過程中出現(xiàn)的多個頂點中,有一類頂點處于服飾的邊緣,即服飾與裸模的拼接處,這些處于服飾與裸模拼接處的頂點即為上述拼接邊緣線的拼接頂點,在上述重合的部位包括多個頂點中,除去拼接頂點的頂點即為重合頂點。
步驟s233,從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并。
在一種可選的實施例中,仍以上述用戶為預先選定的游戲角色更換服裝為例,當獲取到滿足預設條件的頂點后,將滿足預設條件的頂點進行區(qū)分,以至區(qū)分出重合頂點和拼接頂點為目的,然后對區(qū)分結果中的重合頂點進行合并。
在上述實施例中,需要說明的是,在對區(qū)分結果中的重合頂點進行合并的目的在于減少游戲角色中的冗余頂點,從而壓縮數(shù)據(jù)量以使得游戲更 為流暢。在對頂點進行合并時需要注意的是,合并的頂點越多,游戲的流暢程度越好,但隨之畫面的細致程度則會下降。
在一種可選的是實例中,仍以上述戶為預先選定的游戲角色更換服裝為例,當重合頂點包括100000個頂點時,若將100000個頂點合并成為20000個頂點,游戲角色的大小得到了壓縮,但游戲角色的精細程度同樣得到了壓縮,若將100000個頂點合并成為40000個頂點,此時游戲角色的大小大于壓縮至10000個頂點時的角色大小,但細游戲角色的細致程度大于壓縮至10000個頂點時的細致程度。因此在對頂點進行合并時,除去滿足游戲角色的大小程度,仍要兼顧游戲角色的細致程度。具體對目標對象的頂點合并至新頂點的個數(shù),由游戲本身的性質和玩家體驗決定。
此處需要說明的是,在上述滿足預設條件的頂點中,預設條件是任意能夠得到全部拼接后重合的頂點的條件。
由上可知,本申請上述實施例所提供的方案,獲取滿足預設條件的頂點,其中,滿足預設條件的頂點包括兩個待拼接的目標對象拼接后重合處的重合頂點和拼接邊緣線的拼接頂點,從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并。上述方案通過區(qū)分重合頂點和邊緣頂點的方式,實現(xiàn)了僅對重合頂點進行合并的技術效果。
本申請上述實施例提供的一種可選方案中,上述步驟s233,從滿足預設條件的頂點中篩選得到重合頂點之前的步驟還包括:
步驟s2331,將拼接頂點的法線方向調(diào)整至預設方向。
在一種可選的實施例中,圖3是根據(jù)本申請實施例1中待拼接的目標對象的頂點統(tǒng)一法線方向前的示意圖,結合圖3所示,圖中線段交叉點用于表征待拼接的目標對象的頂點,頂點處延伸出來的不屬于頂點所處的平面的線段用于表征該頂點的法線方向。結合圖3可知,在將拼接頂點的法線方向調(diào)整至預設方向之前,同一位置的具有多個法線方向不同的頂點,圖4是根據(jù)本申請實施例1中待拼接的目標對象的頂點統(tǒng)一法線方向后的 示意圖,結合圖4所示,使用3dsmax中預設控件調(diào)整拼接頂點的法線方向調(diào)整至預設方向后的結果為圖4所示,同一位置的多個頂點的法線方向均相同。
此處需要說明的是,在將拼接頂點的法線方向調(diào)整至預設方向的實現(xiàn)過程中,上述預設方向由3dsmax根據(jù)同一位置的多個頂點的tbn信息計算獲得。
步驟s2333,對拼接頂點標記頂點色。
在一種可選的實施例中,可以將拼接頂點標記為黑色。
此處需要說明的是,在為拼接頂點標記頂點色時,標記的頂點色可以為任意3d編輯軟件能夠分辨的顏色,而不限與上述實施例中的黑色。
此處還需要說明的是,將拼接頂點標記頂點色的目的在于當對冗余頂點進行合并時,從全部滿足預設條件的頂點中篩選出重合頂點,即為標記頂點色的頂點,由此可以知曉,上述方案的目的在于區(qū)分滿足預設條件的全部頂點中的重合頂點和拼接頂點,因此,本申請上述步驟不限與為拼接頂點標記頂點色,且能夠區(qū)分重合頂點和拼接頂點的方案均能夠用于本申請。
由上可知,本申請上述實施例提出的方案中,將拼接頂點的法線方向調(diào)整至預設方向,并對拼接頂點標記頂點色。上述方案通過將拼接頂點的法線方向調(diào)整至預設方向,使得處于待拼接的目標對象的邊緣處的頂點的tbn信息能夠統(tǒng)一,從而達到了消除拼接后產(chǎn)生的瑕疵的技術目的,上述方案對拼接頂點標記頂點色,使得3d編輯軟件在對冗余頂點進行合并時區(qū)分重合頂點和拼接頂點,并只對重合頂點進行合并的技術目的。因此,上述方案不僅使得待拼接的目標對象的拼接頂點的切線空間向量統(tǒng)一,并區(qū)分了目標對象的重合頂點和拼接頂點,從而達到了在去除冗余頂點的過程中,僅對重合頂點進行合并的技術效果,進一步的解決了現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線 空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
本申請上述實施例提供的一種可選方案中,上述步驟s233,從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并包括如下步驟:
步驟s2335,從滿足預設條件的頂點中篩選出未標記頂點色的頂點,確認未標記頂點色的頂點為重合頂點。
步驟s2337,將確認為重合頂點的頂點進行合并。
在一種可選的實施例中,以上述用戶為預先選定的游戲角色更換服裝為例,在對拼接頂點標記的頂點色為黑色為例,當獲取得到滿足預設條件的全部頂點時,遍歷全部滿足預設條件的頂點,并確認未標記頂點色的頂點為待合并的重合頂點。
此處需要說明的是,在對游戲角色或立體圖像進行處理時,可能會由于多種需求,對頂點進行標記頂點色,因此如果頂點中已經(jīng)包含標記頂點色的頂點,再對拼接頂點標記頂點色時,需要與已經(jīng)標記的頂點色作以區(qū)分。
由上可知,本申請上述實施例提出的方案中,從滿足預設條件的頂點中篩選出未標記頂點色的頂點,確認未標記頂點色的頂點為重合頂點,將確認為重合頂點的頂點進行合并。上述方案達到了在滿足預設條件的全部頂點中篩選重合頂點的技術效果,并對重合頂點進行合并,達到了消除在立體圖像中目標對象的拼接產(chǎn)生的冗余頂點的技術目的。
本申請上述實施例提供的一種可選方案中,上述步驟s2337,將確認為重合頂點的頂點進行合并,包括:
步驟s23371,獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,其中,頂點信息包括:頂點的紋理貼圖坐標和切線空間向量。
步驟s23373,在任意兩個待拼接的目標對象重合處的頂點中篩選紋理貼圖坐標相同的第一頂點和第二頂點。
步驟s23375,通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量。
步驟s23377,通過第一頂點和第二頂點共同的紋理貼圖坐標和新的切線空間向量,確定合并得到的新頂點的頂點數(shù)據(jù)。
在一種可選的實施例中,通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量可以由如下代碼得到:
由上可知,本申請上述實施例提出的方案中,獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,其中,頂點信息包括:頂點的紋理貼圖坐標和切線空間向量,在任意兩個待拼接的目標對象重合處的頂點中篩選紋理貼圖坐標相同的第一頂點和第二頂點,通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量,通過第一頂點和第二頂點共同的紋理貼圖坐標和新的切線空間向量,確定合并得到的新頂點的頂點數(shù)據(jù)。上述步驟通過獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,計算合并后新頂點的頂點數(shù)據(jù),實現(xiàn)了合并頂點的技術效果,進而達到了去除冗余頂點的技術目的。
本申請上述實施例提供的一種可選方案中,預設條件為在兩個待拼接的目標對象的全部頂點中,具有與頂點的紋理貼圖坐標相同的頂點。
在一種可選的實施例中,結合圖3所示,圖3中所示的具有多個法線方向的頂點即為多個滿足預設條件的頂點。
此處需要說明的是,滿足預設條件的頂點即為具有相同位置的頂點,由于頂點的位置信息與頂點的法線貼圖坐標具有相對應的關系,因此當兩個或多個頂點的位置信息相同時,必然具有相同的法線貼圖坐標,因此,在獲取滿足預設條件的頂點時,頂點在同一法線貼圖坐標中具有同一坐標值的頂點,或位置相同的頂點,上述二個條件是等價的,可以以任意一個條件作為預設條件獲取滿足預設條件的頂點。
由上可知,本申請上述實施例提出的方案中,預設條件為在兩個待拼接的目標對象的全部頂點中,具有與頂點的紋理貼圖坐標相同的頂點,實現(xiàn)了獲取待合并的頂點的技術目的。
本申請上述實施例提供的一種可選方案中,上述步驟s25,將多個拼接頂點的切線空間向量調(diào)整至相同包括如下步驟:
步驟s251,調(diào)整多個位置點對應的延長線之間的夾角小于預設角度, 以使得多個拼接頂點的切線空間向量相同,其中,位置點為拼接頂點在紋理貼圖坐標中對應的點。
在上述步驟中,圖5是根據(jù)本申請實施例1中調(diào)整多個位置點對應的延長線之間的夾角小于預設角度的示意圖,結合圖5所示,圖中邊緣處與其他線段的交點為位置點,位置點對應的延長線的方向為如圖5所示的點a至點b的方向,多個位置點的延長線的方向如圖5中的箭頭所示。
在一種可選的實施例中,調(diào)整多個位置點對應的延長線之間的夾角小于預設角度后的結果如圖5和圖6所示,貼圖邊緣內(nèi)部的點至貼圖邊緣上的位置點的連線的方向即為位置點的延長線的方向。
在上述步驟中,預設角度可以為15度。
由上可知,本申請上述實施例提出的方案中,調(diào)整多個位置點對應的延長線之間的夾角小于預設角度,以使得多個拼接頂點的切線空間向量相同。
此處需要說明的是,上述方案針對與待拼接的目標對象不處于同一法線貼圖坐標上的情況,由于待拼接的目標對象不處于同一法線貼圖坐標,因此任意兩個待拼接的目標對象不能進行合并,需要通過調(diào)整邊緣處位置點的延長線的方向,使得拼接頂點處的切向空間向量相同,從而使得拼接后的立體圖像沒有瑕疵。
本申請上述實施例提供的一種可選方案中,上述步驟s251,在將多個拼接頂點的切線空間向量調(diào)整至相同之前還包括如下步驟:
步驟s253,接收外部輸入的調(diào)整指令,調(diào)整指令用于觸發(fā)調(diào)整多個位置點對應的延長線之間的夾角。
在一種可選的實施例中,在3dsmax中,通過預設的方式調(diào)整多個位置點對應的延長線的方向,外部輸入的指令可以是通過選中位置點并通過拖動鼠標發(fā)出的指令,也可以是直接點擊預設的控件發(fā)出的指令。
本申請上述實施例提供的一種可選方案中,上述步驟s251,調(diào)整多個位置點對應的延長線之間的夾角小于預設角度,包括:
步驟s255,通過預設控件調(diào)整多個位置點對應的延長線的方向,以使多個位置點對應的延長線之間的夾角小于預設角度。
由上可知,本申請上述實施例提出的方案中,提供了發(fā)送調(diào)整指令的方法,達到了使多個位置點對應的延長線之間的夾角小于預設角度的技術效果。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述立體圖像中目標對象的拼接方法的立體圖像中目標對象的拼接裝置,如圖7所示,該裝置包括:
圖7是根據(jù)本申請實施例2的一種可選的立體圖像中目標對象的拼接裝置的結構示意圖。
如圖7所示,該立體圖像中目標對象的拼接裝置可以包括:判斷模塊 70、合并模塊72和調(diào)整模塊74。
其中,判斷模塊70,用于判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;合并模塊72,用于在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;調(diào)整模塊74,用于在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同;其中,拼接頂點為任意兩個待拼接的目標對象之間的拼接邊緣線上的點,拼接邊緣線上包含的所有拼接頂點構成拼接頂點集合。
此處需要說明的是,當任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,可以認為上述兩個待拼接的目標對象為同一文件中的兩個對象,因此,可以對上述兩個對象中的頂點進行合并等操作;在兩個待拼接的目標對象處于不同的貼圖紋理坐標的情況下,可以認為上述兩個待拼接的目標對象為不同的兩個文件中的兩個對象,因此,上述兩個目標對象中的頂點不能進行合并能操作。
由上可知,本申請上述實施例所提供的裝置,通過判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同的方式,通過判斷任意待拼接目標對象是否處于同一貼圖紋理坐標,對待拼接目標對象采取不同的措施,達到了待拼接對象的拼接處的法線方向一致的目的,從而實現(xiàn)了消除拼接瑕疵的技術效果,進而解決了現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
值得注意的是,本申請?zhí)峁┑纳鲜隽Ⅲw圖像中目標對象的拼接方法不 限與應用于游戲角色的拼接,也能夠廣泛應用于廣告、影視、工業(yè)設計、建筑設計、三維動畫、多媒體制作、游戲、輔助教學以及工程可視化等領域中涉及到立體圖像拼接的部分。
可選的,結合圖8所示,上述合并模塊72包括:第一獲取模塊80和第一合并子模塊82,
其中,第一獲取模塊80,用于獲取滿足預設條件的頂點,其中,滿足預設條件的頂點包括兩個待拼接的目標對象拼接后重合處的重合頂點和拼接邊緣線的拼接頂點;第一合并子模塊82,用于從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并。
此處需要說明的是,在上述滿足預設條件的頂點中,預設條件是任意能夠得到全部拼接后重合的頂點的條件。
由上可知,本申請上述實施例所提供的裝置,獲取滿足預設條件的頂點,其中,滿足預設條件的頂點包括兩個待拼接的目標對象拼接后重合處的重合頂點和拼接邊緣線的拼接頂點,從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并。上述裝置通過區(qū)分重合頂點和邊緣頂點的方式,實現(xiàn)了僅對重合頂點進行合并的技術效果。
本申請上述實施例提供的一種可選方案中,結合圖9所示,上述裝置還包括:調(diào)整子模塊90和標記模塊92,
其中,調(diào)整子模塊90,用于將拼接頂點的法線方向調(diào)整至預設方向;標記模塊92,用于對拼接頂點標記頂點色。
此處需要說明的是,在為拼接頂點標記頂點色時,標記的頂點色可以為任意3d編輯軟件能夠分辨的顏色,而不限與上述實施例中的黑色。
此處還需要說明的是,將拼接頂點標記頂點色的目的在于當對冗余頂點進行合并時,從全部滿足預設條件的頂點中篩選出重合頂點,即為標記頂點色的頂點,由此可以知曉,上述方案的目的在于區(qū)分滿足預設條件的全部頂點中的重合頂點和拼接頂點,因此,本申請上述步驟不限與為拼接 頂點標記頂點色,且能夠區(qū)分重合頂點和拼接頂點的方案均能夠用于本申請。
由上可知,本申請上述實施例提出的方案中,將拼接頂點的法線方向調(diào)整至預設方向,并對拼接頂點標記頂點色。上述方案通過將拼接頂點的法線方向調(diào)整至預設方向,使得處于待拼接的目標對象的邊緣處的頂點的tbn信息能夠統(tǒng)一,從而達到了消除拼接后產(chǎn)生的瑕疵的技術目的,上述方案對拼接頂點標記頂點色,使得3d編輯軟件在對冗余頂點進行合并時區(qū)分重合頂點和拼接頂點,并只對重合頂點進行合并的技術目的。因此,上述方案不僅使得待拼接的目標對象的拼接頂點的切線空間向量統(tǒng)一,并區(qū)分了目標對象的重合頂點和拼接頂點,從而達到了在去除冗余頂點的過程中,僅對重合頂點進行合并的技術效果,進一步的解決了現(xiàn)有技術的立體圖像中包含的任意兩個目標對象進行拼接時,由于合并時對頂點的切線空間向量進行了重新計算,使得拼接邊緣處的切線空間向量與原切線空間向量不一致,從而導致拼接處產(chǎn)生瑕疵的技術問題。
本申請上述實施例提供的一種可選方案中,結合圖10所示,上述第一合并子模塊82包括:第一篩選模塊100和第二合并子模塊102,
其中,第一篩選模塊100,用于從滿足預設條件的頂點中篩選出未標記頂點色的頂點,確認未標記頂點色的頂點為重合頂點;第二合并子模塊102,用于將確認為重合頂點的頂點進行合并。
本申請上述實施例提供的一種可選方案中,結合圖11所示,上述第二合并子模塊102包括:第二獲取模塊110、第二篩選模塊112、計算模塊114和確定模塊116。
其中,第二獲取模塊110,用于獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,其中,頂點信息包括:頂點的紋理貼圖坐標和切線空間向量;第二篩選模塊112,用于在任意兩個待拼接的目標對象重合處的頂點中篩選紋理貼圖坐標相同的第一頂點和第二頂點;計算模塊114,用于通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量; 確定模塊116,用于通過第一頂點和第二頂點共同的紋理貼圖坐標和新的切線空間向量,確定合并得到的新頂點的頂點數(shù)據(jù)。
由上可知,本申請上述實施例提出的方案中,獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,其中,頂點信息包括:頂點的紋理貼圖坐標和切線空間向量,在任意兩個待拼接的目標對象重合處的頂點中篩選紋理貼圖坐標相同的第一頂點和第二頂點,通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量,通過第一頂點和第二頂點共同的紋理貼圖坐標和新的切線空間向量,確定合并得到的新頂點的頂點數(shù)據(jù)。上述裝置通過獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,計算合并后新頂點的頂點數(shù)據(jù),實現(xiàn)了合并頂點的技術效果,進而達到了去除冗余頂點的技術目的。
本申請上述實施例提供的一種可選方案中,上述預設條件為在兩個待拼接的目標對象的全部頂點中,具有與頂點的紋理貼圖坐標相同的頂點。
在一種可選的實施例中,結合圖3所示,圖3中所示的具有多個法線方向的頂點即為多個滿足預設條件的頂點。
此處需要說明的是,滿足預設條件的頂點即為具有相同位置的頂點,由于頂點的位置信息與頂點的法線貼圖坐標具有相對應的關系,因此當兩個或多個頂點的位置信息相同時,必然具有相同的法線貼圖坐標,因此,在獲取滿足預設條件的頂點時,頂點在同一法線貼圖坐標中具有同一坐標值的頂點,或位置相同的頂點,上述二個條件是等價的,可以以任意一個條件作為預設條件獲取滿足預設條件的頂點。
由上可知,本申請上述實施例提出的方案中,預設條件為在兩個待拼接的目標對象的全部頂點中,具有與頂點的紋理貼圖坐標相同的頂點,實現(xiàn)了獲取待合并的頂點的技術目的。
本申請上述實施例提供的一種可選方案中,結合圖12所示,上述調(diào)整模塊74包括:
第一調(diào)整子模塊120,用于調(diào)整多個位置點對應的延長線之間的夾角小于預設角度,以使得多個拼接頂點的切線空間向量相同,其中,位置點為拼接頂點在紋理貼圖坐標中對應的點。
由上可知,本申請上述實施例提出的方案中,調(diào)整多個位置點對應的延長線之間的夾角小于預設角度,以使得多個拼接頂點的切線空間向量相同。
此處需要說明的是,上述方案針對與待拼接的目標對象不處于同一法線貼圖坐標上的情況,由于待拼接的目標對象不處于同一法線貼圖坐標,因此任意兩個待拼接的目標對象不能進行合并,需要通過調(diào)整邊緣處位置點的延長線的方向,使得拼接頂點處的切向空間向量相同,從而使得拼接后的立體圖像沒有瑕疵。
本申請上述實施例提供的一種可選方案中,結合圖13所示,上述裝置還包括:
接收模塊130,用于接收外部輸入的調(diào)整指令,調(diào)整指令用于觸發(fā)調(diào)整多個位置點對應的延長線之間的夾角。
本申請上述實施例提供的一種可選方案中,結合圖14所示,上述第一調(diào)整子模塊120包括:
第二調(diào)整子模塊140,用于通過預設控件調(diào)整多個位置點對應的延長線的方向,以使多個位置點對應的延長線之間的夾角小于預設角度。
由上可知,本申請上述實施例提出的方案中,提供了發(fā)送調(diào)整指令的方法,達到了使多個位置點對應的延長線之間的夾角小于預設角度的技術效果。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述立體圖像中目標對象的拼接方法的服務器或終端,如圖15所示,該服務器或終端包括:
通訊接口1502,設置為獲取任意兩個待拼接的目標對象。
存儲器1504,與通訊接口1502連接,設置為存儲任意兩個待拼接的目標對象。
處理器1506,與通訊接口1502及存儲器1504連接,設置為判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;還設置為在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;還設置為在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
實施例4
本發(fā)明的實施例還提供了一種存儲介質??蛇x地,在本實施例中,上述存儲介質可以存儲上述實施例1的立體圖像中目標對象的拼接方法的程序代碼。
可選地,在本實施例中,存儲介質902被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1,判斷任意兩個待拼接的目標對象是否處于同一貼圖紋理坐標;
s2,在任意兩個待拼接的目標對象處于同一貼圖紋理坐標的情況下,將兩個待拼接的目標對象中滿足預設條件的頂點按照預設的合并規(guī)則進行合并;
s3,在任意兩個待拼接的目標對象處于不同貼圖紋理坐標的情況下,將拼接頂點集合中每個拼接頂點的切線空間向量調(diào)整至相同。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:獲取滿足預設條件的頂點,其中,滿足預設條件的頂點包括兩個待拼接的目 標對象拼接后重合處的重合頂點和拼接邊緣線的拼接頂點;從滿足預設條件的頂點中篩選得到重合頂點,并將重合頂點進行合并。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:將拼接頂點的法線方向調(diào)整至預設方向;對拼接頂點標記頂點色。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:從滿足預設條件的頂點中篩選出未標記頂點色的頂點,確認未標記頂點色的頂點為重合頂點;將確認為重合頂點的頂點進行合并。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:獲取任意兩個待拼接的目標對象的重合頂點的頂點信息,其中,頂點信息包括:頂點的紋理貼圖坐標和切線空間向量;在任意兩個待拼接的目標對象重合處的頂點中篩選紋理貼圖坐標相同的第一頂點和第二頂點;通過第一頂點和第二頂點的切線空間向量計算得到新的切線空間向量;通過第一頂點和第二頂點共同的紋理貼圖坐標和新的切線空間向量,確定合并得到的新頂點的頂點數(shù)據(jù)。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:預設條件為在兩個待拼接的目標對象的全部頂點中,具有與頂點的紋理貼圖坐標相同的頂點。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:調(diào)整多個位置點對應的延長線之間的夾角小于預設角度,以使得多個拼接頂點的切線空間向量相同,其中,位置點為拼接頂點在紋理貼圖坐標中對應的點。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:收外部輸入的調(diào)整指令,調(diào)整指令用于觸發(fā)調(diào)整多個位置點對應的延長線之間的夾角。
可選地,存儲介質還被設置為存儲用于執(zhí)行以下步驟的程序代碼:通過預設控件調(diào)整多個位置點對應的法線的方向,以使多個位置點對應的延 長線之間的夾角小于預設角度。
可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地 方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。