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

基于OpenGL的SAR實(shí)時(shí)圖像顯示

2015-04-12 00:00:00張娟劉國(guó)霞陳光輝
現(xiàn)代電子技術(shù) 2015年13期

摘 要: 成像雷達(dá)在實(shí)際的操作中顯示的圖像數(shù)據(jù)量頗大,并且能呈現(xiàn)出圖形的許多細(xì)節(jié),因此,對(duì)顯示的現(xiàn)實(shí)性、實(shí)時(shí)性要求很高。圖像在屏面空間滾動(dòng)時(shí),數(shù)據(jù)中會(huì)包含已經(jīng)輸入的原始圖像數(shù)據(jù),同時(shí)也會(huì)滾動(dòng)顯示新錄入的圖像數(shù)據(jù),兩組圖像數(shù)據(jù)在同一平面顯示,而且要注意到在進(jìn)行圖像數(shù)據(jù)顯示時(shí),還要求在其空間上疊加相應(yīng)的飛參信息和時(shí)間信息。因此,為滿足成像雷達(dá)的顯示需求,在VxWorks操作系統(tǒng)下通過(guò)采用OpenGL系統(tǒng)具有的雙緩存技術(shù)和融合技術(shù),可以獲得平滑的、完整的、動(dòng)感的、實(shí)時(shí)的動(dòng)畫(huà)效果。

關(guān)鍵詞: OpenGL; SAR; 雙緩存; VxWorks操作系統(tǒng)

中圖分類號(hào): TN911.73?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)13?0007?03

Abstract: Since imaging radar needs to display massive image data and can present many graphic details in practical operation, the requirements in the aspects of displayed authenticity and real?time capacity are very high. When image is scrolling in display screen, the image data consists the entered original image data and new entered image data. The two sets of image data are displayed in the same plane. It is noticed that when image data displays, it also requires to overlay the relevant flight?parameter information and time information. To satisfy the display requirements of imaging radar, dual?cache technology and fusion technology of OpenGL system were adopted in VxWorks operating system, by which the smooth, complete, dynamic and real?time animation effect can be obtained.

Keywords: OpenGL; SAR; dual?cache; VxWorks operating system

0 引 言

VxWorks操作系統(tǒng)是一種嵌入式操作系統(tǒng),因其在實(shí)際操作中,具有良好的性價(jià)比,操作程序簡(jiǎn)潔實(shí)用,運(yùn)行扎實(shí)可靠被廣泛應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)以及實(shí)時(shí)性要求極高的領(lǐng)域中[1]。VxWorks操作系統(tǒng)在圖形界面的通用開(kāi)發(fā)方式是采用風(fēng)河公司的圖形開(kāi)發(fā)軟件WindML,但該軟件在具體實(shí)操時(shí),不能有效利用圖形界面實(shí)現(xiàn)操作效率的提升,同時(shí)利用該軟件處理的圖像界面顯示,效果單一模糊,最大的短板是該軟件在面臨諸如圖像的動(dòng)畫(huà)、反走樣等問(wèn)題時(shí)無(wú)法提供解決渠道[2]。因此,考慮選擇系統(tǒng)顯卡自帶的OpenGL三維圖形軟件包,該軟件最大的特點(diǎn)是通過(guò)建立函數(shù)關(guān)系進(jìn)行操作,函數(shù)的設(shè)立、建構(gòu)都依照實(shí)用簡(jiǎn)單的模型,利用OpenGL提供的函數(shù)功能,只需建構(gòu)、設(shè)置一整套自己需要、簡(jiǎn)潔清晰的渲染函數(shù)就能完成圖形選取、設(shè)計(jì)、規(guī)劃,這樣直接通過(guò)操作簡(jiǎn)單函數(shù)來(lái)進(jìn)行圖形制作,針對(duì)性、時(shí)效性強(qiáng),所設(shè)計(jì)的圖形更具直觀性,同時(shí)OpenGL可以很好地解決諸如圖形的動(dòng)畫(huà)、反走樣等顯示效果方面出現(xiàn)的難題[3?4]。

OpenGL是SGI公司開(kāi)發(fā)的具有廣泛運(yùn)用性的一種軟件接口,它的最大特點(diǎn)是可以移植,并且具備獨(dú)立性,不受窗口操作系統(tǒng)和硬件環(huán)境的制約,是一種用于實(shí)時(shí)3D圖形的標(biāo)準(zhǔn)范例。OpenGL的圖像顯示是基于硬件(通常是顯卡)實(shí)現(xiàn)的,在OpenGL硬件運(yùn)轉(zhuǎn)情況下,調(diào)動(dòng)OpenGL API 傳送給硬件驅(qū)動(dòng)程序,然后與圖形顯示硬件直接交互,如圖1所示。由于軟件技術(shù)的深度開(kāi)發(fā),OpenGL在3D圖形加速卡方面的發(fā)展日益加快,使得圖形處理更為簡(jiǎn)潔、實(shí)用、高效[5]。

