国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

閾值分割法在直升機駕駛艙模擬器中的應(yīng)用研究

2016-09-07 06:09:29史永勝鄒玉超
計算機測量與控制 2016年1期
關(guān)鍵詞:透明化駕駛艙調(diào)用

史永勝, 鄒玉超

(中國民航大學(xué) 航空工程學(xué)院,天津 300300)

?

閾值分割法在直升機駕駛艙模擬器中的應(yīng)用研究

史永勝, 鄒玉超

(中國民航大學(xué) 航空工程學(xué)院,天津300300)

通過對直升機起降特點及視角轉(zhuǎn)換的分析研究,建立模擬起降模型;以VC++為工具,采用雙緩沖技術(shù)及光柵處理技術(shù),解決了駕駛艙圖片透明化過程中存在的閃爍問題;在完成駕駛艙透明化處理的基礎(chǔ)上通過采用閾值分割方法,實現(xiàn)了駕駛艙與跑道在同一窗體不同區(qū)域中的顯示,通過組件調(diào)用的方式完成駕駛艙按鍵對飛機起降的控制,并結(jié)合多線程技術(shù)完成了直升機模擬起降的仿真測試;該方法能直觀清楚的反映直升機起降過程中駕駛艙內(nèi)部及外部跑道的情況,對直升機起飛降落故障研究有一定的參考價值。

雙緩沖;圖片透明化;閾值分割;區(qū)域顯示;組件調(diào)用;多線程技術(shù)

0 引言

通過應(yīng)用計算機仿真技術(shù),將現(xiàn)代飛行控制與模擬儀器的結(jié)合而產(chǎn)生的模擬飛行控制技術(shù)越來越得到廣泛的應(yīng)用,如通過結(jié)合MFC實現(xiàn)多通道視景仿真,在Vega環(huán)境下完成模型動態(tài)控制以及模擬飛行器的各類飛行模擬試驗[1-3]等。

鑒于直升機特殊的起降特點,在直升機模擬仿真中常用的方法有基于小波變換的圖像分割法[4]、基于知識粒度的圖像分割法[5]和基于閾值分割法[6]等多種方法。本文在上述幾種算法的基礎(chǔ)上經(jīng)過分析比較,采用閾值分割算法來對直升機駕駛艙進(jìn)行構(gòu)建,并結(jié)合組件調(diào)用這一理念對直升機模擬起降方法做了研究分析,通過多線程技術(shù)完成了直升機起降的模擬仿真。

1 設(shè)計思想

在該系統(tǒng)的設(shè)計過程中,主要完成以下幾方面的設(shè)計:駕駛艙儀表面板的區(qū)域透明化、駕駛艙與起降帶的區(qū)域化顯示、通過組件調(diào)用完成飛機起降控制以及起降過程中儀表參數(shù)的顯示。

1.1透明化

透明化處理過程由三部分組成M=∑(N1,N2,N3),其中N1表示對想要處理的區(qū)域做單色處理,即用單一色將該區(qū)域覆蓋?x∈N1,?y,stx→y;N2表示處理區(qū)域外的剩余區(qū)域,N2=Ω-N1(Ω為全集);N3表示處理后的區(qū)域,設(shè)

?x∈A,A=∪(I1,I2,…In)(其中A表示需要透明化處理的區(qū)間),

?y∈B,B=∪(J1,J2,…Jn)(其中B表示與A中元素相疊加的元素的集合)

如果x×y=φ,則N3=A×B,即為透明區(qū)域。

1.2區(qū)域劃分

在區(qū)域透明化的基礎(chǔ)上,假設(shè)

?x,?δ,stx-δ∈N1,x+δ∈N2

1.3組件調(diào)用控制

設(shè)A={a1,a2,…},B={b1,b2,…},C={c1,c2,…} 其中A表示表單元的合集,B表示控制單元的合集,C表示被控制單元的合集。假設(shè)f(x),f(y),f(z)分別為A、B、C的函數(shù),則對于?z∈C,?x∈A,y∈B,使得

