• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于視頻數(shù)據(jù)與三維模型的虛擬場景生成

    2018-02-28 09:38:04宋田茹童立靖李思哲高思琨
    電子技術(shù)與軟件工程 2018年23期
    關(guān)鍵詞:三維模型

    宋田茹 童立靖 李思哲 高思琨

    摘要

    該文為設(shè)計與實現(xiàn)一個基于視頻數(shù)據(jù)與三維模型的虛擬場景生成系統(tǒng)。先構(gòu)建一個基于OpenGL的三維模型開發(fā)平臺,在此平臺上完成三維模型的載入、幾何變換、人機交互等功能。然后用攝像機采集某一特定場景的視頻數(shù)據(jù),并對視頻數(shù)據(jù)進行視頻解碼,提取其各幀的圖像數(shù)據(jù)。在開發(fā)平臺上基于解析的圖像數(shù)據(jù)完成三維場景的背景構(gòu)建,同時構(gòu)建三維人體的靜態(tài)模型,通過程序?qū)θS人體靜態(tài)模型各部分進行空間幾何變化,完成三維人體的運動模擬,并與背景圖像進行合成,從而完成基于特定場景的人物運動的虛擬場景生成。

    【關(guān)鍵詞】三維模型 人體運動 OpenGL 視頻解碼

    1 引言

    OpenGL是由SGI公司推出的一種圖形與硬件的接口,包括120個圖形函數(shù),開發(fā)者可以用這些函數(shù)來建立三維模型和進行三維實時交互。由于其強大的圖形可視化功能且易于使用,已被認為是高性能圖形和交互式視景處理的標(biāo)準。

    目前基于OpenGL的三維圖形開發(fā)正快速涌現(xiàn),尤其是一些游戲制作中,虛擬場景的構(gòu)建、運動仿真、科學(xué)計算可視化等更是關(guān)鍵環(huán)節(jié)。本文基于Windows下的OpenGL開發(fā)技術(shù)和方法,借助Visual Studio實現(xiàn)簡單的三維模型及虛擬場景,有一定的參考價值。

    2 三維模型的導(dǎo)入

    通過3dsMax將人物模型以O(shè)penGL可處理的格式(OBJ文件格式)導(dǎo)出,然后基于該文件進行模型的導(dǎo)入。

    2.1 OBJ文件格式簡介

    OBJ模型文件為文本類型,定義了對象的幾何和其它的一些特性,其文件結(jié)構(gòu)非常簡單,保存的是一些多邊形的信息,如頂點的幾何坐標(biāo)、紋理坐標(biāo)等,適合在應(yīng)用程序中讀取或進行3D文件格式轉(zhuǎn)換。這里的OBJ文件是一種定義物體幾何模型的3D文件。OBJ文件可以是二進制文件,也可以是ASCⅡ文件,其中二進制格式文件的擴展名是.mod,ASCⅡ格式文件的擴展名是.obj。

    OBJ文件不需要任何種文件頭,整個文件由一行行文本組成,每一行以關(guān)鍵字開頭,關(guān)鍵字可以說明該行數(shù)據(jù)的屬性。常用的關(guān)鍵字如下:

    v:幾何體頂點(Geometric vertices)。表示本行指定一個頂點。此前綴后面跟著3個單精度浮點數(shù),分別表示該定點的X、Y、Z坐標(biāo)值。

    Vt:紋理坐標(biāo)點(Texture vertices)。表示本行指定一個紋理坐標(biāo)。此前綴后跟著兩個單精度浮點數(shù),分別表示此紋理坐標(biāo)的U、V值。

    Vn:頂點法線(Vertex normals)。表示本行指定一個法線向量。此前綴后跟著3個單精度浮點數(shù),分別表示該法向量的X、Y、Z坐標(biāo)值。

    usemtl:材質(zhì)名稱(Material name)

    mtllib:材質(zhì)庫(Material library)。

    2.2 分析OBJ文件并導(dǎo)入三維模型

    在OBJ文件的基礎(chǔ)上建立對應(yīng)的模型數(shù)據(jù)結(jié)構(gòu),存儲頂點信息、紋理信息等。通過編寫針對于OBJ文件的有效數(shù)據(jù)提取函數(shù),對每行數(shù)據(jù)進行切割分析,提取出該行中具體的點的坐標(biāo)并進行繪制。

    3 紋理映射

    在三維圖形中,紋理映射(TextureMapping)的方法運用廣泛,對模型進行紋理貼圖可以增強三維場景繪制的真實感,并能提高三維場景的渲染速度。紋理映射的本質(zhì)是對三維物體進行二維參數(shù)化,即先求得三維物體表面上任一點的二維(x,y)參數(shù)值,進而得到該點的紋理值。

    在程序中,一個紋理圖像就是一個一維或二維數(shù)組,存儲每一個像素的顏色值(包括R、G、B、A分值)。紋理貼圖,就是把紋理圖像根據(jù)紋理坐標(biāo)對應(yīng)到圖元上。

    OpenGL支持4種基本的紋理圖:1D紋理、2D紋理、3D紋理和立體紋理。在光柵化期間,OpenGL通過插值計算紋理坐標(biāo),并將其賦給每個生成的片元。OpenGL將這些坐標(biāo)作為索引,以獲取紋理圖像中的紋素。然后根據(jù)紋理狀態(tài)參數(shù)修改片元的主顏色。

    紋理映射的基本步驟如下:

    (1)生成紋理。使用glGenTextureso獲得未用的紋理對象標(biāo)識符;

    (2)控制紋理使用glTexParameter()設(shè)置紋理對象的狀態(tài)參數(shù);

    (3)定義紋理。使用glTexImage2D()指定紋理圖像;

    (4)綁定紋理。使用glBindTexture()綁定紋理對象;

    (5)使用glEnable()啟用紋理映射;

    (6)繪制場景,給出頂點的紋理坐標(biāo)和幾何坐標(biāo)。

    紋理貼圖的主要流程如圖1所示。

    4 動態(tài)場景的生成

    OpenGL能夠提供高效的實時動畫響應(yīng)。由于具有能對動畫顏色、深度、模板和累積進行雙緩存的操作函數(shù),OpenGL能對動畫實現(xiàn)連續(xù)顯示,不但大幅簡便了程序算法,還可以提升畫面動態(tài)顯示的速度。

    繪制動態(tài)場景,首先要收集足夠多的與人物模型相適應(yīng)的紋理圖片。紋理圖片的收集主要依靠單反相機,由于三維建模對素材圖片的要求比較高,在相機的設(shè)置和拍攝時間選擇上應(yīng)注意拍攝前應(yīng)把相機的拍攝質(zhì)量設(shè)置高些,一般要求在3MB以上;拍攝時間應(yīng)盡量選擇陽光能夠照射到建筑物大部分表面的時候,這樣拍攝的圖片便于后期的紋理處理。

    然后基于OpenCV庫來實現(xiàn)的視頻分割,將獲取到的視頻轉(zhuǎn)換為一幀幀的圖像。在轉(zhuǎn)換過程中,用到了OpenCV提供的VideoWriter、VideoCapture類,最終完成分割任務(wù)。

    最后在將得到的紋理圖作為人物的背景圖,設(shè)置定時器,定時更換圖片,結(jié)合人物的運動,形成人物在某空間行走的感覺。

    5 實驗結(jié)果

    基于上述描述方法及過程,將三維人物模型導(dǎo)入到了搭建好的OpenGL平臺上,如圖2,并進行紋理映射,如圖3所示

    給人物模型加上背景圖,如圖4所示。

    6 結(jié)語

    本文提供一種基于特點場景的人物運動的虛擬場景生成方法,首先將三維模型載入實驗平臺,然后對該模型進行紋理映射。通過攝像機采集某一特點場景的視頻數(shù)據(jù)并進行視頻解碼,提取其各幀的圖像數(shù)據(jù),然后將圖像數(shù)據(jù)導(dǎo)入到開發(fā)平臺上,從而完成三維場景的背景構(gòu)建。最后將背景與人物動態(tài)相結(jié)合,從而實現(xiàn)基于特點場景的人物運動的虛擬場景生成。

    參考文獻

    [1]李婷婷,余慶軍.基于OpenGL的交互式虛擬漫游系統(tǒng)開發(fā)研究[J].計算機技術(shù)與發(fā)展,2018,28(01):131-133.

    [2]賀瓊,李濤,張文杰.紋理貼圖的硬件實現(xiàn)與驗證[J].信息技術(shù),2018,2:116-120.

    [3]盧婧宇,符智棱,李婷婷.三維模型建模方法的總結(jié)及其應(yīng)用[Jl,電子技術(shù)與軟件工程,2018:200-202.

    [4]周碧佳.三維虛擬場景關(guān)鍵技術(shù)研究[J].軟件導(dǎo)刊,2016,15(01):179-181.

    猜你喜歡
    三維模型
    數(shù)字化人體圖像和三維模型在解剖教學(xué)中的應(yīng)用
    礦山虛擬環(huán)境三維模型系統(tǒng)優(yōu)化方法研究
    缸內(nèi)直噴汽油機進氣道流動特性的數(shù)值模擬
    汽車虛擬駕駛培訓(xùn)系統(tǒng)的設(shè)計開發(fā)
    虛擬仿真技術(shù)在家畜解剖教學(xué)中的應(yīng)用
    考試周刊(2016年49期)2016-07-05 09:14:41
    基于現(xiàn)代信息技術(shù)的礦產(chǎn)資源監(jiān)管體系建設(shè)
    科技視界(2016年13期)2016-06-13 08:13:41
    基于WebGL的三維物理模型設(shè)計與開發(fā)
    基于生態(tài)足跡的區(qū)域可持續(xù)發(fā)展研究
    中國市場(2016年7期)2016-03-07 09:18:43
    三維激光掃描在核電維修中的應(yīng)用
    科技視界(2016年4期)2016-02-22 12:45:32
    基于SolidWorks的零件建模參數(shù)化設(shè)計應(yīng)用簡析
    科技資訊(2015年19期)2015-10-09 19:31:12
    苍溪县| 进贤县| 白山市| 晴隆县| 长武县| 固阳县| 大埔区| 卓尼县| 兴业县| 太谷县| 华容县| 太湖县| 渑池县| 什邡市| 大化| 扬中市| 宣恩县| 大城县| 元阳县| 永新县| 理塘县| 巩义市| 应城市| 桐城市| 大新县| 西丰县| 铜川市| 泸州市| 兴城市| 尼玛县| 博湖县| 东阿县| 孝义市| 揭阳市| 宜昌市| 米易县| 金昌市| 邹平县| 南召县| 漠河县| 自治县|