1 軟件設(shè)計(jì)

OpenGL提供glDrawPixels函數(shù)繪制像素貼圖。在操作環(huán)節(jié)它利用glRasterPos定義當(dāng)前光柵位置的左下角,然后以glPixelStore操控像素貼圖的格式。在雷達(dá)圖像中,像素格式通常為灰度圖,含256級(jí)亮度,每個(gè)字節(jié)對(duì)應(yīng)一個(gè)像素的信息。在glRasterPos函數(shù)設(shè)置好當(dāng)前光柵位置后,隨即可利用glDrawPixels函數(shù)將圖像從內(nèi)存復(fù)制到幀緩沖區(qū)內(nèi)。

OpenGL支持雙緩存技術(shù),在顯示前臺(tái)緩存圖像的同時(shí),后臺(tái)緩存繪制第二幅圖像。當(dāng)后臺(tái)繪制完成后,后臺(tái)緩存中的圖像就顯示出來(lái),此時(shí)原來(lái)的前臺(tái)緩存開(kāi)始繪制第3幅圖像,如此循環(huán)往復(fù),使屏幕上的畫(huà)面看起來(lái)是連續(xù)的。

另外,還要考慮融合技術(shù)。這是一種最為基本的圖像處理技術(shù),應(yīng)用面廣泛,利用這種技術(shù)可以顯示飛參等信息。在圖像處理過(guò)程中,融合的方式多種多樣,最主要的方式是使用Alpha通道。在程序中,使用Alpha值可以直接完成字體位圖與圖像信息的融合透明處理[6]。

1.1 圖像繪制

繪制像素貼圖OpenGL函數(shù)及其參數(shù)如下:

(1) 描述位圖數(shù)據(jù)的存儲(chǔ)格式。

這里要解決好如下兩個(gè)問(wèn)題:如何使用glReadPixels函數(shù)保存像素;如何為glDrawPixels函數(shù)讀取像素。在程序中主要是利用該函數(shù)設(shè)置從內(nèi)存中讀取像素的格式來(lái)解決上述問(wèn)題。

Void glPixelStorei(Glenum pname,Glint param)

其中pname為要設(shè)置的參數(shù);param是參數(shù)值。

控制從內(nèi)存中讀取像素的pname參數(shù)取值為:

GL_UNPACK_SWAP_BYTES

GL_UNPACK_LSB_FIRST

GL_UNPACK_ROW_LENGTH

GL_UNPACK_SKIP_ROWS

GL_UNPACK_SKIP_PIXEL

GL_UNPACK_ALIGMENT

程序參數(shù)取GL_UNPACK_ALIGMENT值為1,表示圖像上每一行掃描的對(duì)齊方式是按照1個(gè)字節(jié)進(jìn)行掃描對(duì)齊的。

(2) 設(shè)置當(dāng)前光柵位置,確定圖像的起始位置

Void glRasterPos2i(GLint x,GLint y)

其中,x表示圖像起始左下角的水平坐標(biāo);y表示圖像起始左下角的垂直坐標(biāo)。x,y的數(shù)據(jù)類型也可以是浮點(diǎn)數(shù),相應(yīng)的函數(shù)名稱是glRasterPos2f(GLfloat x,GLfloat y)。

(3) 從內(nèi)存將像素?cái)?shù)據(jù)復(fù)制到幀緩沖區(qū)光柵位置

Void glDrawPixels(GLsizei width,GLsizei height,GLenum format,GLenum type,const GLvoid* pixels)

其中:width表示像素計(jì)的圖像寬度;height表示像素計(jì)的圖像高度;format表示繪制的像素的顏色空間;type是指繪制的像素類型;pixels是圖像的像素?cái)?shù)據(jù)的指針。雷達(dá)圖像是灰度級(jí)數(shù)據(jù),因此設(shè)置type參數(shù)為GL_UNSIGNED_BYTE,format參數(shù)設(shè)為 GL_LUMINANCE。

1.2 圖像平滑滾動(dòng)的實(shí)現(xiàn)

