freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多點(diǎn)觸摸畢業(yè)設(shè)計(jì)含外文翻譯(參考版)

2025-01-21 15:00本頁(yè)面
  

【正文】 本文建議使用紅外光分布強(qiáng)度均勻且適中的觸摸屏,這樣實(shí)驗(yàn)的效果會(huì)有很大改善。對(duì)于圖像分割步驟中的自適應(yīng)閾值部分,除了對(duì)軟件算法進(jìn)行改進(jìn),也可以對(duì)硬件的設(shè)計(jì)進(jìn)行改良。同樣,對(duì)于本文改進(jìn)的最小距離觸點(diǎn)跟蹤方法雖然能滿(mǎn)足基本應(yīng)用中觸點(diǎn)跟蹤的準(zhǔn)確率,但是由于跟蹤條件比較簡(jiǎn)單,所以不能保證在復(fù)雜手勢(shì)的情況下本方法仍能滿(mǎn)足同樣的精度。例如自適應(yīng)閾值算法的效果并不是十分理想,還存在很多錯(cuò)分的現(xiàn)象。本文基于最小距離優(yōu)先法改進(jìn)的觸摸點(diǎn)跟蹤算法也可以明顯的提高觸點(diǎn)的跟蹤速率并保持較高的精度。 虛擬鍵盤(pán)應(yīng)用界面 結(jié)  論本文改進(jìn)的多點(diǎn)觸摸系統(tǒng)底層軟件能夠成功完成圖像處理、觸點(diǎn)的檢測(cè)和跟蹤以及觸點(diǎn)信息的傳輸。指點(diǎn)按在指定琴鍵上時(shí)指定琴鍵變紅,并發(fā)出對(duì)應(yīng)的音調(diào)。若兩指點(diǎn)之間的距離不斷增加,則判定為放大動(dòng)作;當(dāng)兩指點(diǎn)之間的距離不斷減小,則判定為縮小動(dòng)作。同理,兩個(gè)手指分別向內(nèi)進(jìn)行收縮的動(dòng)作這樣就實(shí)現(xiàn)了對(duì)圖片的縮小。但通過(guò)運(yùn)動(dòng)跟蹤算法檢查觸摸點(diǎn)的ID,可以確定這些點(diǎn)的序列對(duì)應(yīng)的都是同一個(gè)觸摸點(diǎn)。 多點(diǎn)觸摸事件分類(lèi)觸摸點(diǎn)一觸摸點(diǎn)二動(dòng)作名稱(chēng)離散無(wú)手指按下,手指彈起,手指點(diǎn)擊連續(xù)無(wú)手指移動(dòng)離散離散手指雙擊連續(xù)連續(xù)縮小對(duì)象,放大對(duì)象等 移動(dòng)動(dòng)作首先本文為手指移動(dòng)做出如下定義[20]:?jiǎn)蝹€(gè)手指在觸摸屏上移動(dòng)或停止在觸摸屏上的狀態(tài)。根據(jù)離散連續(xù)的定義,以?xún)蓚€(gè)動(dòng)作為例,對(duì)多點(diǎn)觸摸系統(tǒng)交互動(dòng)作的設(shè)計(jì)和分類(lèi)()。連續(xù)動(dòng)作:連續(xù)動(dòng)作就是連貫的觸發(fā)某個(gè)事件的動(dòng)作,譬如移動(dòng)鼠標(biāo)。離散動(dòng)作:離散動(dòng)作就是不連續(xù)的觸發(fā)事件的動(dòng)作,譬如點(diǎn)擊按鈕。下面就結(jié)合該理論介紹多點(diǎn)觸摸動(dòng)作的定義。由于目前多點(diǎn)觸摸屏還處于研究階段,業(yè)界還沒(méi)有一套成熟規(guī)范的多點(diǎn)觸摸動(dòng)作。手勢(shì)就是用戶(hù)操作觸摸屏?xí)r所使用的一套規(guī)定動(dòng)作。 KNN算法與最小距離跟蹤算法比較算法名稱(chēng)KNN算法最小距離跟蹤算法校驗(yàn)集的選取新觸點(diǎn)作為校驗(yàn)集舊觸點(diǎn)作為校驗(yàn)集判斷觸點(diǎn)匹配條件較為復(fù)雜較為簡(jiǎn)單跟蹤速度滯后較為明顯滯后時(shí)間明顯減少精度較高在簡(jiǎn)單手勢(shì)情況下精度較高,但當(dāng)手指距離太近時(shí)易出現(xiàn)漏跟蹤的錯(cuò)誤在簡(jiǎn)單手勢(shì)條件下,最小距離優(yōu)先算法較KNN算法簡(jiǎn)潔高效的完成了觸點(diǎn)的跟蹤。,但是由于進(jìn)行觸點(diǎn)匹配的判斷條件過(guò)于簡(jiǎn)單,不能保證此算法在觸點(diǎn)距離非常接近的情況下或手勢(shì)非常復(fù)雜的條件下仍能保證跟蹤的精度。在判斷index是否是某一新觸點(diǎn)的跟蹤匹配點(diǎn)時(shí),只需用兩個(gè)if判斷語(yǔ)句來(lái)判斷,免去了KNN算法中重新計(jì)算兩點(diǎn)距離并且比較距離的過(guò)程。而最小距離優(yōu)先法為每一個(gè)新觸點(diǎn)找index的過(guò)程中只需進(jìn)行一次距離大小的比較,找到距離新觸點(diǎn)最近的index即可,大大簡(jiǎn)化了角逐最優(yōu)匹配點(diǎn)的進(jìn)程。 newBlobsblobs[i].downTime = ofGetElapsedTimef()。 inewBlobsnBlobs。 newBlobsblobs[j].sitting = trackedBlobs[i].sitting。i++) { if(i==blob[j].index) { if(blob[j].distance[i]= 358) {//若判斷是移動(dòng)的點(diǎn),進(jìn)行新舊觸點(diǎn)數(shù)據(jù)的傳遞newBlobsblobs[j].id = trackedBlobs[i].id。 i++) { for(int j=0。} //用blob[i].index存放新觸點(diǎn)i的index } }//判斷觸點(diǎn)的狀態(tài)是消失還是移動(dòng) for(int i=0。//找到與新觸點(diǎn)i最近的舊觸點(diǎn)jif(j==0){blob[i].index=0。 dist = (xxT)*(xxT)+(yyT)*(yyT)。 xT = trackedBlobs[j].。 j++) { x = newBlobsblobs[i].。 //遍歷所有的舊觸點(diǎn)計(jì)算其與新觸點(diǎn)i的距離for(int j=0。 inewBlobsnBlobs。 double x, y, xT, yT, dist。 float distance[20]。經(jīng)過(guò)上面4個(gè)步驟便完成了觸摸點(diǎn)的跟蹤,得到了觸摸點(diǎn)的三種狀態(tài)。若每一個(gè)判斷的結(jié)果均為是,則認(rèn)定該新觸點(diǎn)為此舊觸點(diǎn)的匹配點(diǎn),此時(shí)的觸點(diǎn)狀態(tài)為移動(dòng)的觸點(diǎn),對(duì)應(yīng)事件為移動(dòng),這時(shí)將舊觸點(diǎn)的ID賦給新觸點(diǎn)并進(jìn)行數(shù)據(jù)的傳遞;否則若有一個(gè)判斷的結(jié)果為否,則認(rèn)定這個(gè)舊觸點(diǎn)是消失的觸點(diǎn),對(duì)應(yīng)事件為彈起,為其ID賦值1。blob[i].index表示距離第i個(gè)新觸點(diǎn)最近的舊觸點(diǎn)的序列號(hào)。 j++),()是舊觸點(diǎn)的個(gè)數(shù)。2. 設(shè)置循環(huán) for(int j=0。 inewBlobsnBlobs。這是因?yàn)樗行掠|點(diǎn)ID的初始值均為1,一旦它找到匹配的舊觸點(diǎn)之后它的ID就會(huì)被賦值成相應(yīng)舊觸點(diǎn)的ID,若新觸點(diǎn)的ID仍為1便等價(jià)于沒(méi)有找到匹配的舊觸點(diǎn)。當(dāng)某一個(gè)新觸點(diǎn)沒(méi)有找到與之匹配的舊觸點(diǎn)時(shí),換句話(huà)說(shuō)在上一幀該新觸點(diǎn)的匹配點(diǎn)沒(méi)有出現(xiàn),所以該觸點(diǎn)的狀態(tài)是新出現(xiàn)的點(diǎn),對(duì)應(yīng)的時(shí)間為點(diǎn)擊。與判斷觸點(diǎn)消失的方法類(lèi)似,仍然使用上面的的程序進(jìn)行判斷。jnewBlobsnBlobs。 i()。若有一個(gè)判斷語(yǔ)句的結(jié)果為否,則該舊觸點(diǎn)為消失的點(diǎn)。這種情況下對(duì)應(yīng)的事件為彈起。經(jīng)過(guò)最小距離優(yōu)先算法為每一個(gè)新觸點(diǎn)尋找匹配的舊觸點(diǎn)后,如何判斷觸點(diǎn)的狀態(tài)呢?在這里,為觸點(diǎn)定義三種狀態(tài):消失的點(diǎn)、移動(dòng)的點(diǎn)和新增加的點(diǎn)。本論文使用的多點(diǎn)觸摸顯視屏的分辨率為96像素/英寸,而1厘米 = , = 96**,按距離的平方計(jì)算為pixel2 = 358。因?yàn)槭种甘怯畜w積的,即使并攏的再近,兩手指間仍然有一定的距離存在。本論文使用的多點(diǎn)觸摸系統(tǒng)中紅外攝像機(jī)的工作頻率為60幀/s,也就是說(shuō)每隔1/60秒攝像機(jī)就要拍照一次。將d到C的距離distance與thresh相比較,當(dāng)thresh的值設(shè)置合適時(shí),如果distance大于thresh則可以確定C并不是d的跟蹤匹配點(diǎn),這樣便可以排除因點(diǎn)擊事件造成的跟蹤匹配錯(cuò)誤。ABC abcd第N+1幀第N幀 觸點(diǎn)d的點(diǎn)擊事件+1幀出現(xiàn)的觸點(diǎn)d在第N幀時(shí)沒(méi)有對(duì)應(yīng)的匹配點(diǎn)出現(xiàn)。此時(shí)index便不是j的跟蹤匹配點(diǎn)。那為什么符合驗(yàn)證規(guī)則的index就是新觸點(diǎn)j的跟蹤匹配點(diǎn)呢?,一定是距離新觸點(diǎn)j最近的第N幀的舊觸點(diǎn)index。所以利用尋找距第N+1幀新出現(xiàn)的觸點(diǎn)最近的第N幀的觸點(diǎn)(符合驗(yàn)證規(guī)則的情況下)來(lái)進(jìn)行跟蹤的匹配是完全合理的。 驗(yàn)證規(guī)則示意圖為什么要利用距離新觸點(diǎn)j最近的舊觸點(diǎn)來(lái)判斷其是否是新觸點(diǎn)j的跟蹤匹配點(diǎn)呢?。所以距離新觸點(diǎn)j最近的上一幀的舊觸點(diǎn)是確定的也是唯一的(如果存在的話(huà)),不會(huì)出現(xiàn)同一個(gè)新觸點(diǎn)對(duì)應(yīng)不只一個(gè)符合驗(yàn)證規(guī)則的index的情況。中指的移動(dòng)軌跡食指的移動(dòng)軌跡會(huì)不會(huì)出現(xiàn)不同的新觸點(diǎn)對(duì)應(yīng)于同一個(gè)符和驗(yàn)證規(guī)則的index點(diǎn)呢?答案是不會(huì)的。驗(yàn)證規(guī)則是規(guī)定一個(gè)在相鄰幀內(nèi)觸點(diǎn)移動(dòng)的最大距離thresh,當(dāng)觸點(diǎn)j與index之間的距離小于thresh時(shí),默認(rèn)index便是觸點(diǎn)j的匹配點(diǎn);若距離index大于thresh,index便不是觸點(diǎn)j的匹配點(diǎn)。經(jīng)過(guò)這個(gè)步驟之后,每一個(gè)新觸點(diǎn)都找到了距離它最近的舊觸點(diǎn)index。第三條和第四條假設(shè)仍然是滿(mǎn)足現(xiàn)實(shí)條件的,因?yàn)橐粋€(gè)手指不可能在同一時(shí)間占有兩個(gè)位置,不同手指也不可能在同一時(shí)間占據(jù)同一位置。第二個(gè)假設(shè)對(duì)于常規(guī)的手勢(shì)動(dòng)作也是可以滿(mǎn)足的。4. 兩個(gè)物體不可能在同一時(shí)刻占有同一個(gè)位置。2. 物體運(yùn)動(dòng)速度隨時(shí)間的變化是平穩(wěn)的,包括速度的大小與方向。 最小距離觸點(diǎn)跟蹤法針對(duì)KNN算法的不足,本文使用了一種基于最小距離優(yōu)先法的改進(jìn)跟蹤方法——最小距離觸點(diǎn)跟蹤法。若已被其他觸點(diǎn)j賦值,還需要進(jìn)行i、j到winner距離的比較,距離winner較小的那個(gè)觸點(diǎn)獲得為winner賦值的資格。 Group使用的KNN算法將舊觸點(diǎn)視為訓(xùn)練集,即針對(duì)每一個(gè)舊觸點(diǎn)i從新觸點(diǎn)中找到離i最大概率匹配的候選點(diǎn)winner,這樣無(wú)疑會(huì)導(dǎo)致同一個(gè)新觸點(diǎn)winner成為不只一個(gè)舊觸點(diǎn)的最大概率匹配點(diǎn)。插入新觸點(diǎn)之后,此新觸點(diǎn)還要與nbors中所有的已有元素進(jìn)行dist比較,并在每一次比較之后判斷nbors鏈表是到達(dá)最后一個(gè)值和鏈表元素是否小于K。,KNN使用了一種大距離插值法的概率計(jì)算方法()。這是在跟蹤中不希望出現(xiàn)的現(xiàn)象,跟蹤應(yīng)盡量迅速并且準(zhǔn)確。 KNN算法的不足經(jīng)過(guò)實(shí)驗(yàn)證明,KNN算法確實(shí)能夠準(zhǔn)確跟蹤觸點(diǎn)。}概括KNN算法的的原理就是對(duì)于每一個(gè)舊觸點(diǎn)i通過(guò)一種概率計(jì)算法尋找最佳匹配新觸點(diǎn)winner;若找到了匹配的winner,對(duì)其賦值之前,首先要檢查winner是否已被其他的舊觸點(diǎn)j標(biāo)記。 distvotes[winner].second) { winner = iterfirst。 /*比較每個(gè)候選觸點(diǎn)的最終選票,選票最多的觸點(diǎn)將序列號(hào)賦值給winner;當(dāng)出現(xiàn)選票數(shù)相同時(shí),比較兩候選觸點(diǎn)到舊觸點(diǎn)i的距離,距離更小的候選觸點(diǎn)將序列號(hào)賦值給winner if(countvotes[winner].first || count==votes[winner].first amp。 iter++) { //計(jì)算鏈表中每一個(gè)候選觸點(diǎn)的出現(xiàn)次數(shù) int count = ++(votes[iterfirst].first)。 //在這里定義ierfirst是新觸點(diǎn)的序列號(hào),itersecond是新觸點(diǎn)到舊觸點(diǎn)i的距離 for(iter=()。 //當(dāng)nbors鏈表中元素太多大于K時(shí),釋放掉鏈表中的最后一個(gè)元素 if(()k) ()。 iter++)。amp。 }//搜索nbors鏈表找到第一個(gè)距離小于等于dist的新觸點(diǎn) for(iter=()。//計(jì)算兩點(diǎn)之間的距離if(dist=thresh)//如果兩點(diǎn)之間的距離小于thresh,將i的值賦給winner { winner = i。 yT = track。 y = newBlobsblobs[i].。 inewBlobsnBlobs。//找到K個(gè)最近的新觸點(diǎn)作為候選 double x, y, xT, yT, dist。//建立一個(gè)鏈表存放新觸點(diǎn)與舊觸點(diǎn)之間的距離和新觸點(diǎn)的序列號(hào) std::liststd::pairint,double nbors。通過(guò)如下核心程序來(lái)實(shí)現(xiàn):int BlobTracker::trackKnn(ContourFinder *newBlobs, Blob *track, int k, double thresh = 0){//定義KNN函數(shù)int winner = 1。但還有一些新觸點(diǎn)的ID仍為1,說(shuō)明這些新觸點(diǎn)在上一幀中沒(méi)有出現(xiàn)過(guò),定義這些觸點(diǎn)為新出現(xiàn)的點(diǎn),對(duì)應(yīng)事件為點(diǎn)擊事件。如果舊觸點(diǎn)i在新觸點(diǎn)中找到了匹配的觸點(diǎn),則說(shuō)明在新一幀中觸點(diǎn)i再一次出現(xiàn),此時(shí)對(duì)應(yīng)的事件為移動(dòng)事件。當(dāng)找到觸點(diǎn)j后比較winner到j(luò)的距離 distance(winner, j)和winner到i的距離distance(winner, i)。(1) 若ID等于 1說(shuō)明這個(gè)新觸點(diǎn)沒(méi)有被其他的舊觸點(diǎn)標(biāo)記過(guò),這時(shí)可以直接將舊觸點(diǎn)i的ID賦值給新觸點(diǎn)winner,并進(jìn)行新舊觸點(diǎn)信息的傳遞。當(dāng)winner不等于1時(shí),說(shuō)明舊觸點(diǎn)在新觸點(diǎn)中找到了最佳匹配點(diǎn),但這時(shí)需要考慮這個(gè)匹配點(diǎn)是不是已被標(biāo)記成其他舊觸點(diǎn)的匹配點(diǎn)。首先檢查對(duì)應(yīng)于每一個(gè)舊觸點(diǎn)i的返回值winner。若找到了最佳匹配點(diǎn),則winner值為新觸點(diǎn)的序列號(hào);若找不到最佳匹配點(diǎn),winner的值仍為1。Winner的初始值設(shè)為1。4. 擂臺(tái)鏈表的最大容量為K,當(dāng)鏈表中的對(duì)象大于K個(gè)時(shí),釋放鏈表中的最后一個(gè)元素。2. 若新觸點(diǎn)到A之間的距離distance(A, i)小于設(shè)定的相鄰兩幀之間允許的最大距離thresh或者擂臺(tái)鏈表(擂臺(tái)鏈表用于存放具有比較資格的候選新觸點(diǎn))未滿(mǎn)時(shí),將此距離和對(duì)應(yīng)的新觸點(diǎn)的序列號(hào)存入到一個(gè)擂臺(tái)鏈表nbors中。 inewBlobsnBlobs。NUI Group使用的KNN算法具體步驟如下():ABC A 第N幀出現(xiàn)的觸點(diǎn) 第N+1幀新出現(xiàn)的觸點(diǎn)1. 對(duì)于每一個(gè)已經(jīng)跟蹤到并且已經(jīng)分類(lèi)的舊觸點(diǎn)(如A、B、C),設(shè)置循環(huán)語(yǔ)句計(jì)算第N+1幀中所有新出現(xiàn)的觸點(diǎn)(a、b、c、d)與它的距離。分類(lèi)的意思是指每一個(gè)觸點(diǎn)的身份ID已經(jīng)確定,例如右手的食指是一類(lèi),擁有一個(gè)ID,凡是經(jīng)計(jì)算分析后與右手食指信息匹配的觸點(diǎn)都被歸類(lèi)到右手食指,并且被分到相同的ID。此算法的核心思想是:在給定新樣本集后,考慮在訓(xùn)練樣本集(已分類(lèi)樣本集)中與該新樣本集距離最近(最相似)的 K個(gè)樣本,根據(jù)這 K個(gè)樣本所屬的類(lèi)別判定新樣本所屬的類(lèi)別。接下來(lái)本文對(duì)KNN算法和最小距離觸點(diǎn)跟蹤法分別進(jìn)行具體闡述并比較。NUI Group開(kāi)發(fā)的多點(diǎn)觸摸開(kāi)源代碼中使用的是KNN跟蹤算法,本文針對(duì)KNN算法跟蹤有明顯滯后的不足,基于“最小距離優(yōu)先法”改進(jìn)出了一種適用于本多點(diǎn)觸摸系統(tǒng)的跟蹤算法——最小距離觸點(diǎn)跟蹤法。但較原方法未進(jìn)行手動(dòng)調(diào)整前的二值圖像()效果已有了很大的提高,可以大大簡(jiǎn)化圖像預(yù)處理的步驟。 }}}、中、亮條件下利用本自適應(yīng)閾值方法進(jìn)行二值圖像轉(zhuǎn)換的仿真結(jié)果。 j++) { if(((uchar*)(AimageData + AwidthStep*i4))[j] T) ((uchar*)(BimageData + BwidthStep*i4))[j] = 255。 i4++) // 利
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1