上式表示在表單元和控制元件狀態(tài)選定的條件下會有相應(yīng)數(shù)據(jù)與其匹配,并且該數(shù)據(jù)會以特定形式在規(guī)定區(qū)域內(nèi)以運動形式表現(xiàn)出來。

1.4多線程處理

在分區(qū)域顯示過程中,由于不同區(qū)域內(nèi)顯示不同的對象,且各對象中還存在調(diào)用控制關(guān)系,所以引入多線程技術(shù)來完成上述過程的處理。

設(shè)?x∈A,y∈B,f(x)表示區(qū)域M中任意成員函數(shù),g(y)表示區(qū)域N中任意成員函數(shù),f(x)與g(y)相互獨立并且?z∈N,使得g(z)→f(z),即當(dāng)區(qū)域N中發(fā)出一個指令時,區(qū)域M中會有成員函數(shù)相應(yīng)該指令并作出相應(yīng)的回應(yīng)。

2 模型體系結(jié)構(gòu)設(shè)計

2.1模型結(jié)構(gòu)組成

模型根據(jù)功能分類的差別將整體結(jié)構(gòu)劃分為圖像區(qū)域透明化模塊,區(qū)域顯示模塊,組件調(diào)用控制模塊以及多線程控制仿真模塊。其功能結(jié)構(gòu)圖如圖1所示。

圖1 功能結(jié)構(gòu)圖

區(qū)域透明化模塊通過對選定區(qū)域進(jìn)行顏色附著與調(diào)和方法實現(xiàn)透明化處理,然后再應(yīng)用閾值分割法進(jìn)行區(qū)域分割,在不同區(qū)域中調(diào)用不同的圖像。圖像交互處理模塊是通過采用調(diào)用組件的方法對不同區(qū)域中的圖像做對應(yīng)的處理操作。

2.2運行控制

模型以事件驅(qū)動為主要方式來執(zhí)行運行控制操作,將調(diào)用模塊以組件方式封存并加載到不同的控制函數(shù)下,通過采用點擊響應(yīng)方式,完成對事件消息的接受與處理,并將不同的組件在不同的區(qū)域內(nèi)顯示出來。

由于該系統(tǒng)是由多個模塊組成,系統(tǒng)功能的實現(xiàn)要由各個模塊之間協(xié)調(diào)一致才能完成,所以各模塊之間以事件消息和數(shù)據(jù)信息為紐帶進(jìn)行聯(lián)系,具體到程序中就是以指針和參數(shù)為主要橋梁將各個模塊之間聯(lián)系起來。當(dāng)主控制模塊發(fā)出指令時,各個模塊之間根據(jù)主模塊的命令對各自所負(fù)責(zé)的區(qū)域進(jìn)行控制和響應(yīng),如當(dāng)點擊發(fā)動機開關(guān)按鈕時,直升機儀表開始旋轉(zhuǎn),外部場景開始下降,使直升機完成起飛過程。

3 模塊功能的實現(xiàn)

3.1區(qū)域圖像透明化處理

繪制"透明"位圖是指繪制某一位圖中除指定顏色外的其余部分,我們稱這種顏色為"透明色"。通過將位圖的背景色指定為"透明色",在繪制時,不繪制這部分背景,而僅繪制圖像,這樣就可以將位圖中圖像透明地繪制到窗口上。

繪制“透明”位圖的關(guān)鍵是創(chuàng)建一個“掩碼”位圖(mask bitmap),“掩碼”位圖是一個單色位圖,它是位圖中圖像的一個單色剪影。在Windows編程中,繪圖都要用到設(shè)備描述表,我們需創(chuàng)建兩個內(nèi)存設(shè)備描述表:位圖設(shè)備描述表(image DC)和“掩碼”位圖設(shè)備描述表(mask DC)。位圖設(shè)備描述表用來裝入位圖,而“掩碼”位圖設(shè)備描述表用來裝入“掩碼”位圖。圖像透明化處理模塊創(chuàng)建流程圖如圖2所示。

圖2 透明模塊流程圖

3.2區(qū)域分塊顯示模塊

