本發(fā)明屬于圖像識(shí)別處理的技術(shù)領(lǐng)域,尤其是指一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法。
背景技術(shù):
現(xiàn)有的對(duì)大屏系統(tǒng)交互行為狀態(tài)的判斷只是利用到了所采集到圖像的這一幀和上一幀的數(shù)據(jù),并沒(méi)有對(duì)圖像的歷史運(yùn)動(dòng)軌跡信息進(jìn)行充分利用,因此導(dǎo)致不能對(duì)交互行為狀態(tài)進(jìn)行很好的區(qū)分和判斷,比如說(shuō)對(duì)畫線和雙擊的操作不能很準(zhǔn)確的識(shí)別,因此亟待一種可以準(zhǔn)確判斷大屏系統(tǒng)交互行為狀態(tài)的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法,用跟蹤的方法將離散的數(shù)字化的軌跡點(diǎn)通過(guò)匹配跟蹤后,形成連續(xù)的更能代表實(shí)際情況的運(yùn)動(dòng)軌跡,尤其是對(duì)雙擊這種操作在大屏上不連續(xù)的操作也進(jìn)行了軌跡標(biāo)注,進(jìn)而形成連續(xù)性的操作。
本發(fā)明提供了一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法,包括如下步驟:
s10、將所拍攝圖像映射到和該圖像的大小和位置相對(duì)應(yīng)的屏幕上;
s11、用有物體運(yùn)動(dòng)時(shí)候的圖減去背景圖后,得到用于處理的圖像;再通過(guò)提取輪廓檢測(cè)出手指或者書寫筆所在的位置;
s12、將前一幀圖像的跟蹤結(jié)果與本幀圖像的檢測(cè)點(diǎn)進(jìn)行匹配;判斷上一幀圖像中出現(xiàn)的檢測(cè)點(diǎn)是否為空;若為空,則給予該軌跡id標(biāo)注,軌跡狀態(tài)標(biāo)注為按下,在軌跡歷史點(diǎn)存儲(chǔ)列表中動(dòng)態(tài)存入本幀及前八幀圖像數(shù)據(jù),并將該軌跡歷史點(diǎn)存儲(chǔ)列表的每幀初始坐標(biāo)值置為(-1,-1),行為狀態(tài)標(biāo)注為單擊狀態(tài),并記錄下當(dāng)前的幀數(shù);
否則通過(guò)當(dāng)前幀所檢測(cè)出的點(diǎn)與上一幀的點(diǎn)進(jìn)行匹配計(jì)算出距離矩陣,當(dāng)前一幀的點(diǎn)與本幀的點(diǎn)距離最近并小于一定匹配閾值,則認(rèn)為上一幀的點(diǎn)與本幀的點(diǎn)匹配,存入匹配列表,上一幀中所有的點(diǎn)減去已匹配的點(diǎn),則標(biāo)注為松開狀態(tài),并存入松開狀態(tài)列表,本幀的所有點(diǎn)減去未匹配點(diǎn),則為新點(diǎn);
s13、對(duì)上面檢測(cè)出各個(gè)交互行為狀態(tài)的點(diǎn)的運(yùn)動(dòng)軌跡進(jìn)行標(biāo)注;
s14、判讀出手指或者書寫筆進(jìn)行的是長(zhǎng)按、畫線、單擊還是雙擊行為。
優(yōu)選的,所述的步驟s10之前還包括初始化系統(tǒng)的步驟,具體包括如下:
將圖像的軌跡狀態(tài)標(biāo)注為按下或松開,行為狀態(tài)標(biāo)注為未知、畫線、長(zhǎng)按、單擊、雙擊五種狀態(tài)之一,自大屏系統(tǒng)啟動(dòng)時(shí)開始對(duì)攝像頭所拍圖像進(jìn)行幀數(shù)標(biāo)記記錄。
優(yōu)選的,所述的步驟s12中對(duì)于匹配上的點(diǎn),進(jìn)行如下處理:
將本幀該點(diǎn)id標(biāo)注為與之匹配的上一幀的id,該點(diǎn)狀態(tài)標(biāo)記為按下狀態(tài),當(dāng)前幀的前第八幀坐標(biāo)值賦值為上一幀的前第七幀坐標(biāo)值,當(dāng)前幀的前第七幀坐標(biāo)值賦值為上一幀的前第六幀坐標(biāo)值,即當(dāng)前幀的前第一幀坐標(biāo)值賦值為上一幀坐標(biāo)值,在之后的每一幀出現(xiàn)時(shí)都如此更新此歷史點(diǎn)列表,當(dāng)某一軌跡的歷史點(diǎn)列表存滿8幀時(shí),用第8幀與當(dāng)前幀的距離差進(jìn)行判斷,當(dāng)距離差大于移動(dòng)閾值時(shí)即將該軌跡標(biāo)注為畫線狀態(tài),小于移動(dòng)閾值時(shí)則此軌跡標(biāo)注為長(zhǎng)按狀態(tài),記錄下當(dāng)前匹配時(shí)候的幀數(shù)。
優(yōu)選的,所述的步驟s12中,對(duì)于上一幀匹配后沒(méi)有匹配到的點(diǎn)都標(biāo)記為松開狀態(tài),并將該軌跡的行為狀態(tài)標(biāo)注為未知狀態(tài),記錄當(dāng)前匹配時(shí)的幀數(shù)。
優(yōu)選的,所述的步驟s12中對(duì)于新出現(xiàn)的點(diǎn)進(jìn)行如下的處理:
在所有的新出現(xiàn)的點(diǎn)中,在單擊列表中尋找相距在一定距離閾值內(nèi)的點(diǎn),若存在,則標(biāo)記為雙擊,如果不存在,則將此點(diǎn)加入單擊列表,軌跡歷史點(diǎn)存儲(chǔ)列表動(dòng)態(tài)存入本幀及前八幀的圖像數(shù)據(jù),并將該軌跡歷史點(diǎn)存儲(chǔ)列表每幀初始坐標(biāo)值置為(-1,-1)。
優(yōu)選的,所述的步驟s12和步驟s13之間還包括:
將標(biāo)記為按下狀態(tài)的點(diǎn)存入跟蹤結(jié)果列表,記錄下雙擊操作所需要的幀數(shù)間隔,在跟蹤結(jié)束后將單擊列表中超過(guò)雙擊所需幀數(shù)間隔的點(diǎn)進(jìn)行刪除。
優(yōu)選的,所述的步驟s12中的匹配閾值的大小取決于大屏的實(shí)際情況,通過(guò)調(diào)試獲得。
優(yōu)選的,所述的步驟s13的運(yùn)動(dòng)軌跡標(biāo)注具體包括如下步驟:
s131、每次對(duì)新軌跡標(biāo)識(shí)時(shí)候,給予新軌跡進(jìn)行標(biāo)記,并將標(biāo)記記入已標(biāo)記列表;
s132、當(dāng)舊軌跡消失時(shí),從標(biāo)記列表中將此軌跡標(biāo)識(shí)刪除;
s133、再有新軌跡出現(xiàn)時(shí),先從已標(biāo)記列表中按照有序化的次序去檢測(cè)應(yīng)用的標(biāo)識(shí)符,并用標(biāo)識(shí)名對(duì)其進(jìn)行標(biāo)識(shí),再將這個(gè)標(biāo)識(shí)名記入已標(biāo)識(shí)列表;
s134、當(dāng)被標(biāo)識(shí)為松開狀態(tài)的運(yùn)動(dòng)軌跡與當(dāng)前系統(tǒng)運(yùn)行幀率之間的差值大于雙擊操作所需要的幀率間隔時(shí),從被標(biāo)注為松開的列表中刪除掉這些點(diǎn);
s135、當(dāng)被標(biāo)識(shí)為單擊狀態(tài)的行為軌跡與當(dāng)前系統(tǒng)運(yùn)行幀率之間的差值大于雙擊操作所需要的幀率間隔時(shí),從被標(biāo)注為單擊的列表中刪除掉這些點(diǎn)。
由上面的技術(shù)方案可知,本發(fā)明提供的大屏系統(tǒng)交互行為狀態(tài)的判斷方法是對(duì)各個(gè)交互行為狀態(tài)進(jìn)行軌跡跟蹤,并用一定的跟蹤標(biāo)注方法對(duì)每個(gè)軌跡進(jìn)行跟蹤標(biāo)注,可以正確判斷出手指或者書寫筆是在進(jìn)行畫線、長(zhǎng)按、單擊或者雙擊操作,尤其是對(duì)雙擊這種操作在大屏上不連續(xù)的操作也進(jìn)行了軌跡標(biāo)注,進(jìn)而形成連續(xù)性的操作。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法中運(yùn)動(dòng)軌跡標(biāo)注的流程圖。
具體實(shí)施方式
以下結(jié)合具體實(shí)施方式進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處描述的具體實(shí)施方式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例提供了一種大屏系統(tǒng)交互行為狀態(tài)的判斷方法,如圖1所示,包括如下步驟:
s10、將所拍攝圖像映射到和該圖像的大小和位置相對(duì)應(yīng)的屏幕上;
s11、用有物體運(yùn)動(dòng)時(shí)候的圖減去背景圖后,得到用于處理的圖像;再通過(guò)提取輪廓檢測(cè)出手指或者書寫筆所在的位置;
s12、將前一幀圖像的跟蹤結(jié)果與本幀圖像的檢測(cè)點(diǎn)進(jìn)行匹配;判斷上一幀圖像中出現(xiàn)的檢測(cè)點(diǎn)是否為空;若為空,則給予該軌跡id標(biāo)注,軌跡狀態(tài)標(biāo)注為按下,在軌跡歷史點(diǎn)存儲(chǔ)列表中動(dòng)態(tài)存入本幀及前八幀圖像數(shù)據(jù),并將該軌跡歷史點(diǎn)存儲(chǔ)列表的每幀初始坐標(biāo)值置為(-1,-1),行為狀態(tài)標(biāo)注為單擊狀態(tài),并記錄下當(dāng)前的幀數(shù);
否則通過(guò)當(dāng)前幀所檢測(cè)出的點(diǎn)與上一幀的點(diǎn)進(jìn)行匹配計(jì)算出距離矩陣,當(dāng)前一幀的點(diǎn)與本幀的點(diǎn)距離最近并小于一定匹配閾值,則認(rèn)為上一幀的點(diǎn)與本幀的點(diǎn)匹配,存入匹配列表,上一幀中所有的點(diǎn)減去已匹配的點(diǎn),則標(biāo)注為松開狀態(tài),并存入松開狀態(tài)列表,本幀的所有點(diǎn)減去未匹配點(diǎn),則為新點(diǎn);
s13、對(duì)上面檢測(cè)出各個(gè)交互行為狀態(tài)的點(diǎn)的運(yùn)動(dòng)軌跡進(jìn)行標(biāo)注;
s14、判讀出手指或者書寫筆進(jìn)行的是長(zhǎng)按、畫線、單擊還是雙擊行為。
優(yōu)選的,所述的步驟s10之前還包括初始化系統(tǒng)的步驟,具體包括如下:
將圖像的軌跡狀態(tài)標(biāo)注為按下或松開,行為狀態(tài)標(biāo)注為未知、畫線、長(zhǎng)按、單擊、雙擊五種狀態(tài)之一,自大屏系統(tǒng)啟動(dòng)時(shí)開始對(duì)攝像頭所拍圖像進(jìn)行幀數(shù)標(biāo)記記錄。
優(yōu)選的,所述的步驟s12中對(duì)于匹配上的點(diǎn),進(jìn)行如下處理:
將本幀該點(diǎn)id標(biāo)注為與之匹配的上一幀的id,該點(diǎn)狀態(tài)標(biāo)記為按下狀態(tài),當(dāng)前幀前第八幀坐標(biāo)值賦值為上一幀前第七幀坐標(biāo)值,當(dāng)前幀的前第七幀坐標(biāo)值賦值為上一幀的前第六幀坐標(biāo)值,即當(dāng)前幀前第一幀坐標(biāo)值賦值為上一幀坐標(biāo)值,在之后的每一幀出現(xiàn)時(shí)都如此更新此歷史點(diǎn)列表,當(dāng)某一軌跡的歷史點(diǎn)列表存滿8幀時(shí),用第8幀與當(dāng)前幀的距離差進(jìn)行判斷,當(dāng)距離差大于移動(dòng)閾值時(shí)即將該軌跡標(biāo)注為畫線狀態(tài),小于移動(dòng)閾值時(shí)則此軌跡標(biāo)注為長(zhǎng)按狀態(tài),記錄下當(dāng)前匹配時(shí)候的幀數(shù)。
優(yōu)選的,所述的步驟s12中,對(duì)于上一幀匹配后沒(méi)有匹配到的點(diǎn)都標(biāo)記為松開狀態(tài),并將該軌跡的行為狀態(tài)標(biāo)注為未知狀態(tài),記錄當(dāng)前匹配時(shí)的幀數(shù)。
優(yōu)選的,所述的步驟s12中對(duì)于新出現(xiàn)的點(diǎn)進(jìn)行如下的處理:
在所有的新出現(xiàn)的點(diǎn)中,在單擊列表中尋找相距在一定距離閾值內(nèi)的點(diǎn),若存在,則標(biāo)記為雙擊,如果不存在,則將此點(diǎn)加入單擊列表,軌跡歷史點(diǎn)存儲(chǔ)列表動(dòng)態(tài)存入本幀及前八幀的圖像數(shù)據(jù),并將該軌跡歷史點(diǎn)存儲(chǔ)列表每幀初始坐標(biāo)值置為(-1,-1)。
優(yōu)選的,所述的步驟s12和步驟s13之間還包括:
將標(biāo)記為按下狀態(tài)的點(diǎn)存入跟蹤結(jié)果列表,記錄下雙擊操作所需要的幀數(shù)間隔,在跟蹤結(jié)束后將單擊列表中超過(guò)雙擊所需幀數(shù)間隔的點(diǎn)進(jìn)行刪除。
優(yōu)選的,所述的步驟s12中的匹配閾值的大小取決于大屏的實(shí)際情況,通過(guò)調(diào)試獲得。
優(yōu)選的,所述的步驟s13的運(yùn)動(dòng)軌跡標(biāo)注具體包括如下步驟:
s131、每次對(duì)新軌跡標(biāo)識(shí)時(shí)候,給予新軌跡進(jìn)行標(biāo)記,并將標(biāo)記記入已標(biāo)記列表;
s132、當(dāng)舊軌跡消失時(shí),從標(biāo)記列表中將此軌跡標(biāo)識(shí)刪除;
s133、再有新軌跡出現(xiàn)時(shí),先從已標(biāo)記列表中按照有序化的次序去檢測(cè)應(yīng)用的標(biāo)識(shí)符,并用標(biāo)識(shí)名對(duì)其進(jìn)行標(biāo)識(shí),再將這個(gè)標(biāo)識(shí)名記入已標(biāo)識(shí)列表;
s134、當(dāng)被標(biāo)識(shí)為松開狀態(tài)的運(yùn)動(dòng)軌跡與當(dāng)前系統(tǒng)運(yùn)行幀率之間的差值大于雙擊操作所需要的幀率間隔時(shí),從被標(biāo)注為松開的列表中刪除掉這些點(diǎn);
s135、當(dāng)被標(biāo)識(shí)為單擊狀態(tài)的行為軌跡與當(dāng)前系統(tǒng)運(yùn)行幀率之間的差值大于雙擊操作所需要的幀率間隔時(shí),從被標(biāo)注為單擊的列表中刪除掉這些點(diǎn)。
由上面的技術(shù)方案可知,本發(fā)明提供的大屏系統(tǒng)交互行為狀態(tài)的判斷方法,對(duì)各個(gè)交互行為狀態(tài)進(jìn)行軌跡跟蹤,并用一定的跟蹤標(biāo)注方法對(duì)每個(gè)軌跡進(jìn)行跟蹤標(biāo)注,可以正確判斷出手指或者書寫筆是在進(jìn)行畫線、長(zhǎng)按、單擊或者雙擊操作,尤其是對(duì)雙擊這種操作在大屏上不連續(xù)的操作也進(jìn)行了軌跡標(biāo)注,進(jìn)而形成連續(xù)性的操作。
綜上所述,本發(fā)明提供的大屏系統(tǒng)交互行為狀態(tài)的判斷方法,用跟蹤的方法將離散的數(shù)字化的軌跡點(diǎn)通過(guò)匹配跟蹤后,形成連續(xù)的更能代表實(shí)際情況的運(yùn)動(dòng)軌跡,尤其是對(duì)雙擊這種操作在大屏上不連續(xù)的操作也進(jìn)行了軌跡標(biāo)注,進(jìn)而形成連續(xù)性的操作。
以上的實(shí)施方式均為本發(fā)明的優(yōu)選實(shí)施方式,并非因此限制本發(fā)明的專利保護(hù)范圍。任何本發(fā)明所屬的技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,對(duì)本發(fā)明的內(nèi)容所做的等效結(jié)構(gòu)與等效步驟的變換均落入本發(fā)明要求保護(hù)的專利范圍之內(nèi)。