本发明属于医疗图像处理领域,特别涉及到一种快速高鲁棒性的人眼瞳孔检测方法。
背景技术:
瞳孔检测在人眼检测中比较普遍,瞳孔检测的算法种类很多,通常是先定位人眼,然后通过圆形度或椭圆形度分析,如霍夫变换和梯度锐化,找到瞳孔的位置,根据不同的场景,瞳孔检测的算法有不同的形态,由于现有方法需要先定位人眼,导致瞳孔检测耗时长,鲁棒性差,检测精度低。鉴于以上缺陷,实有必要设计一种快速高鲁棒性的人眼瞳孔检测方法。
技术实现要素:
本发明所要解决的技术问题在于:提供一种快速高鲁棒性的人眼瞳孔检测方法,来解决先定位人眼再进行瞳孔检测导致检测耗时长,鲁棒性差,检测精度低的问题。
为解决上述技术问题,本发明的技术方案是:一种快速高鲁棒性的人眼瞳孔检测方法,该方法在人眼瞳孔检测装置上实现,人眼瞳孔检测装置包括壳体、摄像模块、控制模块、显示模块、触摸屏、安卓系统、数量为6组的红外灯、测距模块,所述的摄像模块、控制模块、显示模块、触摸屏、测距模块均与壳体固连,所述的控制模块分别与摄像模块、显示模块、触摸屏、测距模块电相连,所述的安卓系统写入控制模块内,该人眼瞳孔检测方法包括以下步骤:
步骤1):开机,安卓系统通过控制模块直接启动摄像模块;
步骤2):手持并移动壳体,保证被检测者的眼睛被显示在显示模块上;
步骤3):点击触摸屏上的“开始”按钮,开始检测;
步骤4):前后移动壳体,通过测距模块检测并定位被检测者的瞳孔与摄像模块之间的距离为1米;
步骤5):安卓系统通过控制模块控制摄像模块获取感光成像,并将光信号转换为电信号;
步骤6):设置在控制模块内部的图像信号处理器通过MIPI接口获取电信号;
步骤7):图像信号处理器对电信号数据进行处理,生成yuv数据,并将yuv数据上传到应用层,进行人眼瞳孔的检测;
步骤8):应用层将yuv图像数据转化成灰度图;
步骤9):对灰度图图像数据进行自适应二值化处理得到二值化图像,所述的二值化图像显示出不少于两个的亮斑,自适应阈值为整幅图像中灰度值最大值*90%;
步骤10):对步骤9)得到的二值化图像以5*5的元素矩阵做一次膨胀计算操作,并查找出面积最大的两个轮廓;
步骤11):将步骤10)中查找出的两个轮廓根据设定条件进行判定得到双眼轮廓,所述的设定条件如下:圆形度为0.95-1,面积为12.5mm2-63.6mm2,轮廓间距为40mm-80mm;
步骤12):将步骤11)得到的双眼轮廓分割成左右眼的子区域;
步骤13):对左右眼的子区域图像数据进行自适应膨胀腐蚀计算以及开闭合运算,去除杂点的影响,从而确定瞳孔位置;
步骤14):根据步骤13)确定的瞳孔位置,计算出双眼轮廓所对应位置的灰度图像数据,进行多边形逼近,求得半径,圆心,以及重心计算,从而完成人眼瞳孔检测。
有益效果:该快速高鲁棒性的人眼瞳孔检测方法无需定位人眼,通过整幅图像的分析,直接定位瞳孔的位置,采用本发明进行检测,不仅速度快,鲁棒性好,而且检测精度高。
附图说明
图1示出本发明流程图
图2示出本发明人眼瞳孔检测装置结构示意图
壳体 1 摄像模块 2
控制模块 3 显示模块 4
触摸屏 5 安卓系统(图中未画出)
红外灯 6 测距模块 7
具体实施方式
实施例1
如图1、图2所示,一种快速高鲁棒性的人眼瞳孔检测方法,该方法在人眼瞳孔检测装置上实现,人眼瞳孔检测装置包括壳体1、摄像模块2、控制模块3、显示模块4、触摸屏5、安卓系统、数量为6组的红外灯6、测距模块7,所述的摄像模块2、控制模块3、显示模块4、触摸屏5、测距模块6均与壳体固连,所述的控制模块3分别与摄像模块2、显示模块4、触摸屏5、测距模块6电相连,所述的安卓系统写入控制模块内,该人眼瞳孔检测方法包括以下步骤:
步骤1):开机,安卓系统通过控制模块直接启动摄像模块;
步骤2):手持并移动壳体,保证被检测者的眼睛被显示在显示模块上;
步骤3):点击触摸屏上的“开始”按钮,开始检测;
步骤4):前后移动壳体,通过测距模块检测并定位被检测者的瞳孔与摄像模块之间的距离为1米;
步骤5):安卓系统通过控制模块控制摄像模块获取感光成像,并将光信号转换为电信号;
步骤6):设置在控制模块内部的图像信号处理器通过MIPI接口获取电信号;
步骤7):图像信号处理器对电信号数据进行处理,生成yuv数据,并将yuv数据上传到应用层,进行人眼瞳孔的检测;
步骤8):应用层将yuv图像数据转化成灰度图;
步骤9):对灰度图图像数据进行自适应二值化处理得到二值化图像,所述的二值化图像显示出不少于两个的亮斑,自适应阈值为整幅图像中灰度值最大值*90%;
步骤10):对步骤9)得到的二值化图像以5*5的元素矩阵做一次膨胀计算操作,并查找出面积最大的两个轮廓;
步骤11):将步骤10)中查找出的两个轮廓根据设定条件进行判定得到双眼轮廓,所述的设定条件如下:圆形度为1,面积为63.6mm2,轮廓间距为80mm;
步骤12):将步骤11)得到的双眼轮廓分割成左右眼的子区域;
步骤13):对左右眼的子区域图像数据进行自适应膨胀腐蚀计算以及开闭合运算,去除杂点的影响,从而确定瞳孔位置;
步骤14):根据步骤13)确定的瞳孔位置,计算出双眼轮廓所对应位置的灰度图像数据,进行多边形逼近,求得半径,圆心,以及重心计算,从而完成人眼瞳孔检测。
实施例2
如图1、图2所示,一种快速高鲁棒性的人眼瞳孔检测方法,该方法在人眼瞳孔检测装置上实现,人眼瞳孔检测装置包括壳体1、摄像模块2、控制模块3、显示模块4、触摸屏5、安卓系统、数量为6组的红外灯6、测距模块7,所述的摄像模块2、控制模块3、显示模块4、触摸屏5、测距模块6均与壳体固连,所述的控制模块3分别与摄像模块2、显示模块4、触摸屏5、测距模块6电相连,所述的安卓系统写入控制模块内,该人眼瞳孔检测方法包括以下步骤:
步骤1):开机,安卓系统通过控制模块直接启动摄像模块;
步骤2):手持并移动壳体,保证被检测者的眼睛被显示在显示模块上;
步骤3):点击触摸屏上的“开始”按钮,开始检测;
步骤4):前后移动壳体,通过测距模块检测并定位被检测者的瞳孔与摄像模块之间的距离为1米;
步骤5):安卓系统通过控制模块控制摄像模块获取感光成像,并将光信号转换为电信号;
步骤6):设置在控制模块内部的图像信号处理器通过MIPI接口获取电信号;
步骤7):图像信号处理器对电信号数据进行处理,生成yuv数据,并将yuv数据上传到应用层,进行人眼瞳孔的检测;
步骤8):应用层将yuv图像数据转化成灰度图;
步骤9):对灰度图图像数据进行自适应二值化处理得到二值化图像,所述的二值化图像显示出不少于两个的亮斑,自适应阈值为整幅图像中灰度值最大值*90%;
步骤10):对步骤9)得到的二值化图像以5*5的元素矩阵做一次膨胀计算操作,并查找出面积最大的两个轮廓;
步骤11):将步骤10)中查找出的两个轮廓根据设定条件进行判定得到双眼轮廓,所述的设定条件如下:圆形度为0.95,面积为12.5mm2,轮廓间距为40mm;
步骤12):将步骤11)得到的双眼轮廓分割成左右眼的子区域;
步骤13):对左右眼的子区域图像数据进行自适应膨胀腐蚀计算以及开闭合运算,去除杂点的影响,从而确定瞳孔位置;
步骤14):根据步骤13)确定的瞳孔位置,计算出双眼轮廓所对应位置的灰度图像数据,进行多边形逼近,求得半径,圆心,以及重心计算,从而完成人眼瞳孔检测。
实施例3
如图1、图2所示,一种快速高鲁棒性的人眼瞳孔检测方法,该方法在人眼瞳孔检测装置上实现,人眼瞳孔检测装置包括壳体1、摄像模块2、控制模块3、显示模块4、触摸屏5、安卓系统、数量为6组的红外灯6、测距模块7,所述的摄像模块2、控制模块3、显示模块4、触摸屏5、测距模块6均与壳体固连,所述的控制模块3分别与摄像模块2、显示模块4、触摸屏5、测距模块6电相连,所述的安卓系统写入控制模块内,该人眼瞳孔检测方法包括以下步骤:
步骤1):开机,安卓系统通过控制模块直接启动摄像模块;
步骤2):手持并移动壳体,保证被检测者的眼睛被显示在显示模块上;
步骤3):点击触摸屏上的“开始”按钮,开始检测;
步骤4):前后移动壳体,通过测距模块检测并定位被检测者的瞳孔与摄像模块之间的距离为1米;
步骤5):安卓系统通过控制模块控制摄像模块获取感光成像,并将光信号转换为电信号;
步骤6):设置在控制模块内部的图像信号处理器通过MIPI接口获取电信号;
步骤7):图像信号处理器对电信号数据进行处理,生成yuv数据,并将yuv数据上传到应用层,进行人眼瞳孔的检测;
步骤8):应用层将yuv图像数据转化成灰度图;
步骤9):对灰度图图像数据进行自适应二值化处理得到二值化图像,所述的二值化图像显示出不少于两个的亮斑,自适应阈值为整幅图像中灰度值最大值*90%;
步骤10):对步骤9)得到的二值化图像以5*5的元素矩阵做一次膨胀计算操作,并查找出面积最大的两个轮廓;
步骤11):将步骤10)中查找出的两个轮廓根据设定条件进行判定得到双眼轮廓,所述的设定条件如下:圆形度为0.98,面积为38mm2,轮廓间距为60mm;
步骤12):将步骤11)得到的双眼轮廓分割成左右眼的子区域;
步骤13):对左右眼的子区域图像数据进行自适应膨胀腐蚀计算以及开闭合运算,去除杂点的影响,从而确定瞳孔位置;
步骤14):根据步骤13)确定的瞳孔位置,计算出双眼轮廓所对应位置的灰度图像数据,进行多边形逼近,求得半径,圆心,以及重心计算,从而完成人眼瞳孔检测。
本发明不局限于上述具体的实施方式,本领域的普通技术人员从上述构思出发,不经过创造性的劳动,所做出的种种变换,均落在本发明的保护范围之内。