表中所述目標按鍵對應的按鍵值置為I;
[0036]當更新后的所述按鍵狀態(tài)數(shù)據表中的某個目標按鍵對應的按鍵值大于或者等于設定的長按判斷閾值,并且所述某個目標按鍵具有長按功能,則所述智能終端判斷確定所述用戶對所述某個目標按鍵進行了長按操作,將所述按鍵狀態(tài)數(shù)據表中存儲的所述某個目標按鍵對應的記錄清空,發(fā)出所述某個目標按鍵被長按的指示信息。
[0037]所述的目標按鍵釋放或者長按操作確定模塊,具體用于通過所述智能終端判斷出一幅圖像中所述用戶按下的一個或者多個目標按鍵后,根據所述一個或者多個目標按鍵查詢所述按鍵狀態(tài)數(shù)據表,確定所述用戶對所述按鍵狀態(tài)數(shù)據表中存儲的所述一個或者多個目標按鍵之外的其它按鍵進行了釋放操作,將所述按鍵狀態(tài)數(shù)據表中存儲的所述其它按鍵對應的記錄清空,發(fā)出所述其它按鍵被釋放的指示信息;
[0038]當更新后的所述某個目標按鍵對應的按鍵值大于或者等于長按判斷閾值,并且所述某個目標按鍵不具有長按功能,則所述智能終端判斷所述用戶對所述某個目標按鍵進行了釋放操作,將所述按鍵狀態(tài)數(shù)據表中存儲的所述某個目標按鍵對應的記錄清空,發(fā)出所述某個目標按鍵被釋放的指示信息。
[0039]由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例通過攝像頭將虛擬鍵盤投射到指定的平面中,并采集用戶敲擊所述虛擬鍵盤的圖像,通過人體動作識別技術、圖像分析技術判斷用戶對虛擬鍵盤中的按鍵的按下、長按和釋放操作。從而實現(xiàn)了智能終端的便捷輸入,以便于滿足用戶的需求。本發(fā)明實施例中的虛擬鍵盤無需外設裝置,方便攜帶并且實現(xiàn)成本低。每個按鍵大小不受屏幕尺寸制約,不占據一定的屏幕面積,字符顯示效果太理想,使用方便容錯率高。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明實施例一提供的一種基于圖像處理的虛擬鍵盤的實現(xiàn)方法的處理流程圖;
[0042]圖2為本發(fā)明實施例二提供的一種基于圖像處理的虛擬鍵盤的實現(xiàn)裝置的具體實現(xiàn)結構圖,圖中,虛擬鍵盤構造模塊21,目標按鍵確定模塊22,目標按鍵釋放或者長按操作確定模塊23。
【具體實施方式】
[0043]為便于對本發(fā)明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步的解釋說明,且各個實施例并不構成對本發(fā)明實施例的限定。
[0044]實施例一
[0045]本發(fā)明實施例采用基于人體動作識別技術、圖像處理技術的虛擬鍵盤,不需要鍵盤實體,通過攝像頭采集鍵盤區(qū)域手指動作,經過動作處理識別出按下的按鍵和用戶敲擊的動作,用軟件產生敲擊命令,實現(xiàn)人機交互的功能。
[0046]該實施例提供了一種基于圖像處理的虛擬鍵盤的實現(xiàn)方法的處理流程如圖1所示,包括如下的處理步驟:
[0047]步驟S110、通過攝像頭將虛擬鍵盤投射到指定的平面中。
[0048]通過智能終端自帶的攝像頭將虛擬鍵盤投射到指定的平面中的虛擬鍵盤區(qū)域上,上述指定的平面可以為桌面或者墻面或者各種設備表面等。
[0049]所述虛擬鍵盤中的各個按鍵組成矩形方陣,所述智能終端存儲所述矩形方陣中的每一行的中心點、左邊界中點、右邊界中點、高度和橫向像素長度參數(shù)信息。
[0050]通過智能手持設備的攝像頭將虛擬鍵盤投射到平面上需要確定鍵盤在攝像頭投射的圖像中的位置及每個按鍵所在行與列的坐標數(shù)據,也就是為后續(xù)判斷按鍵在鍵盤哪一行、哪一列奠定數(shù)據基礎。虛擬鍵盤中的各個按鍵組成矩形方陣,矩形方陣包括行與列兩部分,本發(fā)明實施例采用鍵盤每一行的中心點、左邊界中點、右邊界中點、高度、橫向像素長度這5個參數(shù)來表示行信息,通過計算這5個參數(shù)即可在攝像頭投射的圖像中確定鍵盤每一行的位置,在每一行中,各個按鍵可以等間隔地均勻分布。對于鍵盤的列信息,本發(fā)明實施例采用每個按鍵距離其所在行的左邊界的橫向像素距離來表示,通過計算該距離即可確定按鍵所在的列信息。
[0051]所述智能終端存儲所述矩形方陣中的每一行的中心點、左邊界中點、右邊界中點、高度和橫向像素長度參數(shù)信息。示例性的,鍵盤總共有6行,每一行都是長度相同的矩形。
[0052]步驟S120、通過所述攝像頭采集用戶敲擊所述虛擬鍵盤的圖像,根據所述圖像和所述虛擬鍵盤的位置信息確定用戶按下的目標按鍵。
[0053]智能終端根據存儲的矩形方陣中的每一行的中心點、左邊界中點、右邊界中點和高度信息,以及預先設定的矩形方陣中的每一行中的按鍵設置信息,獲取并存儲矩形方陣中的每一行中的各個按鍵對應的位置信息,該位置信息可以包括行信息和列信息。
[0054]智能終端的攝像頭按照設定的時間間隔,連續(xù)采集用戶的敲擊所述虛擬鍵盤的一幅或者多幅圖像,這里智能終端的攝像頭連續(xù)采集的用戶的圖像中包括用戶的各種動作圖像,采用人體動作識別技術從全部圖像中提取出用戶敲擊虛擬鍵盤的動作圖像。采用人體動作識別技術對手指位置捕捉,對符合手指輪廓約束條件的手指圖像再次進行篩選,判定手指是否在鍵盤區(qū)域,即判定手指位置是否可視為敲擊虛擬鍵盤。
[0055]所述智能終端按照每幅圖像的采集時間的先后順序,依次對每幅圖像進行圖像分割處理,獲取每幅圖像中用戶敲擊的所述虛擬鍵盤中的一個或者多個具體位置信息,在一幅圖像中,用戶可以同時按下多個按鈕。
[0056]所述智能終端按照每幅圖像的采集時間的先后順序,依次將每幅圖像中所述用戶敲擊的所述虛擬鍵盤中的每個具體位置信息和所述各個按鍵對應的位置信息進行比較,當所述用戶敲擊的所述虛擬鍵盤中的某個具體位置信息和某個按鍵對應的位置信息一致時,則判斷所述某個按鍵為所述用戶按下的目標按鍵,發(fā)出所述目標按鍵被按下的指示信息。在一幅圖像中,可以有多個用戶按下的目標按鍵。
[0057]步驟S130、通過分析所述攝像頭采集的后續(xù)的用戶敲擊所述虛擬鍵盤的圖像,獲取所述用戶對所述目標按鍵的釋放操作或者長按操作。
[0058]智能終端在按鍵狀態(tài)數(shù)據表中存儲各個按鍵對應的按鍵值,所述按鍵值表示了按鍵被按下的次數(shù)。所述智能終端還配置和存儲各個按鍵是否具有長按功能。
[0059]本發(fā)明實施例還設定一個長按判斷閾值,只要按鍵按下的次數(shù)大于或者等于設定的長按判斷閾值,就表示用戶對該按鍵進行了長按操作。該長按判斷閾值通常設置為2。
[0060]判斷用戶對按鍵進行了長按操作的過程如下:
[0061]智能終端判斷出一幅圖像中所述用戶按下的一個或者多個目標按鍵后,當所述按鍵狀態(tài)數(shù)據表中存儲了所述目標按鍵時,則說明該目標按鍵在上幅圖像中已經被按下,將所述按鍵狀態(tài)數(shù)據表中存儲的所述目標按鍵對應的按鍵值加I;當所述按鍵狀態(tài)數(shù)據表中沒有存儲所述目標按鍵時,則說明該目標按鍵在上幅圖像中沒有被按下,將所述按鍵狀態(tài)數(shù)據表中所述目標按鍵對應的按鍵值置為I。
[0062]當更新后的所述按鍵狀態(tài)數(shù)據表中的某個目標按鍵對應的按鍵值大于或者等于設定的長按判斷閾值,并且所述某個目標按鍵具有長按功能,則所述智能終端判斷確定所述用戶對所述某個目標按鍵進行了長按操作,發(fā)出所述某個目標按鍵被長按的指示信息,將所述按鍵狀態(tài)數(shù)據表中存儲的所述某個目標按鍵對應的記錄清空。
[0063]判斷用戶對按鍵進行了釋放操作的過程包括兩種場景,分別如下:
[0064]場景1、智能終端判斷出一幅圖像中所述用戶按下的一個或者多個目標按鍵后,根據所述一個或者多個目標按鍵查詢所述按鍵狀態(tài)數(shù)據表,確定所述用戶對所述按鍵狀態(tài)數(shù)據表中存儲的所述一個或者多個目標按鍵之外的其它按鍵進行了釋放操作,將所述按鍵狀態(tài)數(shù)據表中存儲的所述其它按鍵對應的記錄清空,發(fā)出所述其它按鍵被釋放的指示信息。
[0065]即若上一幅圖像檢測到某個按鍵被按下,而當前圖像沒有檢測到該按鍵為目標按鍵,則說明該按鍵釋放了。例如,在第一幅圖像中,有按鍵‘A’和‘B’按下,在按鍵狀