根據(jù)迭代閾值分割算法,創(chuàng)建剪裁區(qū)CRgn,然后通過CDC類的SelectClipRgn函數(shù)將該裁剪區(qū)選入設(shè)備場景中,最后通過BitBlt函數(shù)顯示位圖。通過選取目標(biāo)圖像上一系列的點選定所需要的不規(guī)則圖形,然后用紅色框線畫出選出的圖像。根據(jù)所畫出的邊界,用閾值分割算法的原理通過程序把圖片按框線分成兩個不規(guī)則的區(qū)域。

通過水平/垂直交叉點數(shù)判別法來判斷閾值點是否在選定的區(qū)域,以此將圖片分成兩個互不相關(guān)的區(qū)域,在每個區(qū)域內(nèi)設(shè)定一個圖片顯示功能,來分別顯示前景圖片與背景圖片。分塊顯示原理圖如圖3所示。

圖3 區(qū)域分塊原理圖

3.3組件調(diào)用控制模塊

為了簡化編程過程,模型的構(gòu)建采用組件調(diào)用的方法實現(xiàn)。通過設(shè)計駕駛艙儀表按鈕,將其作為直升機起降的開關(guān),根據(jù)需要將不同區(qū)域內(nèi)的圖像封裝為幾個不同的組件,將不同組件載入不同的按鈕下方。根據(jù)需要改變按鈕布局形狀完成模型調(diào)控的初步設(shè)計。

為了實現(xiàn)模型虛擬起降的仿真功能,需要對控制元件狀態(tài)與封裝組件的關(guān)系進(jìn)行設(shè)定,并結(jié)合駕駛艙儀表盤信息來達(dá)到對直升機起降過程的全程監(jiān)測。三者之間的關(guān)系如圖4所示。

圖4 組件調(diào)用原理圖

3.4仿真

直升機模擬起降的仿真通過系統(tǒng)調(diào)用已導(dǎo)出的加載區(qū)域圖像,按照加載DLL->屬性設(shè)置->獲取外部數(shù)據(jù)的步驟實現(xiàn)。系統(tǒng)采用多線程技術(shù)實時監(jiān)控控制單元狀態(tài),捕獲實時數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)化成特定的形式顯示到對應(yīng)的區(qū)域中。

3.5動態(tài)處理過程

上述的各個過程是以VC++作為主要工具,基于GDI設(shè)備接口基礎(chǔ)上生成的,各部分對應(yīng)的仿真過程代碼如下:

//載入圖片

LoadImage();

//設(shè)置圖片高度與寬度

bmWidth;

bmHeight;

//創(chuàng)建與顯示DC相兼容的內(nèi)存DC

CreateCompatibleDC();

//將選定的位圖選入內(nèi)存DC

SelectObject();

//開始縮放目標(biāo)區(qū)域---源區(qū)域

StretchBlt();

//創(chuàng)建不規(guī)則區(qū)域

CreatePolygonRgn();

//選擇創(chuàng)建的不規(guī)則區(qū)域SelectClipRgn();

//按鈕設(shè)置

DoModal();

//可視化移動

if(direction_T("")

&&speed_T("")&time_T(""))

{

when(IDOK)

{

ShowPic();//顯示圖片

}

}

4 實例驗證分析

4.1載入原始圖像

從文件中將所需要的圖片選入內(nèi)存,在載入內(nèi)存之前已經(jīng)完成對圖片選定區(qū)域的填色處理,駕駛艙儀表盤之外的區(qū)域都進(jìn)行了填色處理,方便后續(xù)工作的進(jìn)行。

4.2原始圖像透明化處理

按圖2所示的流程圖,對原始圖像做對應(yīng)的處理,主要處理代碼如下:

//顯示原圖像

MaskDC.BitBlt(0,0,r1.Width(),r1.Height( ) , &MemoryDC,0, 0,SRCCOPY );

//對原圖像做“與”處理

dc1->StretchBlt(r1.left,10,r1.Width(), r1.Height(),&MemoryDC,TempX,TempY,BITWidth,BITHeight,SRCINVERT);

//對“與”處理圖像再做“異或”

