本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種輸出信息的方法和裝置。
背景技術(shù):
在本領(lǐng)域,隨著電子技術(shù)的飛速發(fā)展,為了實(shí)現(xiàn)人與計(jì)算機(jī)、手機(jī)等電子設(shè)備的互動(dòng),鍵盤已經(jīng)成為現(xiàn)代人們生活中不可缺少的輸入工具,不管是實(shí)體鍵盤,還是觸摸屏鍵盤,QWERTY鍵盤可是必備的。
目前,現(xiàn)有的輸入法主要分為傳統(tǒng)輸入法(例如,拼音輸入法)和手寫輸入法。首先從輸入法原理來說,輸入法就是一個(gè)查表操作,輸入的信息是鍵盤信息,根據(jù)擊鍵消息到表中查找對(duì)應(yīng)的漢字。以拼音輸入法為例,將碼表導(dǎo)入到Excel。假設(shè)碼表是基于拼音的,碼表可以分為兩列,一列是拼音,一列是漢字串,那么用鼠標(biāo)點(diǎn)擊編輯->查找,在查找內(nèi)容框中敲入“shishi”,點(diǎn)擊查找下一個(gè)按鈕,黑色矩形框立即就跳到A列的“shishi”的行上面,對(duì)應(yīng)的B列就是“試試、事事、實(shí)施、時(shí)世、史實(shí)……”等等這些漢字串,輸入法的原理就是這樣。隨著觸摸設(shè)備的普及,手寫輸入法也得到了廣泛的應(yīng)用。但是,我們現(xiàn)有使用的手寫輸入法還是應(yīng)用在二維領(lǐng)域,是平面的,需要在手寫板或者觸摸屏上寫字。然而在VR世界中,看不到鍵盤又摸不到屏幕,打字成為VR的一大難題,現(xiàn)有二維手寫輸入無法達(dá)到應(yīng)用。
針對(duì)上述的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種輸出信息的方法和裝置,以至少解決現(xiàn)有技術(shù)無法實(shí)現(xiàn)三維手寫輸入識(shí)別造成打字不方便的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種輸出信息的方法,包括:獲取至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡;將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果,其中,投影結(jié)果包括筆畫在二維投影平面內(nèi)的筆畫向量;將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種輸出信息的裝置,包括:第一獲取模塊,用于獲取至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡;第一處理模塊,用于將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果,其中,投影結(jié)果包括筆畫在二維投影平面內(nèi)的筆畫向量;第一輸出模塊,用于將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息。
在本發(fā)明實(shí)施例中,通過獲取至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡;將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果,其中,投影結(jié)果包括筆畫在二維投影平面內(nèi)的筆畫向量;將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息,達(dá)到了將三維空間手寫輸入的三維軌跡轉(zhuǎn)換到二維平面上可以用于識(shí)別的二維圖像的目的,從而實(shí)現(xiàn)了三維空間內(nèi)快速手寫輸入識(shí)別文字的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)無法實(shí)現(xiàn)三維手寫輸入識(shí)別造成打字不方便的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種輸出信息的方法流程圖;
圖2(a)是根據(jù)本發(fā)明實(shí)施例的一種可選的以手寫方式輸入中文字符的VR游戲界面示意圖;
圖2(b)是根據(jù)本發(fā)明實(shí)施例的一種可選的以手寫方式輸入英文字符的VR游戲界面示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的輸出信息的方法流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的輸出信息的方法流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的輸出信息的方法流程圖;
圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的輸出信息的方法流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的一種優(yōu)選的輸出信息的方法流程圖;以及
圖8是根據(jù)本發(fā)明實(shí)施例的一種輸出信息的裝置示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種輸出信息的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的一種輸出信息的方法流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,獲取至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡。
具體地,在上述步驟中,上述三維空間可以為由長、寬、高(或深度)三個(gè)維度構(gòu)成的空間,上述三維軌跡可以為用戶在該三維空間內(nèi)基于手寫方式輸入文字時(shí),與所寫文字的筆畫對(duì)應(yīng)的在三維空間內(nèi)的移動(dòng)軌跡。
一種可選的實(shí)施中,以VR游戲?yàn)槔?dāng)游戲玩家配上輸入設(shè)備(例如,游戲手柄或感應(yīng)手套)后,在游戲中則可以變換為手寫筆,進(jìn)入手寫模式,根據(jù)人類寫字的本能,可以利用游戲手柄在VR空間中繪制出要寫的文字的筆畫所對(duì)應(yīng)的三維軌跡,在此過程中,由于游戲手柄在三維空間中運(yùn)動(dòng),所以,與在手寫板、繪圖板、或者用鼠標(biāo)寫字的二維圖形表示有所不同,在三維空間中進(jìn)行書寫文字,由于多了深度這個(gè)維度,因而,書寫的每個(gè)筆畫在空間中都是不相交的向量。對(duì)此,我們需要做額外的工作來進(jìn)行平面化。
此處需要說明的是,在上述實(shí)施例中,當(dāng)玩家通過游戲手柄在三維空間內(nèi)書寫文字時(shí),游戲手柄在三維空間內(nèi)繪制軌跡時(shí)會(huì)產(chǎn)生三維運(yùn)動(dòng)數(shù)據(jù),該三維運(yùn)動(dòng)數(shù)據(jù)包含在采樣期間采樣出的當(dāng)前游戲手柄在三維空間內(nèi)的坐標(biāo)值(x,y,z)。容易注意,游戲手柄的三維運(yùn)動(dòng)數(shù)據(jù)是定時(shí)通過硬件提供的接口提供的。以游戲手柄在三維空間內(nèi)的運(yùn)動(dòng)數(shù)據(jù)可以得到游戲手柄在繪制軌跡時(shí)的三維坐標(biāo)值,以這樣三維坐標(biāo)值為基礎(chǔ),可以構(gòu)造出游戲手柄在三維空間內(nèi)繪制的三維軌跡,即,與輸入的文字筆畫對(duì)應(yīng)的三維軌跡。
步驟S104,將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果,其中,投影結(jié)果包括筆畫在二維投影平面內(nèi)的筆畫向量。
具體地,在上述步驟中,上述視向量可以為用戶與文字筆畫對(duì)應(yīng)的三維軌跡時(shí)視線的朝向向量;上述投影結(jié)果可以為在視向量方向與上述三維軌跡對(duì)應(yīng)的筆畫向量;上述二維投影平面可以為與視向量的方向垂直的任意一個(gè)二維平面;在獲取文字的至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡后,將獲取的三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,在與視向量的方向垂直的二維投影面上得到與三維軌跡對(duì)應(yīng)的筆畫向量。
一種可選的實(shí)施例中,仍以VR游戲?yàn)槔?,上述視向量可以為玩家的游戲手柄在三維空間內(nèi)的運(yùn)動(dòng)軌跡過程中,對(duì)玩家的視線朝向向量進(jìn)行采樣后得到的多個(gè)視線朝向向量的和向量。
步驟S106,將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息。
具體地,在上述步驟中,上述投影結(jié)果為輸入文字的所有筆畫的三維軌跡在二維投影平面上的筆畫向量,輸入的文字可以為單個(gè)字,也可以是長句;上述預(yù)設(shè)文字庫可以為通過互聯(lián)網(wǎng)連接的文字庫,包括:英文、中文等;上述信息可以為與投影結(jié)果筆畫相關(guān)或類似的一個(gè)文字或多個(gè)文字信息;將在二維投影平面內(nèi)的得到的投影結(jié)果(即,輸入文字或長句對(duì)應(yīng)的所有筆畫的筆畫向量),與互聯(lián)網(wǎng)上的文字庫進(jìn)行比對(duì),輸出與投影結(jié)果匹配的一個(gè)或多個(gè)文字結(jié)果的提示信息,用戶可以在文字結(jié)果中選取一個(gè)正確的文字結(jié)果。
作為一種可選的實(shí)施例,仍以VR游戲?yàn)槔?dāng)游戲玩家配上游戲手柄進(jìn)入手寫模式時(shí),游戲界面中會(huì)出現(xiàn)相應(yīng)的手寫面板,而游戲手柄在手寫面板中變換為手寫筆,如圖2(a)和2(b)所示為根據(jù)本發(fā)明實(shí)施例的一種可選的以手寫方式輸入文字的VR游戲界面示意圖,其中,圖2(a)所示為中文輸入界面,圖2(b)所示為英文輸入界面。由在圖2(a)所示的中文輸入界面可以看出,該中文輸入手寫面板中包括:單字手寫和長句手寫,圖2(a)中以單字手寫為例,當(dāng)用戶通過游戲手柄在三維空間繪制文字“你”的筆畫時(shí),在中文輸入界面的手寫面板中將游戲手柄變換為手寫筆,并在手寫面板的填字區(qū)域中繪制文字“你”的筆畫,手寫面板的右側(cè)為“選擇字項(xiàng)”面板,當(dāng)用戶書寫文字的所有筆畫后,可以在右側(cè)的“選擇字項(xiàng)”面板中選擇一個(gè)正確的文字結(jié)果,如果是首選項(xiàng)的話,直接雙擊,字就會(huì)出現(xiàn)在你光標(biāo)閃爍的地方。圖2(b)所示為與圖2(a)所示的中文輸入界面一一對(duì)應(yīng)的英文輸入界面。
優(yōu)選地,當(dāng)用戶繪制的某個(gè)文字錯(cuò)誤時(shí),可以支持“退一筆”和“重寫”功能,支持重寫或者撤銷,單擊右鍵,就可以重寫上一筆。如果用的熟練了之后,打字速度還是很可觀的。
由上可知,在本申請(qǐng)上述實(shí)施例中,在獲取用戶輸入的文字的至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡后,可以將該三維軌跡以與該三維軌跡對(duì)應(yīng)的視向量的方向?yàn)檩S心進(jìn)行正交投影,得到文字筆畫在二維投影平面內(nèi)的投影結(jié)果,最后將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與輸入文字的三維軌跡對(duì)應(yīng)的投影結(jié)果匹配的文字結(jié)果提示。容易注意的是,與文字筆畫對(duì)應(yīng)的在三維空間內(nèi)的三維軌跡可以根據(jù)手寫輸入工具在三維空間內(nèi)的三維運(yùn)動(dòng)數(shù)據(jù)得到的三維坐標(biāo)為基礎(chǔ)構(gòu)造;上述二維投影平面可以根據(jù)已經(jīng)輸入的文字筆畫的三維軌跡為基礎(chǔ)推導(dǎo)出來,在用戶輸入剩余的文字筆畫時(shí),將與剩余筆畫對(duì)應(yīng)的在三維空間內(nèi)的三維軌跡投影到已經(jīng)推導(dǎo)出的二維投影平面,從而可以得到三維空間內(nèi)的三維軌跡在二維平面上的二維圖像。
通過上述實(shí)施例,達(dá)到了將三維空間手寫輸入的三維軌跡轉(zhuǎn)換到二維平面上可以用于識(shí)別的二維圖像的目的,實(shí)現(xiàn)了三維空間內(nèi)快速手寫輸入識(shí)別文字的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)無法實(shí)現(xiàn)三維手寫輸入識(shí)別造成打字不方便的技術(shù)問題。
在一種可選的實(shí)施例中,如圖3所示,獲取至少一個(gè)筆畫在三維空間內(nèi)的移動(dòng)軌跡,可以包括如下步驟:
步驟S302,獲取目標(biāo)對(duì)象在三維空間內(nèi)移動(dòng)時(shí)所產(chǎn)生的三維運(yùn)動(dòng)數(shù)據(jù);
步驟S304,根據(jù)三維運(yùn)動(dòng)數(shù)據(jù)確定至少一個(gè)移動(dòng)位置對(duì)應(yīng)的三維坐標(biāo);
步驟S306,根據(jù)三維坐標(biāo)構(gòu)造三維軌跡。
具體地,在上述步驟中,目標(biāo)對(duì)象可以為獲取用戶在三維空間內(nèi)輸入文字所采用的輸入工具,一種可選的實(shí)施例中,以VR游戲?yàn)槔繕?biāo)對(duì)象可以為游戲手柄或手套,用于獲取用戶在三維空間內(nèi)的三維運(yùn)動(dòng)數(shù)據(jù)?;谏鲜霾襟ES302至S306提供的方案,通過獲取目標(biāo)對(duì)象(例如,游戲手柄)在三維空間內(nèi)移動(dòng)時(shí)所產(chǎn)生的三維運(yùn)動(dòng)數(shù)據(jù),根據(jù)獲取的三維運(yùn)動(dòng)數(shù)據(jù)確定目標(biāo)對(duì)象移動(dòng)到多個(gè)位置的三維坐標(biāo),根據(jù)得到的多個(gè)位置的三維坐標(biāo),構(gòu)造目標(biāo)對(duì)象在三維空間內(nèi)移動(dòng)的三維軌跡。
通過上述實(shí)施例,可以實(shí)現(xiàn)獲取用戶在三維空間內(nèi)輸入文字筆畫時(shí)繪制的三維軌跡。
在一種可選的實(shí)施例中,在將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果之前,上述方法還包括:根據(jù)至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡確定視向量。
在一種可選的實(shí)施例中,如圖4所示,根據(jù)至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡確定視向量,可以包括如下步驟:
步驟S402,在目標(biāo)對(duì)象完成三維軌跡的過程中,實(shí)時(shí)或定時(shí)采集操作目標(biāo)對(duì)象的用戶的多個(gè)視線朝向向量;
步驟S404,根據(jù)多個(gè)視線朝向向量,計(jì)算得到與三維軌跡對(duì)應(yīng)的視向量。
具體地,在上述步驟中,上述目標(biāo)對(duì)象可以為獲取用戶在三維空間內(nèi)輸入文字所采用的輸入工具,一種可選的實(shí)施例中,以VR游戲?yàn)槔?,目?biāo)對(duì)象可以為游戲手柄或手套,用于獲取用戶在三維空間內(nèi)的三維運(yùn)動(dòng)數(shù)據(jù);上述視線朝向向量為用戶在操作目標(biāo)對(duì)象在三維空間內(nèi)完成文字筆畫的三維軌跡的過程中用戶視線方向的向量;當(dāng)用戶操作目標(biāo)對(duì)象在三維空間內(nèi)完成文字筆畫對(duì)應(yīng)的三維軌跡的過程中,實(shí)時(shí)或定時(shí)采集用戶的多個(gè)視線朝向向量,最后將多個(gè)視線朝向向量求和,計(jì)算得到與三維軌跡對(duì)應(yīng)的視向量。
此處需要說明是,在三維空間中,不同的視角所捕獲的寫字軌跡差別較大,在識(shí)別的時(shí)候可能出現(xiàn)不同的結(jié)果。其次,為了提高自己的識(shí)別度,玩家有可能在寫字的過程中對(duì)寫字姿勢(例如,眼睛的視角等)進(jìn)行調(diào)整,所以我們需要在寫每一筆的時(shí)候,估算出玩家在寫這一筆的正確視覺朝向。具體地,通過定時(shí)采樣下寫出這一筆的玩家的視覺向量,并記錄到一個(gè)列表中,當(dāng)玩家完成這一筆后,將采樣下的所有視覺向量求其和向量并標(biāo)準(zhǔn)化,就會(huì)得出一個(gè)近似的視覺中心向量,這個(gè)向量我們記為視向量。
通過上述實(shí)施例,在用戶操作目標(biāo)對(duì)象完成文字筆畫過程中的多個(gè)視線朝向向量求和,得到與該文字筆畫對(duì)應(yīng)的視向量,可以避免用戶在書寫過程中因?yàn)檎{(diào)整寫字姿勢等而造成識(shí)別結(jié)果不準(zhǔn)確的問題,提高了三維空間內(nèi)文字識(shí)別的準(zhǔn)確度。
在一種可選的實(shí)施例中,如圖5所示,在將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果之后,上述方法還可以包括如下步驟:
步驟S502,獲取所有筆畫在二維投影平面內(nèi)的筆畫向量;
步驟S504,連接所有的筆畫向量,得到在二維投影平面內(nèi)的投影結(jié)果。
具體地,在上述步驟中,上述二維投影平面可以為與視向量的方向垂直的任意一個(gè)二維平面;在獲取輸入文字的所有筆畫在二維投影平面內(nèi)的筆畫向量后,連接所有的筆畫向量,得到文字在二維投影平面內(nèi)的投影結(jié)果。
在一種可選的實(shí)施方案中,連接所有的筆畫向量,可以包括:在當(dāng)前筆畫向量的起點(diǎn)與上一筆書寫的筆畫向量的終點(diǎn)之間添加虛擬筆畫。
具體地,在上述實(shí)施方案中,在獲取所有筆畫在二維投影平面內(nèi)的筆畫向量后,可以通過添加虛擬筆畫的方式將所有的筆畫向量連接,即,在當(dāng)前筆畫對(duì)應(yīng)的筆畫向量的起點(diǎn)與上一筆書寫的筆畫對(duì)應(yīng)的筆畫向量的終點(diǎn)之間添加虛擬筆畫。
在另一種可選的實(shí)施方案中,連接所有的筆畫向量,可以包括如下步驟:
步驟一,獲取書寫筆畫的順序;
步驟二,按照筆畫的順序,為所有的筆畫對(duì)應(yīng)的筆畫向量設(shè)置唯一的序列號(hào);
步驟三,根據(jù)唯一的序列號(hào),在相鄰序列號(hào)的筆畫向量之間添加虛擬筆畫。
具體地,在上述實(shí)施方案中,在連接所有的筆畫向量過程中,可以通過獲取書寫所述筆畫的順序,并按照該筆畫的順序,為所有的筆畫對(duì)應(yīng)的筆畫向量設(shè)置唯一的序列號(hào),然后根據(jù)所有筆畫的序列號(hào)在相鄰序號(hào)的筆畫向量之間(大序號(hào)筆畫的起點(diǎn)與小序號(hào)筆畫的終點(diǎn))添加虛擬筆畫,以連接兩次書寫,從而確保所有的筆畫可以在二維投影平面內(nèi)形成具體的文字,從而能夠讓寫字更加圖形化,對(duì)于手寫體和楷體的寫法有更好的適配性。
通過上述實(shí)施例,實(shí)現(xiàn)了根據(jù)不同視向量得到的二維投影筆畫向量構(gòu)造為整體文字的目的。
在一種可選的實(shí)施例中,如圖6所示,將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息,可以包括如下步驟:
步驟S602,將投影結(jié)果的所有筆畫向量進(jìn)行網(wǎng)格劃分;
步驟S604,提取每個(gè)網(wǎng)格中筆畫向量的一個(gè)或多個(gè)特征向量,作為每個(gè)網(wǎng)格的特征值;
步驟S606,對(duì)特征值作線性歸一化處理,得到投影結(jié)果的特征向量;
步驟S608,將投影結(jié)果的特征向量與預(yù)設(shè)文字庫比較,輸出與投影結(jié)果匹配的信息。
具體地,在上述步驟中,上述投影結(jié)果為用戶通過目標(biāo)對(duì)象在三維空間內(nèi)繪制的所有三維軌跡在二維投影平面內(nèi)的投影結(jié)果,包含了輸入文字所有的筆畫向量;在得到文字所有筆畫的投影結(jié)果后,將得到投影結(jié)果進(jìn)行網(wǎng)格劃分,提取每個(gè)網(wǎng)格中筆畫向量的一個(gè)或多個(gè)特征向量,作為每個(gè)網(wǎng)格的特征值,然后對(duì)網(wǎng)格特征值作線性歸一化處理,得到整個(gè)投影結(jié)果的特征向量,最后將整個(gè)投影結(jié)果的特征向量與預(yù)設(shè)文字庫比較,輸出與投影結(jié)果匹配的文字結(jié)果提示。
一種可選的實(shí)施例中,在得到所有筆畫在二維投影平面內(nèi)的筆畫向量后,對(duì)投影結(jié)果中所有筆畫向量進(jìn)行8×8網(wǎng)格投影,并對(duì)此網(wǎng)格中的向量進(jìn)行八方向特征提取,并填充到每個(gè)網(wǎng)格中,作為網(wǎng)格特征值,再進(jìn)行線性歸一化,可以得到一個(gè)512維的特征向量,并進(jìn)行聯(lián)機(jī)查詢比對(duì),得到模糊識(shí)別結(jié)果,從而可以給出書寫結(jié)果提示,最相近的結(jié)果可以暫時(shí)被認(rèn)為為本次書寫結(jié)果。
此處需要說明是,8×8網(wǎng)格投影即將目前所有書寫過的筆畫二維投影用一個(gè)正方形框起來,并將此正方行劃分為橫8豎8一共交叉64格的小格子。八方向特征即將向量分為上、左上、左、左下、下、右下、右、右上八個(gè)方向來進(jìn)行表示,每個(gè)網(wǎng)格可以有一個(gè)或多個(gè)特征向量(比如一個(gè)格子中有一個(gè)勾的筆畫)。由于總共有64個(gè)格子,每個(gè)格子中有八個(gè)方向中的一個(gè)或多個(gè),即為一個(gè)8維度的特征向量,所以最終總共為512維度的特征向量。
通過上述實(shí)施例,實(shí)現(xiàn)了將三維空間內(nèi)的三維軌跡投影到二維投影平面內(nèi)的二維圖像后,進(jìn)行識(shí)別并輸出文字結(jié)果的目的。
作為一種優(yōu)選的實(shí)施方式,可以結(jié)合圖7來說明本申請(qǐng)上述實(shí)施例,圖7所示為根據(jù)本發(fā)明實(shí)施例的一種優(yōu)選的輸出信息的方法流程圖,如圖7所示,包括如下步驟:
步驟S702,在三維空間內(nèi)繪制文字一個(gè)筆畫的移動(dòng)軌跡。
具體地,在上述步驟中,用戶通過目標(biāo)對(duì)象(例如,VR游戲中游戲手柄或手套)在三維空間內(nèi)繪制文字一個(gè)筆畫的移動(dòng)軌跡。
步驟S704,在繪制移動(dòng)軌跡過程中,定時(shí)采樣用戶的視線朝向向量。
具體地,在上述步驟中,在用戶通過目標(biāo)對(duì)象在三維空間內(nèi)繪制文字一個(gè)筆畫的移動(dòng)軌跡過程中,可以定時(shí)采樣用戶的多個(gè)視線朝向向量。
步驟S706,記錄與文字筆畫對(duì)應(yīng)的空間軌跡。
具體地,在上述步驟中,通過記錄目標(biāo)對(duì)象在移動(dòng)過程中的三維運(yùn)動(dòng)數(shù)據(jù),得到與文字筆畫對(duì)應(yīng)的空間軌跡。
步驟S708,判斷是否停筆。
具體地,在上述步驟中,在用戶通過目標(biāo)對(duì)象在三維空間內(nèi)繪制文字一個(gè)筆畫的移動(dòng)軌跡過程中,判斷用戶是否停筆,即,目標(biāo)對(duì)象停止移動(dòng)。如果目標(biāo)對(duì)象停止移動(dòng),則執(zhí)行步驟S710;如果目標(biāo)對(duì)象還在移動(dòng),則執(zhí)行步驟S704。
步驟S710,計(jì)算所有視線朝向向量的和向量,記為視向量。
具體地,在上述步驟中,通過采樣得到目標(biāo)對(duì)象移動(dòng)過程中,操作目標(biāo)對(duì)象的用戶的多個(gè)視線朝向向量之后,將所有的視線朝向向量求和,得到目標(biāo)對(duì)象本次移動(dòng)軌跡的視向量。
步驟S712,將本次的移動(dòng)軌跡以視向量的方向?yàn)檩S心作正交投影,得到筆畫向量。
具體地,在上述步驟中,在得到目標(biāo)對(duì)象本次移動(dòng)軌跡的視向量后,將目標(biāo)對(duì)象本次的移動(dòng)軌跡以視向量的方向?yàn)檩S心作正交投影,得到與本次移動(dòng)軌跡對(duì)應(yīng)的筆畫向量。
步驟S714,將此筆畫向量添加到總筆畫中。
具體地,在上述步驟中,將得到的與本次移動(dòng)軌跡對(duì)應(yīng)的筆畫向量添加到總筆畫中,從而得到用戶在三維空間內(nèi)輸入的文字對(duì)應(yīng)的二維圖像。
此處需要說明的是,因?yàn)槲淖质嵌S的,而VR中的筆畫軌跡是三維的,所以,我們必須要將這些三維筆畫轉(zhuǎn)化為二維筆畫。所以我們采用了將當(dāng)前軌跡以視向量為軸心進(jìn)行正交投影,投影得出的結(jié)果,就可以認(rèn)為是玩家從當(dāng)前視線角度看空間的筆畫而得出的二維投影。
本次書寫的筆畫的二維投影記為筆畫向量,然后記錄到本次書寫的向量列表中,并將此筆畫與上一筆書寫的筆畫添加虛擬筆畫,以連接這兩次書寫。然后對(duì)本次書寫的所有筆畫進(jìn)行8×8網(wǎng)格投影,并對(duì)此網(wǎng)格中的向量進(jìn)行八方向特征提取,并填充到每個(gè)網(wǎng)格中,作為網(wǎng)格特征值,再進(jìn)行線性歸一化,可以得到一個(gè)512維的特征向量,并進(jìn)行聯(lián)機(jī)比對(duì),得到模糊識(shí)別結(jié)果,從而可以給出書寫結(jié)果提示,最相近的結(jié)果可以暫時(shí)被認(rèn)為為本次書寫結(jié)果。
在上述實(shí)施方案中,以目標(biāo)對(duì)象的三維運(yùn)動(dòng)數(shù)據(jù)為基礎(chǔ)計(jì)算相應(yīng)的三維坐標(biāo);以三維坐標(biāo)為基礎(chǔ)構(gòu)造目標(biāo)對(duì)象在三維空間內(nèi)的三維軌跡;以已經(jīng)輸入的部分三維軌跡為基礎(chǔ)推導(dǎo)二維投影平面;在用戶輸入剩余三維運(yùn)動(dòng)數(shù)據(jù)的同時(shí),將三維軌跡投影到該二維投影平面上得到相應(yīng)的用于手寫輸入的二維圖像。
通過上述實(shí)施方案,實(shí)現(xiàn)了在三維空間內(nèi),快速精準(zhǔn)地輸入文字,提升了操作效率,極大解決了VR游戲中的社交難題。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種輸出信息的裝置實(shí)施例。本發(fā)明實(shí)施例1中的輸出信息的方法可以在本發(fā)明實(shí)施例2的裝置中執(zhí)行。
圖8是根據(jù)本發(fā)明實(shí)施例的一種輸出信息的裝置示意圖,如圖10所示,該裝置包括:第一獲取模塊801、第一處理模塊803和第一輸出模塊805。
其中,第一獲取模塊801,用于獲取至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡;第一處理模塊803,用于將三維軌跡以視向量的方向?yàn)檩S心進(jìn)行正交投影,得到筆畫在二維投影平面內(nèi)的投影結(jié)果,其中,投影結(jié)果包括筆畫在二維投影平面內(nèi)的筆畫向量;第一輸出模塊805,用于將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與投影結(jié)果匹配的信息。
由上可知,在本申請(qǐng)上述實(shí)施例中,在獲取用戶輸入的文字的至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡后,可以將該三維軌跡以與該三維軌跡對(duì)應(yīng)的視向量的方向?yàn)檩S心進(jìn)行正交投影,得到文字筆畫在二維投影平面內(nèi)的投影結(jié)果,最后將投影結(jié)果與預(yù)設(shè)文字庫比對(duì),輸出與輸入文字的三維軌跡對(duì)應(yīng)的投影結(jié)果匹配的文字結(jié)果提示。容易注意的是,與文字筆畫對(duì)應(yīng)的在三維空間內(nèi)的三維軌跡可以根據(jù)手寫輸入工具在三維空間內(nèi)的三維運(yùn)動(dòng)數(shù)據(jù)得到的三維坐標(biāo)為基礎(chǔ)構(gòu)造;上述二維投影平面可以根據(jù)已經(jīng)輸入的文字筆畫的三維軌跡為基礎(chǔ)推導(dǎo)出來,在用戶輸入剩余的文字筆畫時(shí),將與剩余筆畫對(duì)應(yīng)的在三維空間內(nèi)的三維軌跡投影到已經(jīng)推導(dǎo)出的二維投影平面,從而可以得到三維空間內(nèi)的三維軌跡在二維平面上的二維圖像。
通過上述實(shí)施例,達(dá)到了將三維空間手寫輸入的三維軌跡轉(zhuǎn)換到二維平面上可以用于識(shí)別的二維圖像的目的,實(shí)現(xiàn)了三維空間內(nèi)快速手寫輸入識(shí)別文字的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)無法實(shí)現(xiàn)三維手寫輸入識(shí)別造成打字不方便的技術(shù)問題。
在一種可選的實(shí)施例中,上述第一獲取模塊包括:第二獲取模塊,用于獲取目標(biāo)對(duì)象在三維空間內(nèi)移動(dòng)時(shí)所產(chǎn)生的三維運(yùn)動(dòng)數(shù)據(jù);第一確定模塊,用于根據(jù)三維運(yùn)動(dòng)數(shù)據(jù)確定至少一個(gè)移動(dòng)位置對(duì)應(yīng)的三維坐標(biāo);構(gòu)造模塊,用于根據(jù)三維坐標(biāo)構(gòu)造移動(dòng)軌跡。
在一種可選的實(shí)施例中,上述裝置還包括:第二確定模塊,用于根據(jù)至少一個(gè)筆畫在三維空間內(nèi)的三維軌跡確定視向量。
在一種可選的實(shí)施例中,上述第二確定模塊包括:采集模塊,用于在目標(biāo)對(duì)象完成三維軌跡的過程中,實(shí)時(shí)或定時(shí)采集操作目標(biāo)對(duì)象的用戶的多個(gè)視線朝向向量;計(jì)算模塊,用于根據(jù)多個(gè)視線朝向向量,計(jì)算得到與三維軌跡對(duì)應(yīng)的視向量。
在一種可選的實(shí)施例中,上述裝置還包括:第三獲取模塊,用于獲取所有筆畫在二維投影平面內(nèi)的筆畫向量;第二處理模塊,用于連接所有的筆畫向量,得到在二維投影平面內(nèi)的投影結(jié)果。
在一種可選的實(shí)施例中,上述第二處理模塊包括:第一處理子模塊,用于在當(dāng)前筆畫向量的起點(diǎn)與上一筆書寫的筆畫向量的終點(diǎn)之間添加虛擬筆畫。
在一種可選的實(shí)施例中,上述第二處理模塊包括:第四獲取模塊,用于獲取書寫筆畫的順序;設(shè)置模塊,用于按照筆畫的順序,為所有的筆畫對(duì)應(yīng)的筆畫向量設(shè)置唯一的序列號(hào);第二處理子模塊,用于根據(jù)唯一的序列號(hào),在相鄰序列號(hào)的筆畫向量之間添加虛擬筆畫。
在一種可選的實(shí)施例中,上述第一輸出模塊包括:劃分模塊,用于將投影結(jié)果的所有筆畫向量進(jìn)行網(wǎng)格劃分;提取模塊,用于提取每個(gè)網(wǎng)格中筆畫向量的一個(gè)或多個(gè)特征向量,作為每個(gè)網(wǎng)格的特征值;第三處理模塊,用于對(duì)特征值作線性歸一化處理,得到投影結(jié)果的特征向量;第二輸出模塊,用于將投影結(jié)果的特征向量與預(yù)設(shè)文字庫比較,輸出與投影結(jié)果匹配的信息。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。