CN110262673A - 一种眼睛控制键盘打字的方法 - Google Patents
一种眼睛控制键盘打字的方法 Download PDFInfo
- Publication number
- CN110262673A CN110262673A CN201910563702.3A CN201910563702A CN110262673A CN 110262673 A CN110262673 A CN 110262673A CN 201910563702 A CN201910563702 A CN 201910563702A CN 110262673 A CN110262673 A CN 110262673A
- Authority
- CN
- China
- Prior art keywords
- host computer
- image
- eye
- pupil
- control host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 210000001747 pupil Anatomy 0.000 claims abstract description 125
- 238000001514 detection method Methods 0.000 claims abstract description 76
- 238000005314 correlation function Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims description 17
- 238000003708 edge detection Methods 0.000 claims description 11
- 230000003628 erosive effect Effects 0.000 claims description 7
- 210000004087 cornea Anatomy 0.000 claims description 4
- 230000000193 eyeblink Effects 0.000 claims description 4
- 210000003128 head Anatomy 0.000 claims description 2
- 230000003014 reinforcing effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 6
- 230000004397 blinking Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- NIXVMBBZNVOBHS-ASRKUVFVSA-N [(8r,9s,10r,13s,14s,17r)-17-acetyl-6,10,13-trimethyl-3-oxo-2,8,9,11,12,14,15,16-octahydro-1h-cyclopenta[a]phenanthren-17-yl] acetate;(8r,9s,13s,14s,17r)-17-ethynyl-13-methyl-7,8,9,11,12,14,15,16-octahydro-6h-cyclopenta[a]phenanthrene-3,17-diol Chemical group OC1=CC=C2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1.C1=C(C)C2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 NIXVMBBZNVOBHS-ASRKUVFVSA-N 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004424 eye movement Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000001678 irradiating effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/018—Input/output arrangements for oriental characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/197—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种眼睛控制键盘打字的方法,包括:人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像,然后将人眼图像发送至瞳孔检测设备;瞳孔检测设备通过图像处理算法对人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机;控制上位机通过Hough算法对处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标;控制上位机对处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作;如果是,则将所述瞳孔坐标与虚拟键盘进行标定对比,得到瞳孔坐标对应的虚拟按键;控制上位机触发虚拟按键,以使用户在控制上位机的文本框中打字。通过本发明,能够实现眼睛控制电脑进行打字操作,并且通过加强对瞳孔定位的精度使得打字操作的准确性更高。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种眼睛控制键盘打字的方法。
背景技术
在我国,肢体残疾人口占据了一个不可忽视的比例,随着科学技术的快速发展,现有的计算机输入设备,如键盘,鼠标和其他输入设备已用于交互使用数字仪器,然而这些计算机输入设备无法由残疾人操作。上述问题造成了这类群体因为他们的肢体残疾,无法享受便利和不断进步的计算机技术带来的娱乐,使得科学技术发展成果不能很好地受益于所有人。
发明内容
本发明提供一种眼睛控制键盘打字的方法,能够实现眼睛控制电脑进行打字操作,并且通过加强对瞳孔定位的精度使得打字操作的准确性更高。
根据本发明的一个方面,提供了一种眼睛控制键盘打字的方法,包括以下步骤:人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像;
所述人眼摄像头将所述人眼图像发送至瞳孔检测设备;
所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机;
所述控制上位机通过Hough算法对所述处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标;
所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作;
如果是,所述控制上位机将所述瞳孔坐标与虚拟键盘进行标定对比,得到所述瞳孔坐标对应的虚拟按键;
所述控制上位机触发所述虚拟按键,以使用户在所述控制上位机的文本框中打字。
优选地,人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像之前,该方法还包括以下步骤:通过红外二极管照射人眼。
优选地,所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机,包括以下步骤:
所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像预处理;
所述瞳孔检测设备通过图像处理算法对图像预处理后的所述人眼图像进行阈值二值化分割处理;
所述瞳孔检测设备通过图像处理算法对阈值二值化分割处理后的所述人眼图像进行边缘检测处理;
所述瞳孔检测设备将处理后的人眼图像发送至控制上位机。
优选地,所述控制上位机通过Hough算法对所述处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标,包括以下步骤:
所述控制上位机通过瞳孔粗定位算法对所述处理后的人眼图像进行瞳孔粗定位处理;
所述控制上位机在所述处理后的人眼图像中选取感兴趣区域,并在所述感兴趣区域内进行瞳孔定位;
所述控制上位机通过广义Hough算法对所述处理后的人眼图像进行Hough圆检测;
所述控制上位机根据瞳孔粗定位处理的结果、在感兴趣区域内的瞳孔定位结果以及Hough圆检测结果,得到所述处理后的人眼图像中的瞳孔坐标。
优选地,当所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断不存在眨眼动作时,该方法还包括以下步骤:
所述控制上位机计算上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长;
所述控制上位机判断所述暂停时长是否超过预设暂停时长;
如果是,则所述控制上位机暂停在其文本框中打字。
优选地,所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作,包括以下步骤:
所述控制上位机对所述红外二极管照射人眼时人眼角膜发射产生的光斑进行存在性检测;
所述控制上位机分别获取所述处理后的人眼图像中睁眼和闭眼时的拟合椭圆的轮廓大小;
所述控制上位机对睁眼和闭眼时拟合椭圆的轮廓大小进行对比;
当光斑检测结果为存在且睁眼和闭眼拟合椭圆时的轮廓数大小不相同,则存在眨眼动作;
当光斑检测结果为不存在且睁眼和闭眼拟合椭圆时的轮廓数大小相同,则不存在眨眼动作。
优选地,所述图像预处理包括灰度化处理、中值滤波处理、图像腐蚀处理以及图像膨胀处理。
优选地,通过红外二极管照射人眼之后,还包括以下步骤:
红外二极管将照射人眼之后反射回来的红外光线的频率信息传输至控制上位机;
所述控制上位机计算人眼与其显示屏之间的相对距离;
所述控制上位机判断所述相对距离是否在人眼眨眼控制打字的有效距离范围内;
如果是,则所述控制上位机向人眼摄像头发送人眼图像拍摄指令,以使所述人眼摄像头执行拍摄人眼并通过openCV的相关函数得到人眼图像的步骤。
与现有技术相比较,本发明的有益效果如下:
通过本发明,首先通过人眼摄像头对人眼图像进行采集,然后通过灰度化、中值滤波、图像腐蚀膨胀的预处理算法对人眼图像进行预处理,同时对预处理后的人眼图像进行阈值二值化处理和边缘检测处理,再将处理后的人眼图像通过Hough算法进行处理,得到瞳孔坐标,这样可以使得计算后的瞳孔坐标定位更加精确,增强了瞳孔检测的有效性和准确性。进一步通过控制上位机对人眼与注视显示屏相对位置的匹配处理,保证了瞳孔检测的稳定性。通过人眼对虚拟键盘的注视点对比,当识别到眨眼动作时,触发该按键,并进行打字操作,当在一定时间内检测不到瞳孔位置时,则触发打字暂停功能,不仅降低了控制上位机的损耗,而且极大的提高了本发明的实用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。附图中:
图1是根据本发明实施例的一种眼睛控制键盘打字的方法的流程图;
图2是根据本发明实施例一的另一种眼睛控制键盘打字的方法的流程图;
图3是根据本发明实施例二的又一种眼睛控制键盘打字的方法的流程图。
具体实施方式
下面将结合本发明附图,对本发明技术方案进行描述,但所描述的实施例仅仅是本发明一部分实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种眼睛控制键盘打字的方法,图1是根据本发明实施例的一种眼睛控制键盘打字的方法的流程图,如图1所示,包括以下步骤:
步骤S101:人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像;
步骤S102:人眼摄像头将人眼图像发送至瞳孔检测设备;
步骤S103:瞳孔检测设备通过图像处理算法对人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机;
步骤S104:控制上位机通过Hough算法对处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标;
步骤S105:控制上位机对处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作;如果是,则执行步骤S106~步骤S107;
步骤S106:控制上位机将瞳孔坐标与虚拟键盘进行标定对比,得到瞳孔坐标对应的虚拟按键;
步骤S107:控制上位机触发虚拟按键,以使用户在控制上位机的文本框中打字。
在实施过程中,在步骤S101之前,通过红外二极管照射人眼;红外二极管将照射人眼之后反射回来的红外光线的频率信息传输至控制上位机;控制上位机计算人眼与其显示屏之间的相对距离;控制上位机判断相对距离是否在人眼眨眼控制打字的有效距离范围内;如果是,则控制上位机向人眼摄像头发送人眼图像拍摄指令,以使人眼摄像头执行拍摄人眼并通过openCV的相关函数得到人眼图像的步骤。
在步骤S103中,瞳孔检测设备通过图像处理算法对人眼图像进行图像预处理;瞳孔检测设备通过图像处理算法对图像预处理后的所述人眼图像进行阈值二值化分割处理;瞳孔检测设备通过图像处理算法对阈值二值化分割处理后的人眼图像进行边缘检测处理;瞳孔检测设备将处理后的人眼图像发送至控制上位机。
进一步的,图像预处理包括灰度化处理、中值滤波处理、图像腐蚀处理以及图像膨胀处理。
在步骤S104中,控制上位机通过瞳孔粗定位算法对处理后的人眼图像进行瞳孔粗定位处理;控制上位机在处理后的人眼图像中选取感兴趣区域,并在感兴趣区域内进行瞳孔定位;控制上位机通过广义Hough算法对处理后的人眼图像进行Hough圆检测;控制上位机根据瞳孔粗定位处理的结果、在感兴趣区域内的瞳孔定位结果以及Hough圆检测结果,得到处理后的人眼图像中的瞳孔坐标。
在步骤S105中,当控制上位机对处理后的人眼图像进行眨眼检测,判断不存在眨眼动作时,控制上位机计算上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长;控制上位机判断暂停时长是否超过预设暂停时长;如果是,则控制上位机暂停在其文本框中打字。
在步骤S105中,控制上位机对红外二极管照射人眼时人眼角膜发射产生的光斑进行存在性检测;控制上位机分别获取处理后的人眼图像中睁眼和闭眼时的拟合椭圆的轮廓大小;控制上位机对睁眼和闭眼时拟合椭圆的轮廓大小进行对比;当光斑检测结果为存在且睁眼和闭眼拟合椭圆时的轮廓数大小不相同,则存在眨眼动作;当光斑检测结果为不存在且睁眼和闭眼拟合椭圆时的轮廓数大小相同,则不存在眨眼动作。
通过上述步骤,可以实现眼睛控制电脑进行打字操作,并且通过加强对瞳孔定位的精度使得打字操作的准确性更高。
为了使本发明的技术方案和实现方法更加清楚,下面将结合优选的实施例对其实现过程进行详细描述。
实施例一
本实施例提供另一种眼睛控制键盘打字的方法,如图2所示,图2是根据本发明实施例一的另一种眼睛控制键盘打字的方法的流程图,包括以下步骤:
步骤S201:人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像;
本发明实施例中,上述openCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上,它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法;
步骤S202:人眼摄像头将人眼图像发送至瞳孔检测设备;
步骤S203:瞳孔检测设备通过图像处理算法对人眼图像进行图像预处理;
本发明实施例中,瞳孔检测设备通过图像处理算法提取人眼图像中每个像素点的像素值进行预处理,上述图像预处理包括灰度化处理、中值滤波处理、图像腐蚀处理以及图像膨胀处理;
图像预处理的代码为:
OpenCvSharp.Size size1://腐蚀结构
OpenCvSharp.Size size2://膨胀结构
size2.Width=5:
size2.Height=5:
size1.Width=9:
size1.Height=9:
Mat image_out3=new Mat()://Hough算法的图像
Mat image_out4=new Mat()://检测光斑外矩形中心的图像
Matimage_out5=new Mat()://检测光斑轮廓的图像
Mat image_out6=new Mat()://粗定位相应处理图像
Mat image_ceshi=new Mat()://测试
Mat image_element1=new Mat()://腐蚀矩阵元素
Mat image_element2=new Mat()://膨胀矩阵元素
image_element1=Cv2.GetStructuringElement((MorphShapes0,size1):
image_element2=Cv2.GetStructuringElement(MorphShapes)0,size2):
OpencvSharp.Point[][]contours://光斑轮廓储存二维数组
OpenCvSharp.Point[][]contours_1://粗定位轮廓储存二维数组
HierarchyIndex[]hierarchy://光斑轮廓储存一维数组
HierarchyIndex[]hierarchy_1://粗定位轮廓储存一维数组
image_out=image_in;
Cv2.MedianBlur(image_in,image_out,5)://中值滤波
Cv2.MedianBlur(image_in,image_out5,5)://中值滤波
Cv2.MedianBlur(image_in,image_ceshi,5)://粗定位测试图
步骤S204:瞳孔检测设备通过图像处理算法对图像预处理后的人眼图像进行阈值二值化分割处理;
本发明实施例中,阈值二值化分割处理是通过设定一个阈值,使得图像分为两类区域的组合,颜色较深的部分为黑,颜色较浅的部分为白;
步骤S205:瞳孔检测设备通过图像处理算法对阈值二值化分割处理后的人眼图像进行边缘检测处理;
本发明实施例中,边缘检测处理采用的是Canny边缘检测算法,通过设置双阈值,将阈值二值化分割处理分出来的白色区域进一步区分,即可将边缘信息提取出来;
步骤S206:瞳孔检测设备将处理后的人眼图像发送至控制上位机;
步骤S207:控制上位机通过瞳孔粗定位算法对处理后的人眼图像进行瞳孔粗定位处理;
本发明实施例中,上述瞳孔粗定位算法为结合最小二乘法的椭圆拟合算法,对人眼图像的瞳孔进行椭圆拟合;
瞳孔粗定位算法的完整代码为:
步骤S208:控制上位机在处理后的人眼图像中选取感兴趣区域,并在感兴趣区域内进行瞳孔定位;
步骤S209:控制上位机通过广义Hough算法对处理后的人眼图像进行Hough圆检测;
本发明实施例中,广义Hough算法的完整代码为:
步骤S210:控制上位机根据瞳孔粗定位处理的结果、在感兴趣区域内的瞳孔定位结果以及Hough圆检测结果,得到处理后的人眼图像中的瞳孔坐标;
作为一种可选的实施方式,人眼图像通过瞳孔粗定位算法得到的瞳孔坐标与人眼图像通过广义Hough算法得到的瞳孔坐标进行比较,当上述两种算法的其中一种产生了误检测或者未检测时,最终的瞳孔坐标取剩下的一个,这样保证了瞳孔定位的精确性;
步骤S211:控制上位机对处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作;如果是,则执行步骤S212~步骤S213;如果否,则执行步骤S214~步骤S215;
本发明实施例中,眨眼检测包括光斑检测和拟合轮廓数对比;光斑检测是对红外二极管在人眼的角膜反射产生的光斑进行存在性检测;拟合轮廓数对比是对睁眼和闭眼时拟合椭圆时的轮廓数的大小比较;眨眼检测通过对是否检测到光斑以及睁眼闭眼是轮廓数的区分对比,得到睁眼和闭眼的动作信息,进而可精确识别眨眼动作的产生;
光斑检测的代码为:
作为一种可选的实施方式,除了采用上述步骤判断人眼图像中是否存在眨眼动作进而判断用户是否想要控制键盘打字之外,还可以检测用户眼睛连续注视控制上位机显示屏的时长,如果用户连续注视上位机显示屏的时长已经超过了预设注视时长,则说明用户想要通过眼睛控制键盘打字,如果用户连续注视上位机显示屏的时长未超过预设注视时长,则说明用户并未想要通过眼睛控制键盘打字,这种方法也可以有效的判断用户是否发出了打字指令,从而提高打字精准性;
步骤S212:控制上位机将瞳孔坐标与虚拟键盘进行标定对比,得到瞳孔坐标对应的虚拟按键;
本发明实施例中,在识别瞳孔中心坐标以及识别眨眼动作之后,需要进行瞳孔坐标与虚拟键盘的进行信息匹配,即当瞳孔坐标落在某区域时,该区域对应虚拟坐标的某个按键,当识别眨眼动作时,能够触发该按键,实现在文本框中实现打字功能;
与虚拟按键进行标定的完整代码为:
步骤S213:控制上位机触发虚拟按键,以使用户在控制上位机的文本框中打字;
步骤S214:控制上位机计算上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长;
步骤S215:控制上位机判断暂停时长是否超过预设暂停时长;如果是,则执行步骤S216;
作为一种可选的实施方式,当上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长超过预设暂停时长时,就说明用户此时并不需要通过眼睛控制键盘打字,因此控制上位机就可以控制其打字功能暂停,这样不仅可以降低损耗,而且还可以增强本发明的实用性;
步骤S216:控制上位机暂停在其文本框中打字。
实施例二
本实施例提供又一种眼睛控制键盘打字的方法,如图3所示,图3是根据本发明实施例二的又一种眼睛控制键盘打字的方法的流程图,包括以下步骤:
步骤S301:通过红外二极管照射人眼;
本发明实施例中,由于人的眼睛无法察觉到红外光,因此通过红外二极管照射人眼不至于晃眼影响用户体验,在将红外光源照射人眼时,相对瞳孔而言,由于虹膜对该红外光反射较大,使得在人眼图像中虹膜与瞳孔的颜色形成较高的对比度,区分明显,有利于进行后续的图像处理;
步骤S302:红外二极管将照射人眼之后反射回来的红外光线的频率信息传输至控制上位机;
步骤S303:控制上位机计算人眼与其显示屏之间的相对距离;
步骤S304:控制上位机判断相对距离是否在人眼眨眼控制打字的有效距离范围内;如果是,则执行步骤S305~步骤S318;
本发明实施例中,通过判断相对距离是否在人眼眨眼控制打字的有效距离范围内,可以有效的判断人眼注视屏幕是否为想要通过眨眼来控制键盘打字,如果相对距离在人眼眨眼控制打字的有效距离范围内,就说明人眼注视屏幕是想要通过眨眼来控制键盘打字,此时控制上位机就可以通过人眼摄像头拍摄人眼图像,进而对图像进行处理以控制键盘打字,如果相对距离不在人眼眨眼控制打字的有效距离范围内,就说明人眼注视屏幕并不是想要通过眨眼来控制键盘打字;
步骤S305:控制上位机向人眼摄像头发送人眼图像拍摄指令;
步骤S306:人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像;
本发明实施例中,上述openCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上,它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法;
步骤S307:人眼摄像头将人眼图像发送至瞳孔检测设备;
步骤S308:瞳孔检测设备通过图像处理算法对人眼图像进行图像预处理;
本发明实施例中,瞳孔检测设备通过图像处理算法提取人眼图像中每个像素点的像素值进行预处理,上述图像预处理包括灰度化处理、中值滤波处理、图像腐蚀处理以及图像膨胀处理,图像预处理的代码为:
步骤S309:瞳孔检测设备通过图像处理算法对图像预处理后的人眼图像进行阈值二值化分割处理;
本发明实施例中,阈值二值化分割处理是通过设定一个阈值,使得图像分为两类区域的组合,颜色较深的部分为黑,颜色较浅的部分为白;
步骤S310:瞳孔检测设备通过图像处理算法对阈值二值化分割处理后的人眼图像进行边缘检测处理;
本发明实施例中,边缘检测处理采用的是Canny边缘检测算法,通过设置双阈值,将阈值二值化分割处理分出来的白色区域进一步区分,即可将边缘信息提取出来;
步骤S311:瞳孔检测设备将处理后的人眼图像发送至控制上位机;
步骤S312:控制上位机通过瞳孔粗定位算法对处理后的人眼图像进行瞳孔粗定位处理;
本发明实施例中,上述瞳孔粗定位算法为结合最小二乘法的椭圆拟合算法,对人眼图像的瞳孔进行椭圆拟合,瞳孔粗定位算法的完整代码为:
步骤S313:控制上位机在处理后的人眼图像中选取感兴趣区域,并在感兴趣区域内进行瞳孔定位;
步骤S314:控制上位机通过广义Hough算法对处理后的人眼图像进行Hough圆检测;
本发明实施例中,广义Hough算法的完整代码为:
步骤S315:控制上位机根据瞳孔粗定位处理的结果、在感兴趣区域内的瞳孔定位结果以及Hough圆检测结果,得到处理后的人眼图像中的瞳孔坐标;
作为一种可选的实施方式,人眼图像通过瞳孔粗定位算法得到的瞳孔坐标与人眼图像通过广义Hough算法得到的瞳孔坐标进行比较,当上述两种算法的其中一种产生了误检测或者未检测时,最终的瞳孔坐标取剩下的一个,这样保证了瞳孔定位的精确性;
步骤S316:控制上位机对红外二极管照射人眼时人眼角膜发射产生的光斑进行存在性检测;
本发明实施例中,光斑检测的代码为:
步骤S317:控制上位机分别获取处理后的人眼图像中睁眼和闭眼时的拟合椭圆的轮廓大小;
步骤S318:控制上位机对睁眼和闭眼时拟合椭圆的轮廓大小进行对比;然后执行步骤S319~步骤S320或者执行步骤S321~步骤S322;
步骤S319:当光斑检测结果为存在且睁眼和闭眼拟合椭圆时的轮廓数大小不相同时,控制上位机将瞳孔坐标与虚拟键盘进行标定对比,得到瞳孔坐标对应的虚拟按键;
本发明实施例中,在识别瞳孔中心坐标以及识别眨眼动作之后,需要进行瞳孔坐标与虚拟键盘的进行信息匹配,即当瞳孔坐标落在某区域时,该区域对应虚拟坐标的某个按键,当识别眨眼动作时,能够触发该按键,实现在文本框中实现打字功能,与虚拟按键进行标定的完整代码为:
步骤S320:控制上位机触发虚拟按键,以使用户在控制上位机的文本框中打字;
步骤S321:当光斑检测结果为不存在且睁眼和闭眼拟合椭圆时的轮廓数大小相同时,控制上位机计算上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长;
步骤S322:控制上位机判断暂停时长是否超过预设暂停时长;如果是,则执行步骤S323;
作为一种可选的实施方式,当上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长超过预设暂停时长时,就说明用户此时并不需要通过眼睛控制键盘打字,因此控制上位机就可以控制其打字功能暂停,这样不仅可以降低损耗,而且还可以增强本发明的实用性;
步骤S323:控制上位机暂停在其文本框中打字。
综合上述,通过上述实施例,首先通过人眼摄像头对人眼图像进行采集,然后通过灰度化、中值滤波、图像腐蚀膨胀的预处理算法对人眼图像进行预处理,同时对预处理后的人眼图像进行阈值二值化处理和边缘检测处理,再将处理后的人眼图像通过Hough算法进行处理,得到瞳孔坐标,这样可以使得计算后的瞳孔坐标定位更加精确,增强了瞳孔检测的有效性和准确性。进一步通过控制上位机对人眼与注视显示屏相对位置的匹配处理,保证了瞳孔检测的稳定性。通过人眼对虚拟键盘的注视点对比,当识别到眨眼动作时,触发该按键,并进行打字操作,当在一定时间内检测不到瞳孔位置时,则触发打字暂停功能,不仅降低了控制上位机的损耗,而且极大的提高了本发明的实用性。
Claims (8)
1.一种眼睛控制键盘打字的方法,其特征在于,包括以下步骤:
人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像;
所述人眼摄像头将所述人眼图像发送至瞳孔检测设备;
所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机;
所述控制上位机通过Hough算法对所述处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标;
所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作;
如果是,所述控制上位机将所述瞳孔坐标与虚拟键盘进行标定对比,得到所述瞳孔坐标对应的虚拟按键;
所述控制上位机触发所述虚拟按键,以使用户在所述控制上位机的文本框中打字。
2.根据权利要求1所述的方法,其特征在于,所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像处理,得到处理后的人眼图像并发送至控制上位机,包括以下步骤:
所述瞳孔检测设备通过图像处理算法对所述人眼图像进行图像预处理;
所述瞳孔检测设备通过图像处理算法对图像预处理后的所述人眼图像进行阈值二值化分割处理;
所述瞳孔检测设备通过图像处理算法对阈值二值化分割处理后的所述人眼图像进行边缘检测处理;
所述瞳孔检测设备将处理后的人眼图像发送至控制上位机。
3.根据权利要求2所述的方法,其特征在于,所述控制上位机通过Hough算法对所述处理后的人眼图像进行瞳孔定位处理,得到瞳孔坐标,包括以下步骤:
所述控制上位机通过瞳孔粗定位算法对所述处理后的人眼图像进行瞳孔粗定位处理;
所述控制上位机在所述处理后的人眼图像中选取感兴趣区域,并在所述感兴趣区域内进行瞳孔定位;
所述控制上位机通过广义Hough算法对所述处理后的人眼图像进行Hough圆检测;
所述控制上位机根据瞳孔粗定位处理的结果、在感兴趣区域内的瞳孔定位结果以及Hough圆检测结果,得到所述处理后的人眼图像中的瞳孔坐标。
4.根据权利要求3所述的方法,其特征在于,当所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断不存在眨眼动作时,还包括以下步骤:
所述控制上位机计算上一次眨眼动作存在的时刻距离本次检测不存在眨眼动作时刻的暂停时长;
所述控制上位机判断所述暂停时长是否超过预设暂停时长;
如果是,则所述控制上位机暂停在其文本框中打字。
5.根据权利要求4所述的方法,其特征在于,人眼摄像头拍摄人眼并通过openCV的相关函数得到人眼图像之前,还包括以下步骤:
通过红外二极管照射人眼。
6.根据权利要求5所述的方法,其特征在于,所述控制上位机对所述处理后的人眼图像进行眨眼检测,判断是否存在眨眼动作,包括以下步骤:
所述控制上位机对所述红外二极管照射人眼时人眼角膜发射产生的光斑进行存在性检测;
所述控制上位机分别获取所述处理后的人眼图像中睁眼和闭眼时的拟合椭圆的轮廓大小;
所述控制上位机对睁眼和闭眼时拟合椭圆的轮廓大小进行对比;
当光斑检测结果为存在且睁眼和闭眼拟合椭圆时的轮廓数大小不相同,则存在眨眼动作;
当光斑检测结果为不存在且睁眼和闭眼拟合椭圆时的轮廓数大小相同,则不存在眨眼动作。
7.根据权利要求2所述的方法,其特征在于,所述图像预处理包括灰度化处理、中值滤波处理、图像腐蚀处理以及图像膨胀处理。
8.根据权利要求6所述的方法,其特征在于,通过红外二极管照射人眼之后,还包括以下步骤:
红外二极管将照射人眼之后反射回来的红外光线的频率信息传输至控制上位机;
所述控制上位机计算人眼与其显示屏之间的相对距离;
所述控制上位机判断所述相对距离是否在人眼眨眼控制打字的有效距离范围内;
如果是,则所述控制上位机向人眼摄像头发送人眼图像拍摄指令,以使所述人眼摄像头执行拍摄人眼并通过openCV的相关函数得到人眼图像的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910563702.3A CN110262673A (zh) | 2019-06-26 | 2019-06-26 | 一种眼睛控制键盘打字的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910563702.3A CN110262673A (zh) | 2019-06-26 | 2019-06-26 | 一种眼睛控制键盘打字的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262673A true CN110262673A (zh) | 2019-09-20 |
Family
ID=67921954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910563702.3A Pending CN110262673A (zh) | 2019-06-26 | 2019-06-26 | 一种眼睛控制键盘打字的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262673A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI751718B (zh) * | 2020-09-23 | 2022-01-01 | 宏碁股份有限公司 | 具有眼球追蹤裝置的電子裝置以及文字輸入方法 |
CN114327026A (zh) * | 2020-09-29 | 2022-04-12 | 宏碁股份有限公司 | 具有眼球追踪装置的电子装置以及文字输入方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830797A (zh) * | 2012-07-26 | 2012-12-19 | 深圳先进技术研究院 | 一种基于视线判断的人机交互方法及系统 |
TW201305849A (zh) * | 2011-07-25 | 2013-02-01 | chang-chun Li | 瞳孔偵測輸入方法及其系統 |
US20130293467A1 (en) * | 2012-05-04 | 2013-11-07 | Chris Norden | User input processing with eye tracking |
CN103838378A (zh) * | 2014-03-13 | 2014-06-04 | 广东石油化工学院 | 一种基于瞳孔识别定位的头戴式眼睛操控系统 |
CN104090659A (zh) * | 2014-07-08 | 2014-10-08 | 金纯� | 基于人眼图像和视线追踪的操作指针指示控制设备 |
WO2018174854A1 (en) * | 2017-03-21 | 2018-09-27 | Hewlett-Packard Development Company, L.P. | Estimations within displays |
CN108734086A (zh) * | 2018-03-27 | 2018-11-02 | 西安科技大学 | 基于眼部区域生成网络的眨眼频率和视线估计方法 |
-
2019
- 2019-06-26 CN CN201910563702.3A patent/CN110262673A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201305849A (zh) * | 2011-07-25 | 2013-02-01 | chang-chun Li | 瞳孔偵測輸入方法及其系統 |
US20130293467A1 (en) * | 2012-05-04 | 2013-11-07 | Chris Norden | User input processing with eye tracking |
CN102830797A (zh) * | 2012-07-26 | 2012-12-19 | 深圳先进技术研究院 | 一种基于视线判断的人机交互方法及系统 |
CN103838378A (zh) * | 2014-03-13 | 2014-06-04 | 广东石油化工学院 | 一种基于瞳孔识别定位的头戴式眼睛操控系统 |
CN104090659A (zh) * | 2014-07-08 | 2014-10-08 | 金纯� | 基于人眼图像和视线追踪的操作指针指示控制设备 |
WO2018174854A1 (en) * | 2017-03-21 | 2018-09-27 | Hewlett-Packard Development Company, L.P. | Estimations within displays |
CN108734086A (zh) * | 2018-03-27 | 2018-11-02 | 西安科技大学 | 基于眼部区域生成网络的眨眼频率和视线估计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI751718B (zh) * | 2020-09-23 | 2022-01-01 | 宏碁股份有限公司 | 具有眼球追蹤裝置的電子裝置以及文字輸入方法 |
CN114327026A (zh) * | 2020-09-29 | 2022-04-12 | 宏碁股份有限公司 | 具有眼球追踪装置的电子装置以及文字输入方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105184277B (zh) | 活体人脸识别方法以及装置 | |
Fancourt et al. | Iris recognition at a distance | |
RU2431190C2 (ru) | Способ и устройство распознавания рельефности лица | |
Eriksson et al. | Driver fatigue: a vision-based approach to automatic diagnosis | |
CN105426695B (zh) | 一种基于虹膜的健康状态检测系统 | |
Huang et al. | Hand-dorsa vein recognition by matching local features of multisource keypoints | |
CN106778556A (zh) | 基于动态人脸识别和步态识别融合的智能身份识别系统 | |
Ibrahim et al. | Iris localization using local histogram and other image statistics | |
JP2019506694A (ja) | 生体測定分析のシステムおよび方法 | |
Soliman et al. | Efficient iris localization and recognition | |
CN106133752A (zh) | 眼睛注视跟踪 | |
KR20070094865A (ko) | 홍채 인식 시스템 및 방법 | |
CN106980852A (zh) | 基于角点检测与匹配的药品识别系统及其识别方法 | |
CN110262673A (zh) | 一种眼睛控制键盘打字的方法 | |
CN109410138A (zh) | 修饰双下巴的方法、装置和系统 | |
CN110585592A (zh) | 一种个性化电子针灸装置及其生成方法与生成装置 | |
CN105380590B (zh) | 一种具有眼位检测功能的设备及其实现方法 | |
CN108009534B (zh) | 基于瞳孔灰度的活体检测方法 | |
Hu et al. | A large-scale database for less cooperative iris recognition | |
Kiat et al. | One-time calibration eye gaze detection system | |
DellaVecchia et al. | Methodology and apparatus for using the human iris as a robust biometric | |
Montazeri et al. | Automatically eye detection with different gray intensity image conditions | |
CN109447995B (zh) | 一种眼前节图像的分割方法及其相关装置 | |
CN111557643A (zh) | 一种肌肤健康报告的展示方法、装置及护肤设备 | |
CN111557644A (zh) | 一种基于智能镜面设备的护肤方法、装置及护肤设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |