欧美大胆a级视频免费,国产精品日韩经典中文字幕,熟女av一区二区高清区,粉嫩一区二区三区色综合

當前位置:首頁 > 觸控技術(shù) > 觸摸屏論文
觸摸屏論文

嵌入式Linux系統(tǒng)基于MiniGUl的觸摸屏多點采集校準算法

基于MiniGUI的觸摸屏多點采集校準算法
向昱丞1,高潔2
(1.中國兵器工業(yè)第58研究所軍電部,四J|I綿陽621000;2.中國兵器工業(yè)第58研究所軍品部,四川綿陽621000)

摘要:為實現(xiàn)觸摸屏的精確校準,提出一種在嵌入式Linux系統(tǒng)下基于MiniGUl的觸摸屏多點采集校準算法.該方法利用MiniGUI定時器消息和鼠標消息,在一般校屏程序中只需采集5個基本目標點,將每個目標點的取值都細化為多個光標點運算處理。通過多點數(shù)據(jù)的采集、比較及處理,能夠較精確地校準觸摸屏。結(jié)果表明,該算法能提高取值的準確性,減少取值過程中的誤操作。

關(guān)鍵詞:嵌入式Linux系統(tǒng);MiniGUI;觸摸屏多點采集

中圖分類號:TP301.6;TP311.52 文獻標志碼:A

O 引言

    觸摸屏處理的數(shù)據(jù)是點的物理坐標,通過觸摸屏控制器采集得來,而LCD顯示屏則處理像素。同時,在安裝觸摸屏的過程中,也存在一定的誤差,所以需要校準。

    嵌入式Linux是一種可以進行裁減、修改使之能在嵌入式計算機系統(tǒng)上運行的操作系統(tǒng)。具有較高的穩(wěn)定性和安全性,以及具有良好的硬件支持、標準兼容性和資源豐富等特點Ilj。而MiniGUI是基于Linux實時嵌入式系統(tǒng)的一個輕量級圖形用戶界面支持系統(tǒng),具有如下優(yōu)點:節(jié)省資源,提供了完備的多窗口機制,可根據(jù)項目需求進行定制配置和編譯,獨立進程的GUI模擬器,不依賴任何操作系統(tǒng)及硬件平臺和可移植性好。

    由于傳統(tǒng)的5點校準法在通過觸摸屏取點的操作過程中,只一次性取5個目標點,很容易因為手滑、沒看清楚等原因造成取點不準確,從而影響校準精度,故提出一種基于MiniGUI的觸摸屏多點采集校準算法,以較精確地校準觸摸屏。

1 觸摸屏多點采集校準

    常用的5點校準法是先預(yù)設(shè)5個屏幕坐標點(原始點),通常5個點分別在左上、右上、右下、左下和屏幕正中,再通過觸摸屏獲取的5個目標坐標點(目標點)調(diào)用MiniGUI下特定函數(shù)對2組坐標數(shù)據(jù)進行處理,達到屏幕校準目的,校準函數(shù)為SetMouseCalibrationParameters。(觸摸屏取點時,預(yù)設(shè)的5個屏幕坐標點分別標記在屏幕上的“+”正中,每采集一個目標點,“+”變到下一個預(yù)設(shè)采點位置,并附帶操作文字提示),如圖l。

 

圖1觸摸屏取點
圖1觸摸屏取點
 

    而多點采集校準是指在5個目標點的采點過程中,對每個點都多次采集、比較,使所采集的每個點更加準確,或使誤操作對采點結(jié)果的準確度影響較小。

2 多點采集校準算法及校屏程序

    多點采集校準算法基本公式為:

圖2 多點采集屏幕校準程序流程圖
 

    式中,Pi為每一次取點的x坐標值;Pj為每一次取點的Y坐標值;為n次取點x坐標相加值;為n次取點Y坐標相加值;Px為x坐標最終值;Py為Y坐標最終值。

    利用MiniGUI消息循環(huán)機制,編寫觸摸屏多點采集校屏程序。把MiniGUI消息機制中的鼠標消息,即用戶在操作鼠標時產(chǎn)生的鼠標事件,投遞到相應(yīng)的應(yīng)用程序消息隊列中。本程序采用鼠標消息中的MSG HITTEST,如果發(fā)生鼠標事件,系統(tǒng)會向含有光標熱點的窗口或捕捉鼠標的窗口發(fā)送一條消息。其wParam參數(shù)即為光標熱點的x坐標,IParam參數(shù)為光標熱點的y坐標。結(jié)合MSG TIMER消息,進行循環(huán)采集多點坐標。當用戶點擊觸摸屏某一“+”,則進入MSG TIMER消息計時采集數(shù)據(jù)點,開始采集即時接觸點對應(yīng)光標的x、Y坐標點。在此期間,保持接觸點按下狀態(tài)則可一直獲取接觸點即時坐標,若取點完成之前松開,則會提示重新取點。在MSG TIMER時間周期內(nèi),本稃宇設(shè)置每一次按下鼠標期間都取十個坐標點,然后取相加值的平均數(shù)。這樣,可以保證取值更加準確。多點采集程序段流程如圖2。

 

圖2 多點采集屏幕校準程序流程圖
圖2 多點采集屏幕校準程序流程圖
 

   在程序初始化時,設(shè)置左上、右上、右下、左下、中心位置5個原始點相對于640×480大小屏幕的坐標分別為(10,10)、(630,10)、(630,470)、(10,470),(320.240),存入自定義結(jié)構(gòu)數(shù)組dst中,程序段如下:

case MSG——CREATE:
dst[0],x=10;dst[0].y=10;
dst[l].x=630;dst[1].y=10;
dst[2].x=630;dst[2].y=470;
dst[3].x=lO;dst[3].Y=470;
dst[4].x=320;dst[4].Y=240;

    取值完成后,把5個目標點坐標(£,只,)分別存入結(jié)構(gòu)體src中。然后調(diào)用屏幕校準函數(shù)SetMouseCalibrationParameters(src,dst),即完成屏幕校準。最后,生成一個xp.txt文件,把最終目標點和原始點取值寫入該文件,程序如下:

fp=fopen(”./xp.txt”,”w+It);
if(fp==NULL)
exit(O);
fwrite(dst pts,sizeof(struct_POINT),5,fp);
fwrite(src pts,sizeof(struct—POINT),5,fp);
fclose(fp);

    在下一次進入嵌入式計算機系統(tǒng)時,無需再進行屏幕校準操作。在系統(tǒng)總程序初始化時打開xp.txt文件,讀出其中保存的原始點與目標點值,再直接調(diào)用屏幕校準函數(shù)即可。程序如下:

fp=fopen(“xp.txt”,“rb”);
i“fp>0)
fread(dst,sizeof(POINT),5,fp);
fread(src,sizeof(POINT),5,fp);
SetMouseCalibrationParameters(src,dst);
fclose(fp);

3 結(jié)束語

    結(jié)果證明,該方法可以較精確地校準觸摸屏,減小了取值過程中誤操作的可能,大大提高了取值的準確性。且界面程序中的人性化設(shè)計,使得校準操作更加方便有效。

參考文獻

【l】張斌.基于PXA270板開發(fā)Qt/Embedded的觸摸屏驅(qū)動【J】.兵工自動化,2009,28(9):82—84.
【2】劉錟.觸摸屏校準程序設(shè)計[J】.計算機世界.技術(shù)與應(yīng)用.2006(13):25—27.
【3】張斌.Linux2.6.16在嵌入式模塊X—Board(GP8)上的移植(J】.兵工自動化,2009,28(10):94—96.


相關(guān)文章
精彩評論:
0  相關(guān)評論
聂拉木县| 清涧县| 无为县| 交城县| 繁峙县| 达日县| 江都市| 宾川县| 定襄县| 武平县| 北海市| 九龙城区| 绥芬河市| 开江县| 东城区| 嘉定区| 兰溪市| 东乡县| 竹北市| 锡林郭勒盟| 江门市| 枝江市| 邵阳市| 连城县| 宁都县| 兰考县| 宣化县| 台南市| 聂荣县| 梅州市| 七台河市| 勐海县| 茌平县| 互助| 奉节县| 秦皇岛市| 永川市| 正镶白旗| 四川省| 北流市| 珲春市|