dc1->StretchBlt(r1.left,10,r1.Width(),

r1.Height(),&MaskDC,TempX,TempY,BITWidth, BITHeight,SRCAND);

//最后再做“與”處理

dc1->StretchBlt(r1.left,10,r1.Width( ), r1.Height(),&MemoryDC,TempX,TempY,BITWidth,BITHeight, SRCINVERT);

通過上述代碼完成了對原始圖像5的區(qū)域透明化處理,即將藍(lán)色區(qū)域經(jīng)過幾次調(diào)色處理后變成了透明化狀態(tài),處理結(jié)果如圖6所示。

圖5 原始圖像

圖6 透明處理結(jié)果

對比圖5與圖6,可以發(fā)現(xiàn)已經(jīng)將黑色區(qū)域完全透明化,而這一透明化區(qū)域會被當(dāng)作一個特別模塊,通過下面的分割算法加以劃分。

4.3多區(qū)域劃分

在透明處理結(jié)果的基礎(chǔ)上,通過采用閾值分割算法,將顯示窗體劃分為多個區(qū)域。

像由于選點個數(shù)太多的情況下,程序處理過程過慢所以只在能保證區(qū)域大致范圍不變的情況下盡可能少的選擇分割點,這也造成區(qū)域劃分過程中邊界比較凌亂,加大取點個數(shù)可以解決這一問題。

4.4組件調(diào)用及控制

在完成多區(qū)域劃分后,將跑道圖像及駕駛艙面板圖像作為組件封存,設(shè)定駕駛艙開關(guān)按鍵,將組件分別嵌入到對應(yīng)的區(qū)域內(nèi),如圖7所示。

圖7 組件調(diào)用

在完成組件調(diào)用后,將封存組件加載到按鈕相應(yīng)函數(shù)下,結(jié)合多線程技術(shù)實現(xiàn)了直升機在跑道上起降的過程,如圖8所示。

圖8 直升機模擬起降

5 結(jié)語

本文提出了一種基于閾值分割的直升機模擬起降模型的設(shè)計方法。系統(tǒng)采用面向?qū)ο蟮某绦蛟O(shè)計思想完成圖像單元的設(shè)計與封裝,使用GDI及紋理貼圖的方法實現(xiàn)區(qū)域分塊顯示圖像的繪制,應(yīng)用組件調(diào)用的方法實現(xiàn)模型模擬起降控制過程的構(gòu)建,利用DLL及多線程等技術(shù)完成直升機模擬起降的仿真測試功能。本文所提出的設(shè)計方法程序處理過程比較簡潔、便于維護(hù)更改、易于擴充、開發(fā)成本低,其思想通用性強,可擴充到其它系統(tǒng)或平臺的設(shè)計之中。

[1]王嬌艷,康鳳舉,由延軍. MFC框架下的多通道視景仿真技術(shù) [J].火力與指揮控制,2010(7):130-132.

[2]朱曉輝, 江浩. Vega環(huán)境下的某飛行器視景仿真的實現(xiàn)[J].現(xiàn)代電子技術(shù),2012(13):32-34.

[3]張玲, 陳寧. 飛行模擬器飛行仿真系統(tǒng)集成方法研究[J].飛行力學(xué),2010(3):39-42.

[4]馬銀平,李賜健. 基于小波變換的遙感圖像分割方法研究[D].南昌:南昌航空大學(xué),2013.

[5]周金容, 周春榮, 潘峰. 基于知識粒度的圖像分割新算法[J].計算機工程與設(shè)計,2014(10):3563-3567.

[6]吳懷群,黃宵寧,楊忠. 一種基于熵值的自動閾值圖像分割方法[J].應(yīng)用科技,2011(8):1-4.

[7]李忠新, 茅耀斌, 王執(zhí)銓. 基于對數(shù)極坐標(biāo)映射的圖像拼接方法[J]. 中國圖象圖形學(xué)報, 2005, 10(1): 59-63.

