利用手机前置摄像头自动识别人眼中黑点和血丝的方法与流程

文档序号:12272245阅读:1354来源:国知局
利用手机前置摄像头自动识别人眼中黑点和血丝的方法与流程

本发明属于图像处理技术领域,特别涉及一种提高前置摄像头所成图像分辨率及自动识别人眼中黑点和血丝的方法,可用于增加手机的功能。

随着科学技术的进步,拥有智能手机已经成为普遍现象,而人们对健康生活的要求也越来越高。人们除了用手机进行基础通信外,还时常运用手机前置摄像头自拍,但在调节焦距期望得到更加细节的信息时,却降低了清晰度,并不能得到很清晰的影像。此外,人们也常用前置摄像头充当镜子,既希望看到全局又看到局部,而且在看局部时,希望越清晰越好,因此调节摄像头焦距,但是同样得不到很清晰的影像,因而不能很好的观察到自己面部更加细节的一些信息。

现在市场上主流的高配版手机,其前置摄像头的像素大多都要比后置摄像头像素低很多,例如华为P9前置摄像头像素为800万像素,中兴ZTE AKON天机7前置摄像头像素为800万像素,iphone7前置摄像头像素为700万像素,OPPO R9前置摄像头像素为1600万像素,这些主流的高配手机前置摄像头在近距离拉近时均会出现细小麻点,特别是当人们利用手机前置摄像头拍摄功能充当镜子要观测自己眼部的细节信息时,却不能通过调节摄像头焦距看到清晰的影像,而且对于眼部的血丝和黑点这些细节信息也没有一个自动的识别的功能,远远不能满足人们日益增长的对健康的需求。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提供一种利用手机前置摄像头自动识别人眼中黑点和血丝的方法,以满足人们日益增长的对健康的需求。

为实现上述目的,本发明的技术方案包括如下:

(1)通过智能手机上的距离传感器识别人像与摄像头之间的距离d;

(2)设定距离阈值R=1m,将人像与摄像头之间的距离d与设定的阈值R进行比较:若d>R,则保持手机所成图像原分辨率不变;若d<R,则执行步骤(3);

(3)利用双线性插值算法对前置摄像头所成图像进行插值,插值个数N为的整数倍,使相机中能更精确显示人眼图像;

(4)对插值后的人眼图像进行灰度化和sobel算子边缘检测,并根据边缘检测结果寻找x,y方向人眼的区域,舍弃不是人眼区域的点,完成人眼裁剪,再对裁剪后的人眼图像进行二值化处理得到二值化图像;

(5)对二值化图像进行横向和纵向计算,扫描分割出单眼图像,并用邻插值算法将单眼图像k归一化为32*16大小的单眼图像h;

(6)选择大小为32*16且没有血丝和黑点的正常人单眼二值化图像,作为模板图像H,并用模版图像H与归一化单眼图像h做差获得人眼差值图像h’;

(7)对差值图像h’切割得到异样点图像h”,通过邻插值算法将异样点图像h”归一化为32*16大小的异样点图像h”’;

(8)计算归一化后异样点图像h”’中的白色点数C,并计算白色点数C与32*16的信息比g;

(9)设置判断黑点和血丝点的阈值G=0.6835,比较g与G的大小,若g=<G,则判为眼睛有黑点,若1>g>G,则判为眼睛有血丝点,若g=1,则判为眼睛正常;

(10)在前置摄像头照相界面向用户显示判定结果。

本发明具有如下优点:

1.本发明在手机前置摄像头的拍照功能基础上,首先利用插值技术提高拍照所成图像的分辨率,在将手机拍照所成图像分辨率提高的基础上,自动识别使用者眼中的血丝和黑点,不仅能提升现有手机前置摄像头的性能,而且更能增加用户拍照体验,使人们的生活更加智能便捷;

2.本发明能够根据人像与手机之间的距离,动态调节手机前置摄像头拍照所成图像的分辨率。使得此距离越近,图像的分辨率越高,这样就可使人们能更清晰的看到眼部细小的特征;

3.本发明能够自动识别人眼部存在的微小的血丝和黑点,为用户及时了解自己的眼睛状况提供了方便。

附图说明

图1是本发明的实现流程图;

图2是本发明中双线性插值原理图;

图3是本发明中相机分辨率与距离d的关系图;

具体实施方式

以下结合附图对本发明做详细说明:

参照图1,本发明的实现步骤如下:

步骤1,获取人像与摄像头之间的距离,即通过读取手机距离传感器测得人像与摄像头之间的距离d。

步骤2,根据距离d判断是否改变前置摄像头所成图像的分辨率。

(2a)设定距离阈值R=1m,将人像与摄像头之间的距离d与设定的阈值R进行比较:若d>R,则保持所成图像分辨率不变;若d<R,则执行步骤(2b);

(2b)利用双线性插值算法对前置摄像头所成的人像进行插值,插值个数N为的整数倍,使相机中能更精确显示人眼图像;

(2c)从人像图像的坐标(0,0)点开始,依次扫描该图像中的所有像素点,令扫描到的像素点坐标为(x,y),再以(x,y)为基础得到四个扫描像素点,分别为A(x,y),B(x+1,y),C(x,y+1),D(x+1,y+1),令这些扫描像素点的大小分别为f(A),f(B),f(C),f(D);

(2d)根据人像与摄像头之间的距离d确定以A(x,y),B(x+1,y),C(x,y+1),D(x+1,y+1)四点所围成的正方体区域中的插值点的个数为:其中常数δ=10;

(2e)利用双线性插值算法,确定A(x,y),B(x+1,y),C(x,y+1),D(x+1,y+1)四点中插值点的坐标和插值点像素的大小:

(2e1)设最后插值点的坐标为(x’,y’),如图2所示。

(2e2)计算x轴方向的插值点:

先计算出A(x,y),B(x+1,y)的中间插值点P1(x’,y),插值点P1的像素大小为:

f(P1)=(x+1-x’)*f(A)+(x’-x)*f(B);

再计算出C(x,y+1),D(x+1,y+1)的中间插值点P2(x’,y),插值点像素的大小为:

f(P2)=(x+1-x’)*f(C)+(x’-x)*f(D);

(2e3)用M(x’,y’)表示P1(x’,y)与P2(x’,y)之间的插值点,该插值点像素的大小为:

由上式可知,当(x,y)确定,则插值点坐标大小x’是在(x,x+1)之间取值,y’是在(y,y+1)之间取值;

(2e4)进一步确定A(x,y),B(x+1,y),C(x,y+1),D(x+1,y+1)四点中插值点的坐标为该插值点像素的大小为:

其中n=1,2...N;

(2e5)完成插值之后所成图像分辨率与距离d的关系图如图3所示。

步骤3,对插值后人眼图像进行预处理。

(3a)灰度化人眼图像,即采用图像处理的工具函数rgb2gray函数使彩色图像变为灰度图像;

(3b)检测图像边缘

检测图像边缘可以用的算子有robert算子、sobel算子、prewitt算子、krisch算子、laplacian算子、gauss-laplacian算子等,本步骤用的是sobel边缘检测。

步骤4,人眼裁剪。

(4a)对检测出的人眼图像进行腐蚀,即用图像处理基本函数imerode移除人眼中的小对象区域,除去分割干扰项;

(4b)扫描寻找x,y方向人眼的区域,舍弃不是人眼区域的点完成人眼裁剪。

步骤5,二值化裁剪后的人眼图像

(5a)获取二值化最佳阈值T:

获取阈值的算法有双峰法、P参数法、Otsu法、最大阈值法、最佳阈值法等,本实例采用最佳阈值法获取二值化最佳阈值T;

(5b)从裁剪后的人眼图像的坐标(0,0)点开始,依次扫描该图像中的所有像素点,令扫描到的像素点坐标为(x,y),像素值大小为f(x,y);

(5c)将像素值f(x,y)与阈值T做比较,若像素值f(x,y)小于阈值T,则f(x,y)为0,若像素值f(x,y)大于等于阈值T,则f(x,y)为1。

步骤6,分割单眼图像。

从二值化后人眼图像的坐标(0,0)点开始,依次扫描该图像中的所有像素,分别舍弃x方向像素求和为0的点,及y方向上像素求和为0的点,分割出两个单眼图像,即左眼图像k1和右眼图像k2。

步骤7,归一化左眼图像,用邻插值算法将左眼图像k1归一化为32*16大小的左眼图像h1。

(7a)对左眼图像k1做几何变换,得到大小为32*16的变换后图像k’;

(7b)从变换后求得图像k’的坐标(0,0)点开始,依次扫描该图像中的所有像素点(x’,y’),寻找左眼图像k1中距离(x’,y’)最近的点(x,y),令(x’,y’)点的像素值k’(x’,y’)等于(x,y)点的像素值k(x,y),此时得到的图像k’即为左眼图像h1;

用同样的方法处理右眼图像得到归一化为32*16大小的右眼图像h2。

步骤8,获得到人眼差值图像。

(8a)选择大小为32*16且没有血丝和黑点的正常人左眼二值化图像,作为左眼模板图像H1,并用左眼模版图像H1与归一化左眼图像h1做差获得左眼差值图像h1’;

(8b)选择大小为32*16且没有血丝和黑点的正常人右眼二值化图像,作为右眼模板图像H2,并用右眼模版图像H2与归一化右眼图像h2做差获得右眼差值图像h2’;

步骤9,获得异样点图像。

(9a)对左眼差值图像h1’切割得到左眼异样点图像h1”,通过邻插值算法将左眼异样点图像h1”归一化为32*16大小的左眼异样点图像h1”’;

(9a)对右眼差值图像h2’切割得到右眼异样点图像h2”,通过邻插值算法将右异样点图像h2”归一化为32*16大小的右眼异样点图像h2”’。

步骤10,计算信息比。

(10a)计算归一化后左眼异样点图像h1”’中的白色点数C1,即从左眼异样点图像h1”’的坐标(0,0)点开始,扫描该图像的所有像素点,对像素值为1的点求和,得到左眼中白色点数C1,并计算左眼中白色点数C1与32*16的信息比g1;

(10b)计算归一化后右眼异样点图像h2”’中的白色点数C2,即从右眼异样点图像h2”’的坐标(0,0)点开始,扫描该图像的所有像素点,对像素值为1的点求和,得到右眼中白色点数C2,并计算右眼中白色点数C2与32*16的信息比g2;

步骤11,判定是否有血丝和黑点。

(11a)设置判断黑点和血丝点的阈值G=0.6835;

(11b)比较g1与G的大小,若g1=<G,则判为左眼中有黑点,若1>g1>G,则判为左眼中有血丝,若g1=1,则判为左眼正常;

(11b)比较g2与G的大小,若g2=<G,则判为右眼中有黑点,若1>g2>G,则判为右眼中有血丝点,若g2=1,则判为右眼正常。

步骤12,在前置摄像头照相界面向用户提示判定结果。

使用者可根据手机的提示及时去医院就诊治疗,以免耽误病情,保护眼睛健康。

以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1