• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于unity3d的實景情景演繹訓(xùn)練系統(tǒng)

      2014-10-21 12:55:13邵剛
      電子世界 2014年23期

      邵剛

      【摘要】影像訓(xùn)練系統(tǒng)都是采取事先拍攝準備好視頻資料用作訓(xùn)練,不能夠根據(jù)教官的要求有足夠的變化,或者就是對抗場景訓(xùn)練,場景受限,只能使用攝像機照射的位置的圖像進行訓(xùn)練。本文通過介紹藍屏摳像的視頻圖像處理技術(shù),并將處理的圖像加入到新的渲染引擎。

      【關(guān)鍵詞】虛擬訓(xùn)練;實景視頻演繹;OpenCV

      1.藍屏摳像系統(tǒng)原理說明

      摳像技術(shù)是視頻編輯中常用的特技?!皳赶瘛币辉~從早期電視制作中得來的。英文稱作“key”,意思是吸取畫面中的某一種顏色作為透明色,將它從畫面中摳去,從而使背景透出來形成三層畫面的疊加合成。這樣在室內(nèi)拍攝的人物經(jīng)摳像后與各種場景疊加在一起,形成神奇的效果。于是我們在電影中可以看到人在空中飛行、真人明星和動物明星同臺獻藝等許多有趣的特技效果。在早期的電視制作中,摳像需要昂貴的硬件支持,且對拍攝的背景要求很嚴,需在特定的藍背景下拍攝,光線的要求也很嚴格。現(xiàn)在的摳像技術(shù)已發(fā)展的很成熟,如藍屏摳像和綠屏摳像等。利用不同的摳像工具可從各種不同畫面內(nèi)容的前景素材中進行透明通道的提取,最常用的是藍背景和綠背景兩種。原因在于,人身體的自然顏色中不包含這兩種色彩,用他們來做背景不會和人物混在一起。如圖1所示。

      圖1

      2.基于opencv的藍屏摳像系統(tǒng)

      本文中使用的摳像由于需要實時進行圖像摳像并進行實時的圖像合成,所以采取的是OpenCV圖像庫來進行實時的圖像檢測,OpenCV是Intel OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一個基于(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。

      Opencv處理圖像流程(如圖2所示):通過DirectShow組件獲得攝像機圖像(由于OpenCV自帶的讀取攝像機圖像的組件性能太差,所以使用底層的Directshow來獲取攝像機圖像,將圖像傳遞給opencv經(jīng)過多次的基礎(chǔ)圖像處理,腐蝕,膨脹,提取人體區(qū)域,并將人體邊緣處理透明話等處理處理,將圖像的紋理及相關(guān)透明數(shù)據(jù)通知unity渲染器,將圖像渲染出),處理流程如圖2所示。

      (1)初始化 DirectShow;

      (2)創(chuàng)建 Capture Graph Builder組件, 獲取CaptureGraph接口;

      (3)在 Filter Graph加入視頻源過濾器;

      (4)在Filter Graph加入AVI Decompressor Filter;

      (5)在Filter Graph加入Sample Grabber Filter并設(shè)置媒體類型、緩沖模式;

      (6)定義CSampleGrabberCB:public Isa-mpleGrabberCB在該類中重載BufferCB方法獲取圖像數(shù)據(jù)。在BufferCB中可以加入用戶具體的圖像處理函數(shù);

      (7)初始化 OpenCV;

      (8)讀取攝像機圖像,跟背景圖進行比較,剔除無效區(qū)域;

      (9)圖像二值化,進行形態(tài)學(xué)處理:腐蝕,膨脹等;

      (10)輪廓識別:剔除無效區(qū)域,留下人體區(qū)域。

      根據(jù)輪廓識別圖像對本幀攝像機圖像進行處理,并將其轉(zhuǎn)化成unity3d紋理。

      結(jié)果(如圖3所示):

      圖3

      3.使用unity3d渲染引擎融合圖像

      Unity3D游戲引擎是用于創(chuàng)建三維視頻游戲、建筑可視化、實時三維動畫等互動內(nèi)容的專業(yè)級綜合創(chuàng)作工具。2009年就被英國develop評入十大游戲引擎的Unity3D仍然保持自己快速的更新速度與開發(fā)者們的熱捧。Unity3D開發(fā)的游戲跨平臺非常容易,內(nèi)置多項移動平臺優(yōu)化技術(shù)使其已成為最熱門的手游游戲引擎。Unity3D的交互使圖形化開發(fā)環(huán)境方便到極致,使得大型3D游戲也可以由少數(shù)做出來。Unity的火爆社區(qū)和獨有的資產(chǎn)市場,使游戲開發(fā)者得到最方便的交流,讓中國人不再缺少創(chuàng)意,不再受限于只有創(chuàng)意。Unity游戲引擎已成為業(yè)界游戲開發(fā)的最佳選擇。

      Unity3D已經(jīng)涉及3D游戲、2D游戲、虛擬現(xiàn)實AR、3D Web、建筑、時裝、商品宣傳等越來越廣泛的領(lǐng)域。Unity的使用者既有EA、NC Soft、Bigpoint等世界級游戲廠商,又有各個工作室,個人愛好者。目前Unity技術(shù)社區(qū)共有超過900,000注冊開發(fā)人員。蘋果應(yīng)用商店里的Unity3D游戲也已超過1000款。

      圖4

      Unity3D中播放游戲視頻的方式在場景中創(chuàng)建一個Plane面對象,攝像機直直的照射在這個面上。 Unity支持的播放視頻格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。只需將對應(yīng)的視頻文件拖拽入Project視圖即可,它會自動生成對應(yīng)的MovieTexture對象。將視頻拖拽入Project視圖中,如果視頻中含有音頻的話會對應(yīng)生成audio文件,接著在Hierarchy視圖中創(chuàng)建一個Plane對象視頻將在它之上播放,Directional light世界定向光用于照亮整個游戲場景,最后Main Camera對象將直直的照射在Plane對象,然后將opencv識別出的圖像,根據(jù)透明度與繪制在plane上的紋理圖像進行融合顯示,結(jié)果如圖4所示。

      參考文獻

      [1]吳志達.一個基于Unity3d游戲引擎的體感游戲研究與實現(xiàn)[D].廣州:中山大學(xué),2012.

      [2]宣雨松.Unity游戲開發(fā)[M].北京:人民郵電出版社,2012.

      [3]DirectX 9.0 SDK Document[M].US:Microsoft Corporation,2002.

      清水县| 临潭县| 扶风县| 格尔木市| 广昌县| 韶山市| 凯里市| 西乌| 望都县| 黔东| 民和| 定南县| 池州市| 即墨市| 上杭县| 湘乡市| 勃利县| 克什克腾旗| 吉安市| 黑龙江省| 乌苏市| 祥云县| 京山县| 肇东市| 若羌县| 随州市| 胶南市| 盐源县| 茌平县| 大连市| 镇雄县| 汝城县| 绵阳市| 牙克石市| 康定县| 四子王旗| 南召县| 宣城市| 五指山市| 丽水市| 镇远县|