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

    視頻展臺變焦操作的虛擬實驗

    2009-10-26 09:35:10辛允東
    新媒體研究 2009年13期
    關(guān)鍵詞:數(shù)組變焦虛擬現(xiàn)實

    辛允東

    [摘要]視頻展臺是教學(xué)中常用的輔助媒體,正確熟練的使用可以大大提高教學(xué)效率和效果。展臺調(diào)節(jié)功能中的其中一個就是變焦調(diào)節(jié),通過變焦可以看到被投影物體的局部或全部信息。Vrml語言和Java語言是做虛擬實驗的常用工具,就是用這兩種語言實現(xiàn)變焦功能的。

    [關(guān)鍵詞]VrmlJava虛擬實驗視頻展臺變焦

    中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0710027-01

    隨著計算機技術(shù)的迅速發(fā)展,虛擬現(xiàn)實技術(shù)已很成熟,廣泛應(yīng)用于各行各業(yè)。虛擬現(xiàn)實技術(shù)憑借其強大的交互功能,在教育領(lǐng)域中應(yīng)用也很廣泛。將虛擬現(xiàn)實技術(shù)應(yīng)用到教育中,主要是開發(fā)虛擬實驗。Vrml是開發(fā)虛擬實驗的主流語言,能夠構(gòu)建逼真的實驗環(huán)境。將Vrml與Java相結(jié)合,通過通信接口實現(xiàn)了VRML場景與網(wǎng)頁中各個嵌入式對象之間互相方便的通信,使VRML場景成為網(wǎng)絡(luò)表現(xiàn)的一部分。同時,也使用戶能夠動態(tài)的改變VRML場景和java applet中圖像的顯示。

    視頻展臺是教學(xué)中最常用的輔助教學(xué)工具之一。這里主要探討了視頻展臺變焦功能的設(shè)計以及實現(xiàn)方法。

    一、視頻展臺變焦實驗的設(shè)計

    (一)實驗設(shè)計目的

    通過視頻展臺模型的展示、變焦操作的模擬,讓學(xué)習(xí)者學(xué)習(xí)掌握變焦操作。

    (二)實驗過程設(shè)計

    首先,進入實驗室,對展臺的結(jié)構(gòu)有一個整體的了解,認識展臺變焦按鈕,有一個是放大圖像的,另一個是縮小圖像的。

    然后,對展臺進行變焦調(diào)節(jié)操作,并且在實驗操作的過程中,能實時的看到操作結(jié)果。

    (三)實驗環(huán)境的設(shè)計

    虛擬實驗環(huán)境的組成比較簡單,就是一個視頻展臺,一副銀幕以及一個實驗臺。其中的關(guān)鍵就是制作視頻展臺。制作的方法主要有兩種:一是用3DMAX制作完后,再轉(zhuǎn)化成vrml格式的文件,以便在vrml環(huán)境中對各種交互進行編程;二是直接用vrml語言來編寫。兩種方法各有各的長處。用3DMAX制作的實驗器材比較精細、逼真,但,在轉(zhuǎn)換程vrml格式的時候會有一些小錯誤,需要人工修改;直接用vrml編寫,做出來的器材的逼真度不如3DMAX,但編寫起來方便。這里,采用第一種方法。

    (四)交互功能的設(shè)計

    Java處理圖像的功能很強大,因此可以利用Java來模擬變焦操作。虛擬實驗分為兩部分。一是虛擬場景,在虛擬場景里面,學(xué)習(xí)者可以對視頻展臺的組成部分進行了解,了解變焦操作按鈕有兩個,一個是放大投影材料圖像的,一個是縮小投影材料圖像的;二是Applet圖像顯示區(qū),將變焦后的圖像顯示出來。將鼠標放在變焦按鈕上按下去的時候,便可以發(fā)生交互,將交互產(chǎn)生的參數(shù)傳遞到Java applet中,根據(jù)虛擬場景交互產(chǎn)生的數(shù)據(jù)對圖像進行處理,將變化了的圖像顯示出來,模擬變焦操作。

    (五)虛擬場景與Java applet傳遞數(shù)據(jù)的方法

    首先,在虛擬場景腳本里面加入下列語句,訪問網(wǎng)頁中的腳本。

    document.applet.bianjiao(bianjiaoshu);

    “bianjiaoshu”便是從虛擬場景中產(chǎn)生的參數(shù),通過上面這個語句便將參數(shù)傳遞到了Java中。

    最后,Java根據(jù)這個參數(shù)對圖像進行變焦處理,最后將處理好的圖像顯示出來。

    二、視頻展臺變焦實驗的實現(xiàn)

    實現(xiàn)方法主要有兩種:

    一是準備好預(yù)制圖片,操作時一一進行顯現(xiàn)。需要放大圖片局部的時候,呈現(xiàn)逐步變大的圖像;需要縮小圖像瀏覽大圖的時候,呈現(xiàn)逐步變小的圖像。這種做法的不足之處是實驗不夠形象逼真,且當有多幅圖片進行變焦時需要準備很多的圖片,比較費時費力。

    二是利用Java對圖像進行處理以模擬變焦。Java有豐富的類,可以方便的對圖像進行處理。這樣既能實現(xiàn)對圖片的變焦操作,又省去了制作圖片的麻煩。

    二者相比,第二種方法比較可行。通過變焦操作可以放大或縮小圖像,用于觀察細節(jié)或全圖。變焦操作的實現(xiàn)主要有兩種方法。

    1.采用了Java圖像操作中的CropImageFilter過濾器,通過裁剪圖像的方法來實現(xiàn)近似的變焦操作。[1]

    首先,在VRML場景中,對變焦按鈕的單擊做一設(shè)置,使其每次單擊時產(chǎn)生一個動態(tài)的變量,用該變量作為applet中控制變焦的參數(shù)。

    最后,通過這個動態(tài)參數(shù),實現(xiàn)對圖像的變焦控制。部分代碼如下:

    x=(i+1)*32;y=(i+1)*24;width=1024-2*x;height=768-2*y;

    cropFilter=new CropImageFilter(x,y,width,height);

    cropimage=Toolkit.getDefaultToolkit().createImage(new FilteredImageSou

    rce(picture.getSource(),cropFilter));

    其中,i為動態(tài)參數(shù),x、y、width、height分別為截取圖像的縱橫坐標和寬度高度。將剪切好的圖像在顯示在applet中,實現(xiàn)變焦操作。顯示圖像的方法如下:

    public void paint(Graphics g)

    { g.clearRect(0,0,w,h);

    if(cropimage!=null)

    g.drawImage(cropimage,0,0,w,h,this);

    }

    2.數(shù)組方法

    圖像是由像素組成的,通過截取圖像的部分或全部像素在applet中顯示,近似的模擬變焦操作。

    首先,獲取圖像的全部像素,通過PixelGrabber函數(shù)將圖像的像素讀入到一個數(shù)組中[2],方法如下:

    PixelGrabber(Image bufinitig,int x,int y,int w,int h,int[]pixels,int off,int scansize);

    其中,bufinitig是要讀取的圖像,x,y,w,h指明了要抓取像素的一個矩形范圍,pixels是保存像素的數(shù)組,off表示數(shù)組中存儲第一個像素的位置偏移量,通常取0,scansize是數(shù)組中一行到下一行的距離,即每一行的掃描值,通常取圖像的寬度。

    然后,新建一個數(shù)組,通過數(shù)組的方法將圖像的部分像素存入這個數(shù)組,在applet中顯示。部分代碼如下:

    int newPixel[]=new int[w*h];

    int i,j;

    for(i=0;i

    for(j=0;j

    newPixel[i*width+j]=pixels[(i+y)*initWidth+x+j];

    cropImg=createImage(new MemoryImageSource(width,height,newPi

    xel,0,width));

    if(bufg!=null) bufg.drawImage(cropImg,0,0,this);

    x、y、width、height是根據(jù)從虛擬環(huán)境傳遞過來的動態(tài)參數(shù)進行設(shè)置的參數(shù)。根據(jù)這四個參數(shù)來設(shè)置截取圖像的大小范圍。將截取的部分圖像存于cropImage中,再顯示在applet中。

    這里只是實現(xiàn)了視頻展臺虛擬實驗的變焦功能。還有很多擴展的地方,如亮度變化、正負片的轉(zhuǎn)換等等。這里不能一一細述,有待以后進一步完善。

    參考文獻:

    [1]正片[EB/OL].http://baike.baidu.com/view/215447.htm,2008-07-12.

    [2]負片[EB/OL].http://baike.baidu.com/view/215436.htm,2008-07-12.

    [3]李敏、丁友東,JAVA圖形與動畫編程實例[M].北京:清華大學(xué)出版社,2003.

    猜你喜歡
    數(shù)組變焦虛擬現(xiàn)實
    JAVA稀疏矩陣算法
    電腦報(2022年13期)2022-04-12 00:32:38
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    電腦報(2020年24期)2020-07-15 06:12:41
    大變焦比鏡頭
    風口上的虛擬現(xiàn)實
    商周刊(2017年24期)2017-02-02 01:42:55
    合理變焦拍遠景
    大眾攝影(2016年12期)2016-12-07 18:32:41
    虛擬現(xiàn)實技術(shù)向科幻小說借靈感
    海外星云(2016年7期)2016-12-01 04:18:00
    寬譜段、動態(tài)局部高分辨離軸主動反射變焦系統(tǒng)
    HTC斥資千萬美元入股虛擬現(xiàn)實設(shè)備商WEVR
    IT時代周刊(2015年8期)2015-11-11 05:50:37
    尋找勾股數(shù)組的歷程
    掃描型長波紅外連續(xù)變焦光學(xué)系統(tǒng)
    静乐县| 利津县| 绥棱县| 新干县| 谷城县| 南汇区| 西安市| 仙游县| 瑞金市| 余江县| 科技| 基隆市| 高雄市| 中江县| 雅江县| 昌邑市| 长武县| 贡觉县| 井陉县| 酒泉市| 灵璧县| 北京市| 通城县| 武强县| 沁阳市| 沙河市| 太保市| 商丘市| 通许县| 台安县| 汕尾市| 永和县| 星座| 安仁县| 阳春市| 固阳县| 睢宁县| 江油市| 称多县| 隆化县| 峨山|