OpenGL支持雙緩沖系統(tǒng),但在實(shí)際中OpenGL函數(shù)不會(huì)用來(lái)交換前臺(tái)緩沖區(qū)和后臺(tái)緩沖區(qū)。但是令人欣慰的是,每個(gè)OpenGL支持的窗口系統(tǒng)都可以通過(guò)設(shè)置一個(gè)函數(shù)調(diào)用來(lái)完成前后緩沖區(qū)之間的交換。在Windows中,函數(shù)是SwapBuffer。在程序中,函數(shù)是glxSwapBuffer。

OpenGL用雙緩存技術(shù)來(lái)完成動(dòng)畫(huà)制作。程序默認(rèn)幀存為兩個(gè)視頻緩存,在任意時(shí)刻,兩者中只有一個(gè)內(nèi)容能被顯示出來(lái)。運(yùn)行原理是, 當(dāng)前可見(jiàn)視頻緩存稱為前臺(tái)視頻緩存,不可見(jiàn)的(正在畫(huà))的視頻緩存稱為后臺(tái)視頻緩存。當(dāng)后臺(tái)視頻緩存中的內(nèi)容被要求顯示時(shí),OpenGL就將它拷貝至前臺(tái)視頻緩存。在操作中顯示硬件通過(guò)讀取可見(jiàn)視頻緩存中的內(nèi)容,把相關(guān)結(jié)果顯示在屏幕上。OpenGL在雙緩存模式下,位平面被默認(rèn)切分為前臺(tái)和后臺(tái)位平面。通過(guò)繪制函數(shù)操作的圖像首先被寫(xiě)向后臺(tái)位平面,這就要求,在描畫(huà)物體之前,首先必須把幀存設(shè)置成正確的組態(tài),當(dāng)后臺(tái)出現(xiàn)完整的畫(huà)之后,就調(diào)用glxSwapBuffer函數(shù),使其稱為可見(jiàn)視頻緩存[7]。glxSwapBuffer函數(shù)的工作過(guò)程如圖2所示。

1.3 生成位圖字符

OpenGL直接用于處理單色位圖。這種儲(chǔ)存形式單一、簡(jiǎn)潔,如果存儲(chǔ)位為1則用指定的顏色填充該位,如果存儲(chǔ)位為0,則用底色填充該位。如果按每行8位掃描,則按以下數(shù)組表示的位所生成的位圖是字母B,如圖3所示。

以同樣的方法,可以表示A~Z的字母,0~9的數(shù)字。要輸出位圖,需要調(diào)用glBitmap函數(shù)把位圖按指定的位置顯示在屏幕上。glBitmap原型為:

Void glBitmap(GLsizei width,GLsizei height,GLfloat xorig, GLfloat yorig,GLfloat xmove,GLfloat ymove,const GLubyte* bitmap)

其中,width指定位圖的寬,height指定位圖的高,兩者均以像素為單位;(xorig,yorig)為位圖原點(diǎn)的坐標(biāo);(xmove,ymove)為位圖基于當(dāng)前光柵位置的偏移量;bitmap為存儲(chǔ)位圖的地址。

1.4 融合處理

OpenGL融合技術(shù)可以把源顏色與目的顏色進(jìn)行某種方式的融合,通過(guò)融合組合成為目標(biāo)顏色,從而生產(chǎn)出透明或半透明的特殊效果。顏色的比例融合通過(guò)Alpha進(jìn)行操作,即RGBA顏色模型中的A。融合操作涉及兩個(gè)因子,一個(gè)是源因子,另一個(gè)是目的因子。在進(jìn)行融合計(jì)算之前,要完成兩個(gè)因子的融合,完成此功能的函數(shù)是glBlendFunc,原型為:

void glBlendFunc(GLenum sfactor,GLenum dfactor)

參數(shù)sfactor說(shuō)明怎樣計(jì)算源因子,參數(shù)dfactor說(shuō)明怎樣計(jì)算目標(biāo)因子。

設(shè)源融合因子為[(Sr,Sg,Sb,Sa),]目的因子為[(Dr,Dg,][Db,Da),]則融合后的顏色為:[(RsSr+RdDr,GsSg+GdDg,BsSb+][BdDb,AsSa+AdDa),]顏色的各個(gè)分量最后自動(dòng)進(jìn)行歸一化處理。

融合作為一種特殊的功能,必須進(jìn)行啟動(dòng)和關(guān)閉聲明:

glEnable(GL_BLEND);

glDisable(GL_BLEND);

2 測(cè)試結(jié)果

顯卡輸出的雷達(dá)圖像視頻經(jīng)視頻采集卡接收處理后,實(shí)現(xiàn)圖像的正常顯示,如圖4所示。

