亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于紅外視頻定位交互系統(tǒng)的鼠標模擬方法

        2014-09-23 03:16:32查文錦孫孝彬趙太飛
        電子設計工程 2014年2期
        關鍵詞:系統(tǒng)

        查文錦,孫孝彬,趙太飛,高 波

        (1.西安理工大學 自動化與信息工程學院,陜西 西安 710048;2.河北邯鄲永年海軍四七二三工廠五車間,河北 邯鄲 057150)

        基于紅外視頻定位交互系統(tǒng)的鼠標模擬方法

        查文錦1,孫孝彬1,趙太飛1,高 波2

        (1.西安理工大學 自動化與信息工程學院,陜西 西安 710048;2.河北邯鄲永年海軍四七二三工廠五車間,河北 邯鄲 057150)

        本論文針對紅外視頻定位采用端口操作驅動程序組件(WinIo)模擬鼠標事件的局限性,提出了用win32 API函數(shù)的方法實現(xiàn)鼠標驅動,解決了因內外部數(shù)據沖突導致鼠標失控的問題,并實現(xiàn)WinIo難以做到的雙擊事件,擴展了紅外視頻定位系統(tǒng)的功能,為實現(xiàn)基于視頻的多點觸控提供解決方案。

        人機交互;指示點定位;坐標轉換;鼠標模擬

        基于視頻定位[1]實現(xiàn)人機交互是在專門的應用程序的支持下,構造一個大屏幕、交互式的商務會議或教學環(huán)境,它將顯示幕布變成了“觸摸屏”。首先,電腦將屏幕的視頻信號通過投影機,投射到幕布上,通過攝像頭采集幕布上的圖像信息送到電腦;然后,利用軟件計算,就可以將幕布上的觸摸位置與電腦的鼠標信息相對應。為配合各種應用軟件在大屏互動操作,更好的應用于教學,會議,指揮,遠程協(xié)作等各種場合,實現(xiàn)傳統(tǒng)方式所無法實現(xiàn)的互動動態(tài)的多媒體操作,改變傳統(tǒng)的教學模式,將理論教學和實踐有機的結合在一起,調動學生的多種感官參與學習,提升教學的質量,提高教學效率,擴大教學規(guī)模[2],本文提出了應用編程接口(API)鼠標模擬方案,并對模擬雙擊做出了理論研究和實驗分析。

        1 視頻定位人機交互系統(tǒng)原理

        1.1 視頻定位人機交互系統(tǒng)組成

        系統(tǒng)的整體設計主要劃分為以下幾個模塊,各個模塊之間相互聯(lián)系,形成一個完整的人機交互系統(tǒng)。為實現(xiàn)鼠標事件模擬的前期準備,將系統(tǒng)的模塊劃分為如圖1所示。

        圖1 系統(tǒng)的模塊組成圖Fig.1 The constitution of system modules

        由圖中可以看出,該模塊的設置自下而上形成了一個數(shù)據流,同時通過交互設置模塊進行參數(shù)的設置,與用戶交流。其中,該模塊又根據功能劃分為若干個功能子模塊,各個子模塊的功能分別為:

        1)視頻圖像獲取與顯示子模塊(實現(xiàn)該子模塊功能封裝C++類為CVideo):利用攝像頭對顯示畫面的圖像進行連續(xù)不斷的拍攝,軟件上利用該模塊從攝像頭中連續(xù)不斷的獲取視頻圖像,在設置模塊需要對攝像機的位置進行可視化校正,并將圖像顯示在對話框上的相應控件上。

        2)圖像畸變校正子模塊(實現(xiàn)該子模塊功能封裝的C++類為CCamCalibration):在圖中,該子模塊是以虛線框顯示的,表明該功能是一個可選項,主要是為了應對攝像頭的鏡頭畸變,只需提取攝像頭標定的參數(shù)[3]即可進行畸變校正。

        3)圖像分析與指示點提取子模塊(實現(xiàn)該子模塊功能封裝的 C++為 CCoordinateInImage和 CCoordinateTrans):通過攝像頭拍攝計算機顯示的純白色背景圖像、白色背景加3個頂點圖像和棋盤格圖像。對采集到的三幅圖像進行分析,提取出棋盤格在拍攝圖像中的位置,即代表了顯示畫面在拍攝圖像中的位置。并在獲得位置信息的基礎上自動生成一幅索引圖。當紅外光屏上有動作時,通過opencv圖像處理算法[4]可以從攝像頭拍攝的視頻圖像中找到指點的區(qū)域,并計算輸出一個指點坐標。

        4)坐標轉換與動作測試子模塊(實現(xiàn)該子模塊功能封裝的C++為CCoordinateTrans和PointDetect):利用顯示畫面在圖像中的位置信息,以及索引圖像及提取的小矩形坐標等信息,對計算出的坐標點進行轉換,將圖像坐標系中的坐標轉換到屏幕坐標系中的實際坐標,在測試對話框中進行動作測試,及時調整模擬鼠標的各項參數(shù)。

        5)鼠標模擬(實現(xiàn)該子模塊功能封裝的C++類為CMouseSimu):通過對圖像的分析以及指示點的提取得到手指位置在屏幕中的坐標,調用windows函數(shù)來實現(xiàn)相應功能。

        6)交互設置模塊:該模塊由若干對話框組合構成,這些對話框將以上各子模塊聯(lián)系起來,向用戶提供了視頻畫面顯示,參數(shù)設置,位置校正等功能,以提高該系統(tǒng)的環(huán)境適應性,同時也提高了鼠標事件模擬的準確度。

        1.2 指示點提取計算方法

        在紅外光屏上提取指示點的原理如圖2所示(其中1-紅外激光器,3-投影幕布,2-激光器投射的紅外光屏)。攝像頭套上濾光片后可濾除可見光干擾,當手指或者其他不透光的物體在紅外光屏上有動作時,就會出現(xiàn)明顯的光斑,很容易被攝像頭捕捉到。當有多個光斑出現(xiàn)時,會選擇連通域面積最大光斑的質心坐標作為鼠標模擬操作的坐標。在求取指示點坐標前,需要求取圖像x方向與y方向的步長,對圖像進行二值化以及形態(tài)學濾波,貼標簽等計算處理,按照步長逐個尋找棋盤格上的角點[5],如(1)式。

        式中 f(x,y)為貼標簽后圖像在 x,y 點的灰度值,點(xi,yi),i=1~3是標記區(qū)域的中心坐標值,ni為圖像中灰度值為i的點的總個數(shù)。

        圖2 指示點采集原理圖Fig.2 The principle of indicator point collection

        標定棋盤格上的角點后便可進行指示點坐標的計算,在調試的過程中發(fā)現(xiàn),采集角點要屏蔽掉棋盤格之外的角點,否則會對下步坐標轉換產生很大的影響。由于采集圖像和計算機屏幕畫面的坐標系是相互獨立的,所以提取到的指示點坐標不能進行鼠標模擬動作.為了實現(xiàn)所見即所得,需要建立了兩個坐標系之間的映射關系來獲取準確的計算機屏幕畫面的坐標,用轉換后的坐標來進行鼠標事件的模擬。使用四點定位法[6]來計算,假設小矩形rect11是棋盤格中序號為11(從 1 開始)的矩形,如(2)式,ABCD 是該矩形的 4 個點,lx,ly是該矩形的列與行的長度,T是待轉換坐標的點,分別是水平和垂直方向的比例值,即可求得點T在計算機屏幕中的真實坐標(xscreen,yscreen)。

        1.3 鼠標事件模擬方法

        windows提供的API函數(shù)可以直接向目標程序發(fā)送消息,常用的有SendMessage和 PostMessage,模擬鼠標消息要用PostMessage函數(shù),用該函數(shù)向系統(tǒng)消息隊列中壓入一個自定義的鼠標動作消息即可模擬鼠標操作,但用這種方法模擬鼠標并不是對所有程序都有效的,對于某些程序會禁止用戶對它使用模擬鼠標程序。 或者利用函數(shù)SendInput來模擬鼠標事件,該函數(shù)合成鍵盤事件和鼠標事件,用來模擬鼠標或者鍵盤操作。事件將被插入在鼠標處理隊列里面,這是一種比較底層的模擬方法。 也可利用全局鉤子(Hook)[7]等方式進行模擬,鉤子過程是Windows中提供的一種用以替換DOS下“中斷”的系統(tǒng)機制。在對特定的系統(tǒng)事件進行hook后,操作系統(tǒng)在傳遞消息時,將目的消息先傳遞給該鉤子過程,對該消息進行檢查,這時程序就能在第一時間對該事件做出響應。在程序中設置一個鼠標鉤子過程,截獲所有的鼠標消息,然后進行判斷是否是目的消息,如果不是則將該消息放行交由系統(tǒng)處理,否則根據需求進行鼠標事件的模擬。在WinIo驅動級上模擬是通過加載一個內核模式的設備驅動程序,利用幾種底層編程技巧,使得Windows應用程序可以直接對I/O端口和物理內存進行存取,從而繞過了Windows系統(tǒng)的保護機制。由于直接的硬件端口讀寫使得很多程序無法對其進行屏蔽,但是實驗結果表明該方法也具有一定的局限性,就是驅動級的模擬是硬件相關的,因而兼容性不高。

        在對以上幾種方法進行測試比較,發(fā)現(xiàn)利用API函數(shù)mouse_event進行模擬效率最高,兼容性較好,例如用該函數(shù)結合MOUSEEVENTF_LEFTDOWN和MOUSEEVENTF_LEFTUP即可模擬一次單擊鼠標左鍵的過程。模擬過程為:先讓光標移動到觸點位置,當光標停下時觸發(fā)點擊鼠標左鍵的事件。當手指離開紅外光屏,即檢測不到光斑時調用觸發(fā)彈鍵事件。為模擬鼠標左鍵雙擊,需要使用時間函數(shù)來計時。當手指離開光屏面時觸發(fā)計時,再次檢測到光斑停止計時,計算出時間差。若時間差小于某個數(shù)時相當于在光屏上點擊了兩次。在對時間差的調整過程中發(fā)現(xiàn),當時間差設為500 ms時,測試的效果最好。為加強對目標的精確點擊,又定義一個距離變量,計算第一次點擊的地方到第二次點擊的地方的距離。當這個距離小于250個像素范圍時,可以確定點擊的目標。

        2 實驗結果及分析

        在實際環(huán)境中利用該系統(tǒng)進行了測試,如圖3,測試在室內環(huán)境下完成,系統(tǒng)測試結果如下。

        圖3 系統(tǒng)測試圖Fig.3 System test

        上面四幅圖分別是系統(tǒng)運行彈出的人機交互對話框。首先要調整攝像頭的位置使之能拍攝全部幕布圖像,如圖(a);再拍攝保存顯示屏顯示的棋盤格,通過分析棋盤格可標定計算機顯示屏,如圖(b);對棋盤格進行圖像處理,標出棋盤格上的角點,這些角點將用于計算指示點的坐標,如圖(c);最后對指點檢測進行設置,調整各項參數(shù)使之適應當前的環(huán)境,如圖(d)。綜上,交互設置模塊大大提高了系統(tǒng)運行的環(huán)境適應性。

        對模擬雙擊之間的時間間隔的最佳值的計算做了統(tǒng)計,如圖 4。

        圖4 時間差-模擬雙擊成功率的關系圖Fig.4 The relationship between time difference and the success rate of double-click

        可看出當兩次單擊之間的時間間隔在200 ms時,雙擊模擬成功率較低;大于200 ms后,雙擊模擬成功率開始上升;在500 ms時,雙擊的模擬成功率達到最高;大于500 ms后雙擊模擬成功率開始下降。這是因為系統(tǒng)程序處理每次單擊需要一定的時延,當時間間隔為200 ms時,相當于在一次單擊處理時延里模擬雙擊,結果被判為單擊,造成雙擊模擬成功率低。隨著時延增大,在單擊時延里處理雙擊事件的概率開始降低,使雙擊模擬成功率得到提高。而兩次單擊的時間間隔大于500 ms時,這兩次單擊會被分配到兩個單擊處理時延中,被判定為兩次單擊。時間間隔越大被分配到兩個時延的概率就越大,模擬成功率開始下降。所以500 ms是最佳時間間隔。

        屏幕分辨率就是屏幕上顯示的像素個數(shù),分辨率越高,像素的數(shù)目越多。在屏幕尺寸一樣的情況下,分辨率越高,顯示效果就越精細和細膩。在實驗中,對于屏幕分辨率和光標定位的準確度之間的關系進行了測試分析,如圖5,可以看出,屏幕分辨率越高,模擬光標的移動延時越小,光標定位準確度越高,這是因為圖像處理要先采集圖像信息,圖像越細膩,采集到的指示點越精確,處理得到的指示點坐標越接近目的坐標,定位的準確度就越高,人手直接對幕布進行操作的效率也得到提高,能滿足精度以及實時性要求。

        圖5 屏幕分辨率—光標定位準確度關系圖Fig.5 The relationship between screen resolution and the cursor positioning accuracy

        3 結束語

        本文首先闡述了紅外交互系統(tǒng)的構建,包括系統(tǒng)的硬件與軟件環(huán)境,并介紹各個模塊的劃分以及模塊間的關聯(lián),重點闡明了系統(tǒng)的最終目標,即鼠標事件模擬,使用API函數(shù)避開在驅動級上進行模擬,又克服了一般應用軟件禁止鼠標模擬的缺點,在此基礎上完成了雙擊事件。最后對整個系統(tǒng)進行了測試,測試結果證明系統(tǒng)能很好的完成各項功能。基于視頻定位的人機交互系統(tǒng)因其較低的成本、更自然的交互方式和對多媒體技術更充分的利用,在未來將會有更為廣闊的發(fā)展前景。未來的工作將向多點觸控展開,構造基于多點觸控的大屏幕教學、娛樂系統(tǒng)。多點觸控是在同一顯示界面上的多點或多用戶的交互操作模式,摒棄了鍵盤、鼠標的單點操作方式,利用視頻定位方式將能很大程度上的降低其成本。

        [1]李巖.視頻定位人機交互系統(tǒng)的研究與實現(xiàn) [D].西安:西安理工大學,2012.

        [2]吳愷.基于紅外感應的交互式白板系統(tǒng)的設計與實現(xiàn)[D].長沙:國防科學技術大學,2009.

        [3]Gary Bradski,Adrian Kaebler.學習OpenCV (中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009.

        [4]于仕琪.OpenCV教程——基礎篇[M].北京:北京航空航天大學出版社,2007.

        [5]王玉珠.圖像角點檢測算法研究[D].重慶:重慶大學,2007.

        [6]崔如春,譚海燕.電阻式觸摸屏的坐標定位與筆畫處理技術[J].儀表技術與傳感器,2004(8):49-50.

        CUI Ru-chun,TAN Hai-yan. Interface and software processing technology for resistive touch screen[J].Instrument Technique and Sensor,2004(8):49-50.

        [7]孫鑫.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

        Human-computer interaction system based on infrared video positioning

        ZHA Wen-jin1, SUN Xiao-bin1, ZHAO Tai-fei1, GAO Bo2
        (1.Faculty of Automation and Information Engineering,Xi'an University of Technology,Xi’an 710048, China;2.The Fifth Workshop of 4723 Factory,Hebei Yongnian Navy, Handan 057150, China)

        There are some limitations when using port operation driver components (WinIo) to simulate mouse events in infrared video positioning technology.According to the above problem,the method of win32 API function to achieve mouse driver is proposed.Using this method,the mouse out of control caused by internal and external data collision is solved and the double-click event which is difficult to do using WinIo function is achieved.Analysis and results show that the functions of infrared video positioning system are expanded and the method can provide solution to realize the multi-point touch based on the infrared video positioning.

        human-computer interaction;indicate a point positioning;coordinate transformation;mouse simulation

        TP37

        A

        1674-6236(2014)02-0165-03

        2013-05-29 稿件編號:201305288

        國家自然科學基金資助項目(61001069);西安市技術轉移促進工程重大項目(CX12166);陜西省自然科學基礎研究計劃項目(2011JQ8028);陜西省教育廳產業(yè)化培育項目(2012JC19)

        查文錦(1990—),男,安徽黃山人。研究方向:通信。

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調速系統(tǒng)中的應用
        亚洲中文字幕一区av| 四虎影视亚洲精品| 黄色大片一区二区中文字幕| 国产女主播一区二区三区在线观看 | 亚洲欧美一区二区成人片| 国产精品久久久久电影网| 久久久久一| 一区二区三区日本视频| 久久婷婷五月综合97色直播| 人妻少妇邻居少妇好多水在线| 免青青草免费观看视频在线| 国产一区二区三区小向美奈子| 久久精品中文字幕| 久久这里只精品国产免费10| 鲁丝一区鲁丝二区鲁丝三区| 亚洲一区二区三区在线看| 色欲综合一区二区三区| 欧美精品一区二区性色a+v| 色偷偷av一区二区三区人妖| 精品国产精品三级在线专区| 精品亚洲成a人片在线观看| 男人天堂免费视频| 色av色婷婷18人妻久久久| 大尺度无遮挡激烈床震网站 | 免费a级毛片出奶水| 国产精品激情综合久久| 日韩av在线亚洲女同| 亚洲熟妇久久精品| 一级免费毛片| 中文字幕精品亚洲一区二区三区| 色哟哟亚洲色精一区二区| 亚洲欧美在线观看| 国产精品麻豆A啊在线观看| 精品少妇人妻av一区二区蜜桃| 伊人色综合久久天天五月婷| 思思久久99er热只有频精品66| 美女偷拍一区二区三区| 黑人大群体交免费视频| 日日噜噜夜夜狠狠久久无码区| 亚洲夫妻性生活视频网站| 日本伊人精品一区二区三区|