<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于語(yǔ)音識別的聲控鼠標的設計方法

基于語(yǔ)音識別的聲控鼠標的設計方法

作者: 時(shí)間:2012-08-07 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/165091.htm

  模擬移動(dòng)可以通過(guò)循環(huán)調用Windows API函數SetcursorPos(x1,y1)來(lái)實(shí)現, 在循環(huán)中控制x1 和y1 的變化就可以實(shí)現任何方向的移動(dòng)。在程序中模擬移動(dòng)需要用到多線(xiàn)程控制, 否則鼠標移動(dòng)過(guò)程中無(wú)法隨時(shí)停止或者讓他轉向。以下是移動(dòng)線(xiàn)程中的移動(dòng)控制代碼:

  for I := 1 to 500 do

  begin

  if bstop=1 then break;

  //遇到停止命令時(shí)停止光標移動(dòng)

  case Dr of

  //根據參數Dr 決定光標運行方向

  1: x1:=x1+n1; //右移

  2: x1:=x1- n1; //左移

  3: y1:=y1+n1; //下移

  4: y1:=y1- n1; //上移

  end;

  windows.SetcursorPos(x1,y1);

  end;

  鼠標的另一類(lèi)控制程序是模擬鼠標單擊雙擊等鼠標事件, 主要是在程序中利用mouse_event 函數對鼠標事件進(jìn)行模擬。程序中以下代碼模擬了鼠標左鍵單擊:

  windows.mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0);

  // 左鍵按下

  windows.mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

  // 左鍵抬起

  圖2 是一個(gè)理想情況下用本文程序實(shí)現控制鼠標的例子。光標初始位置在屏幕左下方, 目標矩形在屏幕右上區, 首先用戶(hù)對麥克風(fēng)發(fā)出右的命令, 光標就向右移動(dòng); 當光標到達目標下方的時(shí)候用戶(hù)說(shuō)上命令, 光標就改向上移動(dòng)( 或者先說(shuō)停命令, 光標停止) ; 當光標到達目標矩形, 用戶(hù)說(shuō)停命令, 光標停止, 最后用戶(hù)說(shuō)單擊, 程序模擬鼠標左鍵單擊事件, 相當于目標矩形被單擊。

圖2 一個(gè)語(yǔ)音控制鼠標工作的例子

圖2 一個(gè)控制鼠標工作的例子

  4 控制鼠標的缺陷

  雖然幾個(gè)簡(jiǎn)單的語(yǔ)音命令, 可以控制鼠標移動(dòng)到屏幕的任何位置, 并可以根據語(yǔ)音命令模擬單擊、雙擊等各種鼠標事件, 但是實(shí)際使用中還存在缺陷。

  對于大的目標而言, 這種語(yǔ)音控制鼠標控制沒(méi)有什么問(wèn)題, 如果目標區域比較小, 將會(huì )增加使用者的難度, 比如當光標移動(dòng)到矩形時(shí)喊停, 光標會(huì )繼續移動(dòng)一小段才停, 這時(shí)光標可能已經(jīng)越過(guò)了目標矩形。這種情況和語(yǔ)音識控制中存在的延時(shí)有關(guān), 每次用戶(hù)發(fā)出語(yǔ)音命令到命令被執行都有一個(gè)過(guò)程, 首先使用者說(shuō)出語(yǔ)音命令是需要時(shí)間的, 而且語(yǔ)速快的人和語(yǔ)速慢的人說(shuō)同樣的命令花的時(shí)間不同; 另外語(yǔ)音引擎成功一個(gè)語(yǔ)音命令也需要一個(gè)時(shí)間。所以語(yǔ)音控制鼠標在控制過(guò)程中必然存在延時(shí)。因此從開(kāi)始發(fā)出語(yǔ)音命令到動(dòng)作被執行, 光標必然會(huì )有位置的誤差: △S=V×△t ( △S 為位置誤差, V 為鼠標移動(dòng)速度, △t 為說(shuō)話(huà)和造成的延時(shí))。

  Sear 等人曾經(jīng)研究用一個(gè)虛擬鼠標機制來(lái)解決延時(shí)誤差問(wèn)題, 即在真實(shí)的鼠標移動(dòng)前虛設一個(gè)鼠標, 當假鼠標到達目標時(shí)發(fā)出語(yǔ)音命令, 執行的時(shí)候真鼠標正好到達目標處。但是他們的試驗結果并不理想。因為每個(gè)人說(shuō)話(huà)的習慣和速度是不一樣的, 而且不同的狀態(tài)下的語(yǔ)速也不同, 因此延時(shí)△t 不是一定的, 所以每次的位置誤差△S 也不盡相同, 而一種固定距離的先導虛擬鼠標并不能取得很好的效果。

  5 一種改進(jìn)

  影響位置控制效果的因素和目標的大小、移動(dòng)速度和延時(shí)有關(guān)。能夠改變的是速度控制, 所以本文采取一種方案改進(jìn)位置控制精度。改進(jìn)后的語(yǔ)音控制鼠標每次的位置誤差△S 明顯減小, 在目標較小的情況下, 位置控制精度得到提高。

  改進(jìn)是在程序中增加對鼠標的速度控制: 在目標較小的情況下, 光標先以正常速度V1 移動(dòng), 到達目標附近時(shí)先進(jìn)行減速控制, 用語(yǔ)音命令慢來(lái)控制鼠標減低移動(dòng)速度到V2( 實(shí)際中V2=1/3 V1) ,到達目標后再用語(yǔ)音命令停停止鼠標移動(dòng), 圖3 反映了這個(gè)過(guò)程中光標速度的變化。這樣在延時(shí)時(shí)間不變, 由于光標移動(dòng)速度V 降低很多, 由△S=V×△t 知道位置誤差△S 也減小很多。

圖3 速度可控制的語(yǔ)音控制光標移動(dòng)速度變化示意圖

圖3 速度可控制的語(yǔ)音控制光標移動(dòng)速度變化示意圖

  而在目標比較大的情況下, 因為位置控制精度足夠, 可以不選擇慢命令控制直接進(jìn)行??刂?。

  結語(yǔ)

  本文研究語(yǔ)音控制鼠標的應用程序, 實(shí)現了對鼠標基本的語(yǔ)音控制, 針對語(yǔ)音控制中因為延時(shí)而產(chǎn)生的位置控制誤差做了分析和改進(jìn)。本文研究的內容對于開(kāi)發(fā)輔助不便使用鼠標及鍵盤(pán)的傷殘人士使用計算機的交互工具有積極的意義。

  試驗表明用本程序控制鼠標移動(dòng)、點(diǎn)擊等可實(shí)現瀏覽網(wǎng)頁(yè)、打開(kāi)、關(guān)閉程序等電腦操作。但是由于控制鼠標過(guò)程中要多次發(fā)出語(yǔ)音命令, 同時(shí)要集中注意力觀(guān)察光標的位置, 所以也存在用戶(hù)容易疲勞的問(wèn)題。

  后續將對改進(jìn)語(yǔ)音控制鼠標使用舒適情況和提高控制效率等做進(jìn)一步研究。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>