本發(fā)明涉及終端技術領域,尤其涉及的是一種檢測視力的方法和終端。
背景技術:
人們對自己的眼睛愛護不夠,尤其是有些近視的人對自己的眼睛視力漠不關心,導致眼睛度數(shù)慢慢增大,直到影響視力。但是,去醫(yī)院或者配鏡行測試視力比較麻煩,因此,缺少一種快速、便捷的視力測試方法。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是提供一種檢測視力的方法和終端,能夠在終端上模擬配鏡行測試視力的過程,方便用戶隨時自測視力。
本發(fā)明實施例提供了一種檢測視力的方法,該方法包括:
在屏幕上顯示視力表,測試開始后,獲取用戶手勢的初始位置;
突出顯示一個測試字符后,檢測用戶手勢運動方向,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符;
在需要繼續(xù)測試時,突出顯示下一個測試字符,在不需要繼續(xù)測試時,確定視力測試結果并將所述視力測試結果反饋給所述用戶。
可選地,所述獲取用戶手勢的初始位置,包括:
利用光感接近傳感器檢測初始環(huán)境光亮度,利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置;或者利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置。
可選地,所述突出顯示一個測試字符后,檢測用戶手勢運動方向,包括:
在突出顯示一個測試字符后,利用光感接近傳感器感受環(huán)境光亮度的變化,在所述光感接近傳感器感受到環(huán)境光亮度的變化后,觸發(fā)前置攝像頭拍攝用戶手勢圖像;或者在突出顯示一個測試字符后,延遲一個等待時長后觸發(fā)前置攝像頭拍攝用戶手勢圖像;
根據(jù)所述前置攝像頭拍攝的用戶手勢圖像確定用戶手勢的當前位置;
將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向。
可選地,所述將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置不相同,則分析位置的變化方向,將分析出的位置變化方向作為用戶手勢運動方向。
可選地,所述將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置相同,則從用戶手勢的當前圖像中提取伸出的手指的指尖圖像,分析所述伸出的手指的指尖指向,將所述指尖指向作為用戶手勢運動方向。
可選地,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符,包括:
如所述用戶手勢方向和所述測試字符的開口方向一致,則判定用戶能夠看見所述測試字符,如所述用戶手勢方向和所述測試字符的開口方向不一致,則判定用戶不能夠看見所述測試字符。
可選地,判定是否需要繼續(xù)測試,包括:
如用戶能夠看見當前測試字符,且所述視力表的當前測試行未測完或還有下一行需要測試,則判定需要繼續(xù)測試;
如用戶不能夠看見當前測試字符,且所述視力表的當前測試行中所述用戶不能夠看見的測試字符數(shù)達到閾值,則判定不需要繼續(xù)測試。
可選地,所述突出顯示一個測試字符,包括:
高亮顯示所述測試字符,或者閃爍顯示所述測試字符,或者在所述測試字符的下方顯示光標。
本發(fā)明實施例還提供了一種檢測視力的終端,包括:
初始顯示及定位模塊,用于在屏幕上顯示視力表,測試開始后,獲取用戶手勢的初始位置;
測試模塊,用于突出顯示一個測試字符后,檢測用戶手勢運動方向,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符;
控制模塊,用于在需要繼續(xù)測試時,突出顯示下一個測試字符,在不需要繼續(xù)測試時,確定視力測試結果并將所述視力測試結果反饋給所述用戶。
可選地,所述初始顯示及定位模塊,用于獲取用戶手勢的初始位置,包括:
利用光感接近傳感器檢測初始環(huán)境光亮度,利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置;或者利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置。
可選地,所述測試模塊,用于突出顯示一個測試字符后,檢測用戶手勢運動方向,包括:
在突出顯示一個測試字符后,利用光感接近傳感器感受環(huán)境光亮度的變化,在所述光感接近傳感器感受到環(huán)境光亮度的變化后,觸發(fā)前置攝像頭拍攝用戶手勢圖像;或者在突出顯示一個測試字符后,延遲一個等待時長后觸發(fā)前置攝像頭拍攝用戶手勢圖像;
根據(jù)所述前置攝像頭拍攝的用戶手勢圖像確定用戶手勢的當前位置;
將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向。
可選地,所述測試模塊,用于將用戶手勢的當前位置與用戶手勢的上一 次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置不相同,則分析位置的變化方向,將分析出的位置變化方向作為用戶手勢運動方向。
可選地,所述測試模塊,用于將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置相同,則從用戶手勢的當前圖像中提取伸出的手指的指尖圖像,分析所述伸出的手指的指尖指向,將所述指尖指向作為用戶手勢運動方向。
可選地,所述測試模塊,用于將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符,包括:
如所述用戶手勢方向和所述測試字符的開口方向一致,則判定用戶能夠看見所述測試字符,如所述用戶手勢方向和所述測試字符的開口方向不一致,則判定用戶不能夠看見所述測試字符。
可選地,所述控制模塊,用于判定是否需要繼續(xù)測試,包括:
如用戶能夠看見當前測試字符,且所述視力表的當前測試行未測完或還有下一行需要測試,則判定需要繼續(xù)測試;
如用戶不能夠看見當前測試字符,且所述視力表的當前測試行中所述用戶不能夠看見的測試字符數(shù)達到閾值,則判定不需要繼續(xù)測試。
與現(xiàn)有技術相比,本發(fā)明提供的一種檢測視力的方法和終端,在屏幕上顯示按比例縮小的視力表,測試視力時,逐行突出顯示測試字母,利用前置攝像頭及光感接近傳感器來捕捉定位用戶手勢的上下左右方向,通過模擬配鏡行測試視力的過程,方便用戶隨時自測視力。
附圖說明
圖1為本發(fā)明實施例的一種檢測視力的方法示意圖。
圖2為本發(fā)明實施例的一種檢測視力的終端示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
如圖1所示,本發(fā)明實施例提供了一種檢測視力的方法,該方法包括:
S101,在屏幕上顯示視力表,測試開始后,獲取用戶手勢的初始位置;
其中,所述在屏幕上顯示視力表,包括:
屏幕自動點亮,亮度自動調節(jié)到測試視力的合適亮度,在屏幕上顯示視力表;
比如,用戶點擊測試選項后,在屏幕上全屏顯示經過比例縮小的視力表格;
其中,所述獲取用戶手勢的初始位置,包括:
利用光感接近傳感器檢測初始環(huán)境光亮度,利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置;或者利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置;
S102,突出顯示一個測試字符后,檢測用戶手勢運動方向,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符;
其中,所述突出顯示一個測試字符,包括:
高亮顯示所述測試字符,或者閃爍顯示所述測試字符,或者在所述測試字符的下方顯示光標;
可選地,所述光標為線狀光標或點狀光標;
其中,所述測試字符為大寫字母E;
其中,所述突出顯示一個測試字符后,檢測用戶手勢運動方向,包括:
在突出顯示一個測試字符后,利用光感接近傳感器感受環(huán)境光亮度的變化,在所述光感接近傳感器感受到環(huán)境光亮度的變化后,觸發(fā)前置攝像頭拍攝用戶手勢圖像;或者在突出顯示一個測試字符后,延遲一個等待時長后觸發(fā)前置攝像頭拍攝用戶手勢圖像;
根據(jù)所述前置攝像頭拍攝的用戶手勢圖像確定用戶手勢的當前位置;
將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向;
其中,所述等待時長用于等待用戶根據(jù)屏幕顯示做出反應;所述等待時長可以是經驗值;
其中,所述將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置不相同,則分析位置的變化方向,將分析出的位置變化方向作為用戶手勢運動方向;
其中,所述將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置相同,則從用戶手勢的當前圖像中提取伸出的手指的指尖圖像,分析所述伸出的手指的指尖指向,將所述指尖指向作為用戶手勢運動方向;
其中,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符,包括:
如所述用戶手勢方向和所述測試字符的開口方向一致,則判定用戶能夠看見所述測試字符,如所述用戶手勢方向和所述測試字符的開口方向不一致,則判定用戶不能夠看見所述測試字符;
S103,在需要繼續(xù)測試時,突出顯示下一個測試字符,在不需要繼續(xù)測試時,確定視力測試結果并將所述視力測試結果反饋給所述用戶;
其中,判定是否需要繼續(xù)測試,包括:
如用戶能夠看見當前測試字符,且所述視力表的當前測試行未測完或還有下一行需要測試,則判定需要繼續(xù)測試;
如用戶不能夠看見當前測試字符,且所述視力表的當前測試行中所述用戶不能夠看見的測試字符數(shù)達到閾值,則判定不需要繼續(xù)測試;
其中,所述閾值為3個;
其中,將所述視力測試結果反饋給所述用戶,包括:
在屏幕上顯示所述視力測試結果;
如圖2所示,本發(fā)明實施例提供了一種檢測視力的終端,包括:
初始顯示及定位模塊201,用于在屏幕上顯示視力表,測試開始后,獲取用戶手勢的初始位置;
測試模塊202,用于突出顯示一個測試字符后,檢測用戶手勢運動方向,將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符;
控制模塊203,用于在需要繼續(xù)測試時,突出顯示下一個測試字符,在不需要繼續(xù)測試時,確定視力測試結果并將所述視力測試結果反饋給所述用戶。
其中,所述初始顯示及定位模塊201,用于獲取用戶手勢的初始位置,包括:
利用光感接近傳感器檢測初始環(huán)境光亮度,利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置;或者利用前置攝像頭拍攝用戶手勢圖像,根據(jù)拍攝的用戶手勢圖像確定用戶手勢的初始位置。
其中,所述測試模塊202,用于突出顯示一個測試字符后,檢測用戶手勢運動方向,包括:
在突出顯示一個測試字符后,利用光感接近傳感器感受環(huán)境光亮度的變化,在所述光感接近傳感器感受到環(huán)境光亮度的變化后,觸發(fā)前置攝像頭拍攝用戶手勢圖像;或者在突出顯示一個測試字符后,延遲一個等待時長后觸發(fā)前置攝像頭拍攝用戶手勢圖像;
根據(jù)所述前置攝像頭拍攝的用戶手勢圖像確定用戶手勢的當前位置;
將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向。
其中,所述測試模塊202,用于將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置不相同,則分析位置的變化方向,將分析出的位置變化方向作為用戶手勢運動方向。
其中,所述測試模塊202,用于將用戶手勢的當前位置與用戶手勢的上一次位置進行比較,根據(jù)比較結果確定用戶手勢運動方向,包括:
如用戶手勢的當前位置與用戶手勢的上一次位置相同,則從用戶手勢的當前圖像中提取伸出的手指的指尖圖像,分析所述伸出的手指的指尖指向,將所述指尖指向作為用戶手勢運動方向。
其中,所述測試模塊202,用于將檢測到的用戶手勢方向和所述測試字符的開口方向進行比較,根據(jù)比較結果判定用戶是否能夠看見所述測試字符,包括:
如所述用戶手勢方向和所述測試字符的開口方向一致,則判定用戶能夠看見所述測試字符,如所述用戶手勢方向和所述測試字符的開口方向不一致,則判定用戶不能夠看見所述測試字符。
其中,所述控制模塊203,用于判定是否需要繼續(xù)測試,包括:
如用戶能夠看見當前測試字符,且所述視力表的當前測試行未測完或還有下一行需要測試,則判定需要繼續(xù)測試;
如用戶不能夠看見當前測試字符,且所述視力表的當前測試行中所述用戶不能夠看見的測試字符數(shù)達到閾值,則判定不需要繼續(xù)測試。
其中,所述測試模塊202,用于突出顯示一個測試字符,包括:
高亮顯示所述測試字符,或者閃爍顯示所述測試字符,或者在所述測試字符的下方顯示光標;
應用示例
本發(fā)明應用示例提供了一種測試眼睛視力的方法,包括以下步驟:
S301:應用程序打開,屏幕顯示“測試”和“退出”選項;
S302:用戶點擊測試選項后,屏幕顯示經過比例縮小的視力表格;
其中,人眼睛距離屏幕大概30cm;
S303:前置攝像頭和光接近傳感器打開,捕捉并識別手勢滑動方向;
其中,當手勢在設備前方時,光接近傳感器周圍的環(huán)境光亮度會發(fā)生變化,此時,光接近級傳感器里的信號發(fā)射器發(fā)射一個信號,手會將信號反射回來,接收裝置接收到信號后,定位手勢的位置,設此時光接近傳感器周圍的環(huán)境光亮度為原始亮度。此時前置攝像頭捕捉一次手勢的位置,定位為位置1。
當手勢滑動時,光接近周圍的環(huán)境光亮度由原始亮度—變化過程—變化后的亮度變化一次,當光接近傳感器經歷一次環(huán)境光感亮度變化后,前置攝像頭會接收到一個信號,此時攝像頭再捕捉一次手勢位置,定位為位置2,處理器將位置1到位置2的變化定位為手勢滑動方向。這就是一個完整的光接近傳感器和前置攝像頭配合捕捉一次手勢滑動方向的過程。
當用戶的手勢靜止不動時,即前置攝像頭捕捉的兩次手勢位置1和位置2為同一個位置,這時運算處理器中的運算模塊掃描捕捉的數(shù)據(jù),分析出手勢中伸出的手指的指尖位置,判斷所述指尖所朝方向即為手勢滑動方向。
當捕捉手勢方向的同時,計時器T1和計數(shù)器N1打開并計時計數(shù):要測的字母高亮后,T1開始計時:此時前置攝像頭和光接近傳感器捕捉手勢滑動方向,將T1設定最大時長為3秒,3秒過后,捕捉動作結束,信息處理模塊計算高亮的字母“E”開口方向和捕捉的手勢方向是否一致,如果一致,計數(shù)器計數(shù)為1,繼續(xù)下一個字母高亮繼續(xù)測試,當計數(shù)器為3時,切換到下一行更小的字母繼續(xù)測試。如果某一行字母數(shù)不夠3個,測完自動切換到下一行更小的字母繼續(xù)測試,計數(shù)器清零。如果在任何一個測試過程中,如果出現(xiàn)手勢和字母開口不一致的情況發(fā)生,則測試結束,執(zhí)行步驟S304,如果手 勢和字母開口一致,這樣測試直到最后一行測試完成,執(zhí)行步驟S304.
S304:測試完成,計算視力測試結果并顯示在屏幕上;
比如,測試完成后提示用戶:“您的視力為5.0,繼續(xù)測試請按測試,否則退出”。
上述實施例提供的一種檢測視力的方法和終端,在屏幕上顯示按比例縮小的視力表,測試視力時,逐行突出顯示測試字母,利用前置攝像頭及光感接近傳感器來捕捉定位用戶手勢的上下左右方向,通過模擬配鏡行測試視力的過程,方便用戶隨時自測視力。
本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn),相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結合。
需要說明的是,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。