[8]張偉, 任仙怡, 張桂林, 等. 基于對數(shù)極坐變換和仿射變換的目標(biāo)識別定位方法[J]. 中國圖象圖形學(xué)報, 2005, 11(9): 1255.

[9]張亮.基于雙緩沖技術(shù)的VC++圖形刷新技術(shù)的原理和實現(xiàn)[J].福建電腦,2010(6):110.

[10] Kohli P ,Ladicky L ,Torr P HS.Robust higher order potentials for enforcing label consistency [J]. International Journal of Computer Vision, 2012,82(3):302-324.

[11]張磊.基于VC++的高效繪圖——雙緩沖技術(shù)[J].硅谷,2009(20):61.

[12]Wang Wenping ,Bert J,Zheng Dayue,etal. Computation of rotationg minimizing frame[J]. ACM Transactions on Graphics,2011,27(1):1-7.

[13]郝建強,宮云戰(zhàn).葉紅點對多邊形位置檢測的穩(wěn)定串行最優(yōu)與并行的算法[J].計算機應(yīng)用研究,2010(4):1342-1348.

[14] Liu Y, Zhang D S,Lu G J, et al. A survey of content-based image retrieval with high level semantics[J]. Pattern Recognition,2013,40(12):282-288.

Landing of Helicopter Simulation Method Based on Threshold Segmentation Research

Shi Yongsheng, Zou Yuchao

(College of Aeronautical Engineering,Civil Aviation University of China,Tianjin300300,China)

Through the analysis of the helicopter landing characteristics and perspective transformation, establishing a simulation model of the landing of helicopter. With VC + + as a tool, adopting double buffer technology and processing technology of grating has solved the cockpit picture flicker problems exist in the process of transparency. On the basis of the completion of the cockpit transparent processing , using threshold segmentation method achieves the cockpit and the runway shows in different regions of the same form. Through the way of component calls complete the aircraft cockpit buttons controlling the landing of helicopter, and combined with multithreading technology to complete the simulation of helicopter landing simulation test. This method can directly reflect clearly the helicopter cockpit inside and outside the runway in the process of takeoff and landing, the flying helicopter fault study has certain reference value.

double buffer; image transparency; threshold segmentation; area shows;component calls; multithreading technology

2015-07-28;

2015-09-07。

國家自然科學(xué)基金委員會于中國民用航空總局聯(lián)合資助(61179048);天津市支撐計劃項目(重點)(11ZCKFGX04100)。

史永勝(1965-),男,遼寧錦州人,教授,博士,主要從事結(jié)構(gòu)智能化設(shè)計、故障診斷與結(jié)構(gòu)修理、專家系統(tǒng)、知識表示方向的研究。

鄒玉超(1989-),男,碩士,主要從事虛擬維修、圖像處理方向的研究。

1671-4598(2016)01-0259-03

10.16526/j.cnki.11-4762/tp.2016.01.072

TP391.9

A

猜你喜歡
透明化駕駛艙調(diào)用
核電項目物項調(diào)用管理的應(yīng)用研究
透明化、科學(xué)化和可預(yù)期
商周刊(2019年19期)2019-10-17 03:23:42
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
跟蹤導(dǎo)練(三)
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
走進(jìn)客機駕駛艙
跟蹤導(dǎo)練(四)3
奉瑋:信息透明化是“互聯(lián)網(wǎng)+”的核心邏輯
提高汽國駕駛艙內(nèi)的系統(tǒng)集成度
汽車零部件(2014年4期)2014-06-23 13:53:47
透明化會改善治理嗎?
云林县| 栾城县| 闵行区| 北安市| 丽水市| 达尔| 临澧县| 万盛区| 平远县| 方正县| 巴楚县| 巩义市| 开平市| 广河县| 东阿县| 苍溪县| 女性| 大洼县| 砀山县| 溧阳市| 舟山市| 芜湖市| 汉沽区| 巴林左旗| 罗源县| 黄浦区| 本溪| 元阳县| 冕宁县| 淄博市| 醴陵市| 博客| 郁南县| 苗栗市| 富阳市| 昭觉县| 阿城市| 泸溪县| 望城县| 沐川县| 鲁甸县|