在顯卡顯示噪聲的同時(shí),會(huì)疊加載機(jī)信息。

3 結(jié) 語(yǔ)

本文通過(guò)基于OpenGL在實(shí)際操作中的圖像顯示方法(一方面顯示原始圖像信息,同時(shí)顯示自數(shù)據(jù)處理系統(tǒng)的二次信息),在程式命令的操作下,顯示系統(tǒng)會(huì)進(jìn)行顯示模式轉(zhuǎn)換,如A型、B型和P型顯示器,顯示切換功能會(huì)不停轉(zhuǎn)換,顯示更加靈活,實(shí)用性較強(qiáng)。

參考文獻(xiàn)

[1] 胡延蘇,南秦博,高昂,等.VxWorks中任務(wù)恢復(fù)機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[J].空軍工程大學(xué)學(xué)報(bào):自然科學(xué)版,2013(5):48?52.

[2] 鄭元珠.基于VxWorks操作系統(tǒng)的雷達(dá)顯示軟件屏幕截圖技術(shù)研究[J].艦船電子對(duì)抗,2010(2):116?120.

[3] 李軍.OpenGL編程指南[M].北京:機(jī)械工業(yè)出版社,2009.

[4] 和克智.OpenGL 編程技術(shù)詳解[M].北京:化學(xué)工業(yè)出版社,2010.

[5] 張琪.OpenGL超級(jí)寶典[M].北京:人民郵電出版社,2010.

[6] 馬建萍,嚴(yán)恭敏,王保衛(wèi).OpenGL在雷達(dá)圖像實(shí)時(shí)顯示中的應(yīng)用[J].航空計(jì)算技術(shù),2005,35(4):72?74.

[7] 柳佳佳,欒曉巖,邊淑莉.基于OpenGL的二維矢量地圖可視化技術(shù)研究[J].測(cè)繪科學(xué),2013(5):88?90.

主站蜘蛛池模板: 伊人色天堂| 人人澡人人爽欧美一区| 国产呦视频免费视频在线观看| 国产精品视频观看裸模| 久久午夜夜伦鲁鲁片无码免费| 91久久精品日日躁夜夜躁欧美| 香港一级毛片免费看| 久久国产精品电影| 丁香亚洲综合五月天婷婷| 中文字幕不卡免费高清视频| 日韩视频免费| 国产精品 欧美激情 在线播放| 日韩精品一区二区深田咏美| 亚洲开心婷婷中文字幕| 999精品在线视频| 免费国产在线精品一区| 国产国产人成免费视频77777| a网站在线观看| 日韩毛片基地| 亚洲成a人片| 91精品国产麻豆国产自产在线| 高清不卡毛片| 亚洲Av激情网五月天| 日韩在线视频网| 2021国产精品自产拍在线| 婷婷中文在线| 91亚瑟视频| 波多野结衣久久高清免费| 国产理论最新国产精品视频| 国产亚洲精久久久久久无码AV| 在线播放精品一区二区啪视频| 思思99热精品在线| 乱系列中文字幕在线视频| 97国内精品久久久久不卡| 99re免费视频| 欧美国产在线看| 99视频在线免费观看| 色综合天天操| 99re精彩视频| 亚洲免费人成影院| 亚洲日本在线免费观看| 日韩成人免费网站| 欧美日韩国产系列在线观看| 大学生久久香蕉国产线观看| 精品午夜国产福利观看| 精品国产成人av免费| 青青国产成人免费精品视频| 国产成人亚洲欧美激情| 国产AV无码专区亚洲A∨毛片| 国产精品美女在线| 国外欧美一区另类中文字幕| 毛片最新网址| 日韩av在线直播| 青青操视频免费观看| 中文字幕无码电影| 亚洲男人天堂网址| 国产成人高清在线精品| 亚卅精品无码久久毛片乌克兰| 日本欧美一二三区色视频| 亚洲区第一页| 欧美色视频网站| 99久久国产综合精品女同| 69视频国产| 国产精品无码在线看| 精品久久香蕉国产线看观看gif | 婷婷五月在线| 久久久久人妻一区精品| 亚洲精选高清无码| 欧美成人区| 欧美另类精品一区二区三区| 欧洲精品视频在线观看| 自拍中文字幕| 99热这里都是国产精品| 国产高清无码第一十页在线观看| 中文字幕亚洲精品2页| 国产永久在线视频| 国产成人久久777777| 最新无码专区超级碰碰碰| 亚洲经典在线中文字幕| 国产91色在线| 久久黄色影院| 真人高潮娇喘嗯啊在线观看|