亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

        摘要

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

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

        1 引言

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

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

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

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

        2.1 OBJ文件格式簡(jiǎn)介

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

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

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

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

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

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

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

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

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

        3 紋理映射

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

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

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

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

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

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

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

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

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

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

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

        4 動(dòng)態(tài)場(chǎng)景的生成

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

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

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

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

        5 實(shí)驗(yàn)結(jié)果

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

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

        6 結(jié)語

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

        參考文獻(xiàn)

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

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

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

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

        极品新娘高清在线观看| 日本变态网址中国字幕| 国产熟女露脸大叫高潮| 国产一区二区视频在线免费观看| 成人影院视频在线免费观看| 日本真人做人试看60分钟| 亚洲成av人在线观看天堂无码| 日本免费人成视频播放| 欧美在线区| 老熟妇高潮av一区二区三区啪啪| 极品尤物在线精品一区二区三区| 亚洲无线码一区二区三区| 亚洲av成人精品日韩一区| 久久HEZYO色综合| 国产一级黄片久久免费看| 桃红色精品国产亚洲av| 欧美黑吊大战白妞| 久久九九有精品国产尤物| 丝袜美腿诱惑一二三区| 久久无码高潮喷水抽搐| 免费观看激色视频网站| 亚洲人妻无缓冲av不卡| 18禁黄无遮挡免费网站| 国产91成人自拍视频| 亚洲一区二区三区99| 人妻熟女一区二区三区app下载| 欧美gv在线观看| 中文字幕一区二区三区人妻精品 | 国产一区二区长腿丝袜高跟鞋 | 97久久人人超碰超碰窝窝| 99精品热6080yy久久| 男女动态视频99精品| 色欲欲www成人网站| 人妻被黑人粗大的猛烈进出 | 日韩一区在线精品视频| 中国人妻被两个老外三p| 91精品国产91久久久久久青草| 风流少妇一区二区三区91| 东北少妇不戴套对白第一次| 久久久久久成人毛片免费看| 一本大道久久精品一本大道久久|