本發(fā)明屬于人機(jī)交互的技術(shù)領(lǐng)域,具體涉及一種基于書(shū)寫(xiě)筆的交互系統(tǒng)及方法。
背景技術(shù):
在現(xiàn)有的人機(jī)交互的過(guò)程中,由于單一激光面不均勻?qū)е碌臋z測(cè)點(diǎn)位置不準(zhǔn)確的問(wèn)題,多個(gè)運(yùn)動(dòng)軌跡靠近時(shí)候交互錯(cuò)亂的問(wèn)題,多個(gè)手指或者多個(gè)書(shū)寫(xiě)筆被檢測(cè)為一個(gè)的問(wèn)題,導(dǎo)致跟蹤結(jié)果有錯(cuò)誤的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于書(shū)寫(xiě)筆的交互系統(tǒng)及方法,解決了多個(gè)運(yùn)動(dòng)軌跡靠近時(shí)候相互錯(cuò)亂的問(wèn)題,并根據(jù)獲取的運(yùn)動(dòng)軌跡來(lái)實(shí)現(xiàn)人機(jī)交互的目的。
本發(fā)明提供了一種基于書(shū)寫(xiě)筆的交互系統(tǒng),包括多個(gè)書(shū)寫(xiě)筆、屏幕、攝像頭和處理器,其中:
多個(gè)書(shū)寫(xiě)筆,為帶特殊標(biāo)志的書(shū)寫(xiě)筆,用于供給多個(gè)使用者同時(shí)對(duì)屏幕進(jìn)行操作;
攝像頭設(shè)置在屏幕的上方,用于采集屏幕上的信息;
處理器接收來(lái)自攝像頭的信息,用于檢測(cè)跟蹤是來(lái)自哪個(gè)書(shū)寫(xiě)筆書(shū)寫(xiě)的信息。
優(yōu)選的,所述的多個(gè)書(shū)寫(xiě)筆為帶數(shù)字標(biāo)號(hào)的書(shū)寫(xiě)筆。
由上面的技術(shù)方案可知,本發(fā)明提供的基于書(shū)寫(xiě)筆的交互系統(tǒng),實(shí)現(xiàn)了多個(gè)使用者使用書(shū)寫(xiě)筆同時(shí)對(duì)屏幕進(jìn)行操作,由于多個(gè)使用者使用的是帶有特殊標(biāo)志的書(shū)寫(xiě)筆,使得處理器對(duì)多個(gè)書(shū)寫(xiě)筆的檢測(cè)跟蹤變得容易,和原來(lái)兩兩書(shū)寫(xiě)筆相比進(jìn)行檢測(cè)減少了運(yùn)算量。
本發(fā)明還提供了一種基于書(shū)寫(xiě)筆的交互方法,包括如下步驟:
S1、對(duì)攝像頭進(jìn)行標(biāo)定,將所拍攝圖像映射到屏幕對(duì)應(yīng)的位置上;
S2、采用OCR字符識(shí)別技術(shù)對(duì)上面標(biāo)定好的圖像進(jìn)行檢測(cè);
S3、將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡,并根據(jù)獲取的運(yùn)動(dòng)軌跡來(lái)判斷是否有書(shū)寫(xiě)筆在屏幕上操作,進(jìn)而實(shí)現(xiàn)人機(jī)交互。
優(yōu)選的,所述的對(duì)攝像頭進(jìn)行標(biāo)定的步驟具體包括如下步驟:
S11、制作黑白格子圖并全屏顯示在屏幕上;
S12、通過(guò)攝像頭獲取到上面制作出的黑白格子圖,并獲取到背景圖;
S13、將黑白格子圖分別灰度化后和背景圖的灰度圖相減,再對(duì)獲得的兩個(gè)圖進(jìn)行差異化比較,獲取新的圖像;
S14、對(duì)獲取的新的圖像進(jìn)行二值化并進(jìn)行輪廓提取,獲取到輪廓的角點(diǎn)信息;
S15、對(duì)各個(gè)角點(diǎn)的信息進(jìn)行排序,并分別對(duì)應(yīng)到屏幕中的位置,其結(jié)果作為標(biāo)定的結(jié)果。
優(yōu)選的,所述的對(duì)各個(gè)角點(diǎn)的信息進(jìn)行排序的步驟具體包括如下步驟:
S151、設(shè)屏幕的左上角為坐標(biāo)原點(diǎn),每個(gè)像素點(diǎn)的位置坐標(biāo)為(x,y),如果該像素點(diǎn)的橫坐標(biāo)x與縱坐標(biāo)y之和越小,則該像素點(diǎn)越靠近于屏幕左上角;假設(shè)屏幕圖像長(zhǎng)度為imagelength,如果imagelength-x與y之和越小,則該像素點(diǎn)越靠近于屏幕右上角;
S152:通過(guò)上述步驟檢測(cè)出屏幕第一排最左邊的點(diǎn)和第一排最右邊的點(diǎn),設(shè)兩點(diǎn)坐標(biāo)分別為(x1,y1)和(x2,y2),通過(guò)θ=arctan((y2-y1)/(x2-x1))得出這兩點(diǎn)形成的斜率角度;采用上述方法對(duì)所有的像素點(diǎn)進(jìn)行粗略的排序;
S153:獲取上述粗略排序后的坐標(biāo)排序結(jié)果,通過(guò)每個(gè)點(diǎn)的橫坐標(biāo)x,縱坐標(biāo)y,及步驟S83計(jì)算出的θ用公式y(tǒng)*cosθ-x*sinθ按從小到大對(duì)所有點(diǎn)進(jìn)行排序,則前rows個(gè)點(diǎn)為第一排所擁有的點(diǎn),并對(duì)所述第一排的像素點(diǎn)按照其橫坐標(biāo)從小到大進(jìn)行排序,得到第一排的排序?qū)?yīng);
S154:對(duì)剩下的(rows*cols-rows)個(gè)點(diǎn)逐個(gè)進(jìn)行步驟S81到步驟S84,獲得第二排最左邊的點(diǎn)和第二排最右邊的點(diǎn),以及第二排的rows個(gè)點(diǎn);同理,依此獲得所有其他排的坐標(biāo)信息的排序?qū)?yīng);
S155:將上述排序?qū)?yīng)的結(jié)果中的前rows個(gè)點(diǎn)(第一排的總數(shù))按照橫坐標(biāo)從小到大進(jìn)行排序,即獲得第一排的正確排序?qū)?yīng),同理依此獲得第2至第cols排的正確排序?qū)?yīng)。
優(yōu)選的,所述的采用OCR字符識(shí)別技術(shù)對(duì)上面標(biāo)定好的圖像進(jìn)行檢測(cè)的步驟具體包括如下步驟:
S21、獲取背景圖,并對(duì)背景圖進(jìn)行灰度化處理;
S22、獲取當(dāng)前幀的實(shí)時(shí)圖像,并對(duì)該實(shí)時(shí)圖像進(jìn)行灰度處理;
S23、用實(shí)時(shí)圖像得到的灰度圖減去背景圖得到的灰度圖并取絕對(duì)值,獲取一副新的圖像。
S24、對(duì)獲取的新的圖像進(jìn)行二值化處理,獲取二值圖;
S25、對(duì)獲取的二值圖進(jìn)行OCR技術(shù)特征提取,并進(jìn)行特征的匹配,獲取圖像中的字符信息。
優(yōu)選的,所述的將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡的步驟具體包括如下步驟:
S31、根據(jù)獲取到每幀屏幕中書(shū)寫(xiě)筆的位置和所識(shí)別的特殊標(biāo)志,將上一幀的位置和特殊標(biāo)志的信息保存下來(lái),上一幀的信息存在數(shù)組1中,當(dāng)前幀的信息存在數(shù)組2中;
S32、如果上一幀的信息為空,當(dāng)前幀的信息為空,則說(shuō)明屏幕中沒(méi)有書(shū)寫(xiě)筆書(shū)寫(xiě);
S33、如果上一幀的信息為空,而當(dāng)前幀開(kāi)始有信息,則當(dāng)前幀存在的每個(gè)書(shū)寫(xiě)筆都為新的書(shū)寫(xiě)筆運(yùn)動(dòng)的第一幀;
S34、每幀圖像中對(duì)上一幀存在的書(shū)寫(xiě)筆在當(dāng)前幀中進(jìn)行查找,如果此書(shū)寫(xiě)筆存在,則匹配為此書(shū)寫(xiě)筆的運(yùn)動(dòng)軌跡,如果此書(shū)寫(xiě)筆不存在了,則將此書(shū)寫(xiě)筆的運(yùn)動(dòng)軌跡標(biāo)識(shí)為結(jié)束。
優(yōu)選的,所述的書(shū)寫(xiě)筆上的特殊標(biāo)志為數(shù)字標(biāo)號(hào)。
由上面的技術(shù)方案可知,本發(fā)明提供的基于書(shū)寫(xiě)筆的交互方法,是基于帶特殊標(biāo)志的書(shū)寫(xiě)筆進(jìn)行的交互,將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡,多個(gè)運(yùn)動(dòng)軌跡不再相互錯(cuò)亂,多個(gè)書(shū)寫(xiě)筆不再誤檢測(cè)為一個(gè),使得檢測(cè)的精準(zhǔn)性得到提高,并根據(jù)獲取的運(yùn)動(dòng)軌跡來(lái)實(shí)現(xiàn)人機(jī)交互的目的。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的一種基于帶特殊標(biāo)志的書(shū)寫(xiě)筆的交互系統(tǒng)的示意圖;
圖2為本發(fā)明實(shí)施例提供的一種基于帶特殊標(biāo)志的書(shū)寫(xiě)筆的交互方法的流程圖。
具體實(shí)施方式
以下結(jié)合具體實(shí)施方式進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處描述的具體實(shí)施方式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供了一種基于書(shū)寫(xiě)筆的交互系統(tǒng),包括多個(gè)書(shū)寫(xiě)筆、屏幕、攝像頭和處理器,其中:
多個(gè)書(shū)寫(xiě)筆,為帶特殊標(biāo)志的書(shū)寫(xiě)筆,用于供給多個(gè)使用者同時(shí)對(duì)屏幕進(jìn)行操作;
攝像頭設(shè)置在屏幕的上方,用于采集屏幕上的信息;
處理器接收來(lái)自攝像頭的信息,用于檢測(cè)跟蹤是來(lái)自哪個(gè)書(shū)寫(xiě)筆書(shū)寫(xiě)的信息。
優(yōu)選的,所述的多個(gè)書(shū)寫(xiě)筆為帶數(shù)字標(biāo)號(hào)的書(shū)寫(xiě)筆。
下面以兩個(gè)書(shū)寫(xiě)筆為例說(shuō)明,且這兩個(gè)書(shū)寫(xiě)筆是帶有數(shù)字標(biāo)號(hào)的,為第一書(shū)寫(xiě)筆和第二書(shū)寫(xiě)筆,如圖1所示,本發(fā)明實(shí)施例提供了一種基于書(shū)寫(xiě)筆的交互系統(tǒng),包括第一書(shū)寫(xiě)筆11、第二書(shū)寫(xiě)筆12、屏幕2、攝像頭3和處理器4,其中:
第一書(shū)寫(xiě)筆11和第二書(shū)寫(xiě)筆12,用于供給多個(gè)使用者同時(shí)對(duì)屏幕2進(jìn)行操作;
攝像頭3設(shè)置在屏幕2的上方,用于采集屏幕2上的信息;
處理器4接收來(lái)自攝像頭3的信息,用于檢測(cè)跟蹤屏幕上的信息是來(lái)自第一書(shū)寫(xiě)筆還是第二書(shū)寫(xiě)筆書(shū)寫(xiě)的信息。
由上面的技術(shù)方案可知,本發(fā)明提供的基于書(shū)寫(xiě)筆的交互系統(tǒng),實(shí)現(xiàn)了多個(gè)使用者使用書(shū)寫(xiě)筆同時(shí)對(duì)屏幕進(jìn)行操作,由于多個(gè)使用者使用的是帶有特殊標(biāo)志的書(shū)寫(xiě)筆,使得處理器對(duì)多個(gè)書(shū)寫(xiě)筆的檢測(cè)跟蹤變得容易,不在誤檢測(cè)為一個(gè)書(shū)寫(xiě)筆,和原來(lái)兩兩書(shū)寫(xiě)筆相比進(jìn)行檢測(cè)減少了運(yùn)算量。
本發(fā)明實(shí)施例還提供了一種基于書(shū)寫(xiě)筆的交互方法,如圖2所示,包括如下步驟:
S1、對(duì)攝像頭進(jìn)行標(biāo)定,將所拍攝圖像映射到屏幕對(duì)應(yīng)的位置上;
S2、采用OCR字符識(shí)別技術(shù)對(duì)上面標(biāo)定好的圖像進(jìn)行檢測(cè);
S3、將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡,并根據(jù)獲取的運(yùn)動(dòng)軌跡來(lái)判斷是否有書(shū)寫(xiě)筆在屏幕上操作,進(jìn)而實(shí)現(xiàn)人機(jī)交互。
優(yōu)選的,所述的對(duì)攝像頭進(jìn)行標(biāo)定的步驟具體包括如下步驟:
S11、制作黑白格子圖并全屏顯示在屏幕上;
S12、通過(guò)攝像頭獲取到上面制作出的黑白格子圖,并獲取到背景圖;
S13、將黑白格子圖分別灰度化后和背景圖的灰度圖相減,再對(duì)獲得的兩個(gè)圖進(jìn)行差異化比較,獲取新的圖像;
S14、對(duì)獲取的新的圖像進(jìn)行二值化并進(jìn)行輪廓提取,獲取到輪廓的角點(diǎn)信息;
S15、對(duì)各個(gè)角點(diǎn)的信息進(jìn)行排序,并分別對(duì)應(yīng)到屏幕中的位置,其結(jié)果作為標(biāo)定的結(jié)果。
優(yōu)選的,所述的對(duì)各個(gè)角點(diǎn)的信息進(jìn)行排序的步驟具體包括如下步驟:
S151、設(shè)屏幕的左上角為坐標(biāo)原點(diǎn),每個(gè)像素點(diǎn)的位置坐標(biāo)為(x,y),如果該像素點(diǎn)的橫坐標(biāo)x與縱坐標(biāo)y之和越小,則該像素點(diǎn)越靠近于屏幕左上角;假設(shè)屏幕圖像長(zhǎng)度為imagelength,如果imagelength-x與y之和越小,則該像素點(diǎn)越靠近于屏幕右上角;
S152:通過(guò)上述步驟檢測(cè)出屏幕第一排最左邊的點(diǎn)和第一排最右邊的點(diǎn),設(shè)兩點(diǎn)坐標(biāo)分別為(x1,y1)和(x2,y2),通過(guò)θ=arctan((y2-y1)/(x2-x1))得出這兩點(diǎn)形成的斜率角度;采用上述方法對(duì)所有的像素點(diǎn)進(jìn)行粗略的排序;
S153:獲取上述粗略排序后的坐標(biāo)排序結(jié)果,通過(guò)每個(gè)點(diǎn)的橫坐標(biāo)x,縱坐標(biāo)y,及步驟S83計(jì)算出的θ用公式y(tǒng)*cosθ-x*sinθ按從小到大對(duì)所有點(diǎn)進(jìn)行排序,則前rows個(gè)點(diǎn)為第一排所擁有的點(diǎn),并對(duì)所述第一排的像素點(diǎn)按照其橫坐標(biāo)從小到大進(jìn)行排序,得到第一排的排序?qū)?yīng);
S154:對(duì)剩下的(rows*cols-rows)個(gè)點(diǎn)逐個(gè)進(jìn)行步驟S81到步驟S84,獲得第二排最左邊的點(diǎn)和第二排最右邊的點(diǎn),以及第二排的rows個(gè)點(diǎn);同理,依此獲得所有其他排的坐標(biāo)信息的排序?qū)?yīng);
S155:將上述排序?qū)?yīng)的結(jié)果中的前rows個(gè)點(diǎn)(第一排的總數(shù))按照橫坐標(biāo)從小到大進(jìn)行排序,即獲得第一排的正確排序?qū)?yīng),同理依此獲得第2至第cols排的正確排序?qū)?yīng)。
優(yōu)選的,所述的采用OCR字符識(shí)別技術(shù)對(duì)上面標(biāo)定好的圖像進(jìn)行檢測(cè)的步驟具體包括如下步驟:
S21、獲取背景圖,并對(duì)背景圖進(jìn)行灰度化處理;
S22、獲取當(dāng)前幀的實(shí)時(shí)圖像,并對(duì)該實(shí)時(shí)圖像進(jìn)行灰度處理;
S23、用實(shí)時(shí)圖像得到的灰度圖減去背景圖得到的灰度圖并取絕對(duì)值,獲取一副新的圖像。
S24、對(duì)獲取的新的圖像進(jìn)行二值化處理,獲取二值圖;
S25、對(duì)獲取的二值圖進(jìn)行OCR技術(shù)特征提取,并進(jìn)行特征的匹配,獲取圖像中的字符信息。
優(yōu)選的,所述的將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡的步驟具體包括如下步驟:
S31、根據(jù)獲取到每幀屏幕中書(shū)寫(xiě)筆的位置和所識(shí)別的特殊標(biāo)志,將上一幀的位置和特殊標(biāo)志的信息保存下來(lái),上一幀的信息存在數(shù)組1中,當(dāng)前幀的信息存在數(shù)組2中;
S32、如果上一幀的信息為空,當(dāng)前幀的信息為空,則說(shuō)明屏幕中沒(méi)有書(shū)寫(xiě)筆書(shū)寫(xiě);
S33、如果上一幀的信息為空,而當(dāng)前幀開(kāi)始有信息,則當(dāng)前幀存在的每個(gè)書(shū)寫(xiě)筆都為新的書(shū)寫(xiě)筆運(yùn)動(dòng)的第一幀;
S34、每幀圖像中對(duì)上一幀存在的書(shū)寫(xiě)筆在當(dāng)前幀中進(jìn)行查找,如果此書(shū)寫(xiě)筆存在,則匹配為此書(shū)寫(xiě)筆的運(yùn)動(dòng)軌跡,如果此書(shū)寫(xiě)筆不存在了,則將此書(shū)寫(xiě)筆的運(yùn)動(dòng)軌跡標(biāo)識(shí)為結(jié)束。
優(yōu)選的,所述的書(shū)寫(xiě)筆上的特殊標(biāo)志為數(shù)字標(biāo)號(hào)。
由上面的技術(shù)方案可知,本發(fā)明提供的基于書(shū)寫(xiě)筆的交互方法,是基于帶特殊標(biāo)志的書(shū)寫(xiě)筆進(jìn)行的交互,將檢測(cè)出的一幀圖像中書(shū)寫(xiě)筆的位置連線組成為連續(xù)的運(yùn)動(dòng)軌跡,并根據(jù)獲取的運(yùn)動(dòng)軌跡來(lái)判斷是否有幾個(gè)書(shū)寫(xiě)筆在屏幕上操作,使得檢測(cè)的精準(zhǔn)性得到提高,多個(gè)運(yùn)動(dòng)軌跡不再相互錯(cuò)亂,多個(gè)書(shū)寫(xiě)筆不再誤檢測(cè)為一個(gè)。
綜上所述,本發(fā)明提供的基于書(shū)寫(xiě)筆的交互系統(tǒng)及方法,解決了單一的激光水平面不均勻?qū)е碌臋z測(cè)點(diǎn)位置不準(zhǔn)確和多個(gè)運(yùn)動(dòng)軌跡靠近時(shí)候相互錯(cuò)亂的問(wèn)題,多個(gè)書(shū)寫(xiě)筆被檢測(cè)為一個(gè)及跟蹤結(jié)果有錯(cuò)誤的問(wèn)題。
以上的實(shí)施方式均為本發(fā)明的優(yōu)選實(shí)施方式,并非因此限制本發(fā)明的專(zhuān)利保護(hù)范圍。任何本發(fā)明所屬的技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明所公開(kāi)的精神和范圍的前提下,對(duì)本發(fā)明的內(nèi)容所做的等效結(jié)構(gòu)與等效步驟的變換均落入本發(fā)明要求保護(hù)的專(zhuān)利范圍之內(nèi)。