999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于視頻數據與三維模型的虛擬場景生成

2018-02-28 09:38:04宋田茹童立靖李思哲高思琨
電子技術與軟件工程 2018年23期

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

摘要

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

【關鍵詞】三維模型 人體運動 OpenGL 視頻解碼

1 引言

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

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

2 三維模型的導入

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

2.1 OBJ文件格式簡介

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

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

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

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

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

usemtl:材質名稱(Material name)

mtllib:材質庫(Material library)。

2.2 分析OBJ文件并導入三維模型

在OBJ文件的基礎上建立對應的模型數據結構,存儲頂點信息、紋理信息等。通過編寫針對于OBJ文件的有效數據提取函數,對每行數據進行切割分析,提取出該行中具體的點的坐標并進行繪制。

3 紋理映射

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

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

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

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

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

(2)控制紋理使用glTexParameter()設置紋理對象的狀態參數;

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

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

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

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

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

4 動態場景的生成

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

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

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

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

5 實驗結果

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

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

6 結語

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

參考文獻

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

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

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

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

主站蜘蛛池模板: 91精品视频播放| 毛片在线播放a| 啪啪国产视频| 欧美有码在线| 国产免费a级片| 波多野结衣视频一区二区| 麻豆国产精品视频| 午夜视频免费试看| 高清免费毛片| 国产精品区视频中文字幕| 国产极品粉嫩小泬免费看| 一级毛片中文字幕| 欧美亚洲欧美| 狠狠综合久久| 永久免费精品视频| 全色黄大色大片免费久久老太| 五月婷婷中文字幕| 中文字幕在线播放不卡| 精品一区二区三区视频免费观看| 91精品aⅴ无码中文字字幕蜜桃 | 露脸真实国语乱在线观看| 久久综合国产乱子免费| 9999在线视频| 午夜久久影院| 免费a级毛片18以上观看精品| 成人亚洲天堂| 一区二区在线视频免费观看| 动漫精品啪啪一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 国产精品亚洲一区二区在线观看| 亚洲欧美在线综合图区| 有专无码视频| 国产91精品调教在线播放| 日韩小视频在线播放| 国产午夜不卡| 国产成人91精品免费网址在线| 天堂在线视频精品| 国产成人a毛片在线| 毛片免费试看| 国产精品9| 国产91av在线| 欧美国产三级| 丝袜国产一区| 日韩精品免费在线视频| 亚洲美女一级毛片| 亚洲无线国产观看| 国产一在线观看| 在线观看国产精品一区| 麻豆精选在线| 国产人成在线视频| 国产一国产一有一级毛片视频| 91成人在线观看视频| 97se亚洲综合| 亚洲日韩高清在线亚洲专区| 午夜视频在线观看免费网站| 亚洲精品不卡午夜精品| 亚洲人成亚洲精品| 久久久无码人妻精品无码| 精品久久久久无码| 国产亚洲视频中文字幕视频| 国产精品中文免费福利| 亚洲日韩久久综合中文字幕| 国产不卡一级毛片视频| 综合五月天网| 性视频一区| 欧美笫一页| 国产精品网址你懂的| 久久精品66| 激情网址在线观看| 91视频区| 日韩精品欧美国产在线| 欧美精品1区| 国产欧美网站| 91麻豆精品视频| 青青青国产视频手机| 精品福利视频导航| 播五月综合| 欧美亚洲一二三区| 91小视频在线| 亚洲女同欧美在线| 好吊色妇女免费视频免费| 成人a免费α片在线视频网站|