一种基于边缘检测的眼镜镜片虚拟试戴装置及方法与流程

文档序号:12462763阅读:285来源:国知局
一种基于边缘检测的眼镜镜片虚拟试戴装置及方法与流程

本发明涉及一种模拟眼镜试戴装置,更具体的说是涉及一种基于边缘检测的眼镜镜片虚拟试戴装置及方法。



背景技术:

随着生活水平的提高,人们对眼镜产品的要求也从单一的视力保健朝着多样化、时尚性、个性化转变,开始更注重眼镜的品牌、款式、颜色、材料等。然而,一些眼疾患者在眼镜店挑选镜架时难以看清自身的试戴效果,更不能预先看到各种镜片颜色的试戴效果,在镜架、镜片的选择上产生了一定的困难。

现有技术中以计算机为辅助工具,在原有业务逻辑的基础上,利用数字图像处理技术,包括图像合成、分割等关键技术,实现眼镜佩戴效果的预览。开发实现的交互式虚拟眼镜试戴网购系统具有方便、友好、直观的特点,创造了一种全新的眼镜在线定制模式,顾客得到了极大的满足。

这些虚拟眼镜试戴系统采用图像叠加技术,通过几何变换,将镜架投到人像上绘制合成效果展现给用户。但是,试戴过程并未对眼镜中的重要组成部分-镜片进行色彩处理,特别是对镜片颜色有多样化需求的消费者无法满足其对染色镜片效果的预览需求,且在试戴的对眼睛的定位检测也不够精准,很容易出现试戴失败的问题。



技术实现要素:

针对现有技术存在的不足,本发明的目的在于提供一种在试戴过程中对镜片进行有效的色彩处理,可以有效的完成人们的眼镜更好的一个模拟佩戴的基于边缘检测的眼镜镜片虚拟试戴装置及方法。

为实现上述目的,本发明提供了如下技术方案:一种基于边缘检测的眼镜镜片虚拟试戴装置,包括:

数据库(1),该数据库(1)内存放有用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据,用于供外部设备调用和处理;

数据处理器(2),该数据处理器(2)包括数据收集器(21)、图像处理器(22)和链接生成器(23),所述数据收集器(21)、图像处理器(22)、链接生成器(23)通过交互与数据库(1)耦接,所述数据收集器(21)用于收集用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据到数据库(1)内,所述图像处理器(22)调用数据库(1)内的用户信息数据、镜架信息数据和镜片颜色数据,通过用户信息数据解析出头像,对镜架信息数据进行边缘检测出镜框图像,之后利用镜片颜色数据对镜框内部进行染色,分别输出调整后的眼镜图像和头像;用户交互终端(3),用于与用户进行人机交互采集用户信息,该用户交互终端(3)还耦接于数据处理器(2),通过数据收集器(21)、图像处理器(22)和链接生成器(23)与数据库(1)相连接,用于发送采集到人的头像、用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据到数据收集器(21)内,还接收图像处理器(22)输出的眼镜图像和头像信息,并将眼镜图像与头像相结合显示出眼镜试戴效果头像。

作为本发明的进一步改进,所述用户交互终端包括:

UI模块,用于与用户进行交互输出用户指令,采集用户的头像和用户信息并输出,并将用户信息和试戴头像图像进行显示;

基本信息维护模块,耦接于UI模块,用于接收UI模块输出的用户的头像和用户信息,并耦接于数据收集器,将用户的头像和用户信息发送至数据收集器,其内预设有定时采集装置,该定时采集装置隔一段时间发送信号至UI模块,驱动UI模块采集用户信息;

信息管理模块,该信息管理模块包括头像信息管理模块和镜架信息管理模块,所述头像信息管理模块和镜架信息管理模块均于UI模块耦接,还与数据收集器耦接,用于接收UI模块输出的用户指令,并根据用户指令与数据收集器耦接,调整数据库内存放的用户信息数据、镜架信息数据;

信息处理模块,该信息处理模块包括试戴信息处理模块和试戴效果分享模块,所述试戴信息处理模块和试戴效果分享模块均与UI模块耦接,其中,试戴信息处理模块接收UI模块输出的试戴指令,还与图像处理器和数据收集器耦接,接收图像处理器输出的眼镜图像和头像,将眼镜图像和头像相结合显示出用户试戴着眼镜的头像图像,并输入试戴效果数据至数据库内,试戴效果分享模块接收UI模块输出的试戴效果分享指令,将数据库内的试戴效果通过链接生成器输出到外部网络。

本发明另一方面提供了一种使用上述装置的虚拟试戴方法,包括如下步骤:

步骤一,通过用户交互终端输入头像和镜架图片到数据库内;

步骤二,通过数据处理器对输入的头像图片进行人脸识别,若识别成功则进行下一步,识别失败则返回步骤一重新输入;

步骤三,通过数据处理器对经过步骤二识别后的头像图片进行瞳孔定位,定位头像图片中人脸的瞳孔位置;

步骤四,通过数据处理器对镜架图片进行平移和缩放调整,调整至符合头像图片中人脸适合佩戴的大小和位置;

步骤五,通过数据处理器对经过步骤四调整后的镜架图片识别其内的镜框边缘,输出二值镜架图像;

步骤六,依据步骤五中识别得出的二值镜架图像,通过数据处理器对镜框内进行颜色填充,完成镜片染色;

步骤七,将步骤六中染色完成的镜架图片与输入的头像图片,利用用户交互终端通过瞳孔位置结合佩戴,输出佩戴效果图像。

作为上述方法的进一步改进,所述步骤五中的镜框边缘识别步骤如下:

51,设在镜架图片上的像素点i和像素点j;

52,依据下述公式计算像素点i和像素点j的水平边缘的计算值Sx(i,j):Sx(i,j)=[RGB(i-1,j+1)+2*RGB(i,j+1)+RGB(i+1,j+1)]-[RGB(i-1,j-1)+2*RGB(i,j-1)+RGB(i+1,j-1)];

53,依据下述公式计算像素点i和像素点j的垂直边缘的计算值Sy(i,j):Sy(i,j)=[RGB(i-1,j-1)+2*RGB(i-1,j)+RGB(i-1,j+1)]-[RGB(i+1,j-1)+2*RGB(i+1,j)+RGB(i+1,j+1)];

54,将计算得到的水平边缘的计算值Sx(i,j)和垂直边缘的计算值Sy(i,j)相加得到镜框边缘的计算值S(i,j):

S(i,j)=Sx(i,j)+Sy(i,j);

55,设定镜框边缘的计算值的阈值Y,当S(i,j)的值大于Y时,则像素点(i,j)为边界点,令其颜色值为白色,否则该点为黑色,当S(i,j)的值小于Y时,二值图像中像素点(i,j)的值为白色,生成的镜架图像在该点的值为原图像的RGB值,否则为白色。

作为上述方法的进一步改进,所述Y的值为16。

作为上述方法的进一步改进,所述步骤六中的颜色填充采用遍历的扫描线方法进行填充,利用扫描线扫描二值镜架图像,当扫描线扫描的位置的二值图像由白变黑时,说明要进入镜片的不规则区域,开始填充镜片色彩,当该位置的二值图像由黑变白时,走出镜片区域,停止填充镜片色彩。

作为上述方法的进一步改进,所述步骤六中的颜色填充中渐变色镜片填充所采用的颜色算法如下:

61,设镜框中最高点纵坐标的值为y1,最低点值纵坐标的值为y2;

62,根据以下公式计算像素点(i,j)的渐变率grdient:grdient=(j–y1)/(y2–y1);

63,计算像素点(i,j)的颜色值RGBij(r,g,b),计算步骤包括:

计算颜色值RGBij(r,g,b)中的r,r=backij.r*grdient+g.r*(1-grdient);

计算颜色值RGBij(r,g,b)中的g,g=backij.g*grdient+b.g*(1-grdient);

计算颜色值RGBij(r,g,b)中的b,b=backij.b*grdient+r.b*(1-grdient);其中,backij为背景图片中像素点(i,j)RGB颜色值,r为红色值,g为绿色值,b为蓝色值。

作为上述方法的进一步改进,所述步骤七中的结合佩戴步骤如下:

71,进行图片叠加处理,将头像的人脸作为背景,将镜架图片作为前景,将两者进行叠加;

72,对经过71步骤叠加完成的图片进行均匀混色处理,将透明度alpha值设为30%,当头像像素点(i,j)的颜色值为f(i,j).color时,该像素的颜色合成结果值RGBij(r,g,b)中的r的值为:

r=f(i,j).COLOR.R+GColor.R*alpha;

g的值为:

g=f(i,j).COLOR.G+GColor.G*alpha;

b的值为:

b=f(i,j).COLOR.B+GColor.B*alpha;

其中,R为红色值,G为绿色值,B为蓝色值,GColor.R为眼镜红色取色值,GColor.G为眼镜绿色取色值,GColor.B为眼镜蓝色取色值。

本发明的有益效果,通过数据库的设置,就可以有效的存放用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据用来供外部的设备进行调用和处理计算了,而通过数据处理器的设置,就可以有效的调用数据库内的数据,对调用的数据进行有效的处理,利用图像处理器处理出试戴时需要准备的镜框图像和头像,通过用户交互终端的设置,便可以有效的将镜框图像和头像相互结合,完成头像带着眼镜的图像了,因而完成了眼镜的试戴,由于图像处理器在处理镜框图像的过程中,在完成对镜框图像的边缘检测处理之后,又对镜框内部进行染色调节的作用,因而相比现有技术中的试戴装置,定位检测更加的精准,且能够很好的满足对眼镜染色的试戴需求,另一方面,通过步骤一的设置可以有效的采集到用户信息数据和镜架信息数据,完成数据的准备,而通过步骤二的设置可以有效的从镜架信息数据中识别出人脸,为后期佩戴做准备,而通过步骤三、步骤四、步骤五和步骤六的设置,可以有效的完成对镜框图像的识别和染色,最后利用步骤七将人脸图像与镜框图像相结合,便可以完成对眼镜的试戴,由于步骤六的染色作用,实现人脸试戴镜框的时候,镜框内镜片是具有颜色的,因而可以满足现有技术中人们对染色镜片效果的预览需求,同时由于步骤三中实现了瞳孔定位,通过步骤五进行的边缘识别,因而在试戴的对眼睛的定位更加的准确,更好的避免了试戴失败的问题。

附图说明

图1为本发明的基于边缘检测的眼镜镜片虚拟试戴装置的模块图;

图2为本发明的虚拟试戴方法的步骤流程图。

具体实施方式

下面将结合附图所给出的实施例对本发明做进一步的详述。

参照图1所示,本实施例的一种基于边缘检测的眼镜镜片虚拟试戴装置,包括:数据库(1),该数据库(1)内存放有用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据,用于供外部设备调用和处理;

数据处理器(2),该数据处理器(2)包括数据收集器(21)、图像处理器(22)和链接生成器(23),所述数据收集器(21)、图像处理器(22)、链接生成器(23)通过交互与数据库(1)耦接,所述数据收集器(21)用于收集用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据到数据库(1)内,所述图像处理器(22)调用数据库(1)内的用户信息数据、镜架信息数据和镜片颜色数据,通过用户信息数据解析出头像,对镜架信息数据进行边缘检测出镜框图像,之后利用镜片颜色数据对镜框内部进行染色,分别输出调整后的眼镜图像和头像;用户交互终端(3),用于与用户进行人机交互采集用户信息,该用户交互终端(3)还耦接于数据处理器(2),通过数据收集器(21)、图像处理器(22)和链接生成器(23)与数据库(1)相连接,用于发送采集到人的头像、用户信息数据、镜架信息数据、镜片颜色数据和试戴效果数据到数据收集器(21)内,还接收图像处理器(22)输出的眼镜图像和头像信息,并将眼镜图像与头像相结合显示出眼镜试戴效果头像,在使用本实施例的装置试戴的过程中,首先利用用户交互终端3与试戴人员进行人机交互,采集试戴人员的用户信息数据,然后通过数据处理器2内的链接生成器23和数据收集器21的配合作用,与外界的互联网建立链接通信,采集外界互联网的镜架信息数据、镜片颜色数据,然后利用图像处理器22处理出染色后的镜框图像以及完成瞳孔定位的人脸图像,之后通过用户交互终端3对镜框图像和人脸图像进行结合,完成对眼镜的试戴,相比于现有技术中采用简单处理的方式,能够有效的满足用户对染色镜片效果的预览需求,而且是通过对镜架信息数据实行边缘检测以后才获得的镜框图像,因而后期用户交互终端3可以实现更为精准的定位试戴,并且通过链接生成器23的设置可以实现图像处理器22与数据库1和用户交互终端3之间的通信,还可以实现将试戴效果数据分享到外部的互联网上,进而可以实现其他的用户交互终端3的试戴效果分析的效果,增加了眼镜购买过程中的互动性。作为改进的一种具体实施方式,所述用户交互终端3包括:

UI模块31,用于与用户进行交互输出用户指令,采集用户的头像和用户信息并输出,并将用户信息和试戴头像图像进行显示;

基本信息维护模块32,耦接于UI模块31,用于接收UI模块31输出的用户的头像和用户信息,并耦接于数据收集器21,将用户的头像和用户信息发送至数据收集器21,其内预设有定时采集装置,该定时采集装置隔一段时间发送信号至UI模块31,驱动UI模块31采集用户信息;

信息管理模块33,该信息管理模块33包括头像信息管理模块331和镜架信息管理模块332,所述头像信息管理模块331和镜架信息管理模块332均于UI模块31耦接,还与数据收集器21耦接,用于接收UI模块31输出的用户指令,并根据用户指令与数据收集器21耦接,调整数据库1内存放的用户信息数据、镜架信息数据;

信息处理模块34,该信息处理模块34包括试戴信息处理模块341和试戴效果分享模块342,所述试戴信息处理模块341和试戴效果分享模块342均与UI模块31耦接,其中,试戴信息处理模块341接收UI模块31输出的试戴指令,还与图像处理器22和数据收集器21耦接,接收图像处理器22输出的眼镜图像和头像,将眼镜图像和头像相结合显示出用户试戴着眼镜的头像图像,并输入试戴效果数据至数据库1内,试戴效果分享模块342接收UI模块31输出的试戴效果分享指令,将数据库1内的试戴效果通过链接生成器23输出到外部网络,在用户交互终端3采集用户信息数据的过程中,是通过UI模块31显示出填写界面,然后让用户自行输入的方式,而通过基本信息维护模块32的设置可以定时的让用户输入新的数据,保证数据的实时性,避免数据过老导致的眼镜试戴失败的问题,而通过信息管理模块33的设置,可以实现用户对已经上传的头像和镜架款式信息进行更改,使得眼镜的试戴过程中更加的多变自由,最后通过信息处理模块34的设置,可以完成试戴效果的出示以及试戴效果的分析过程,本实施例中的UI模块31可以选用触摸屏31等具有显示和输入功能的设备,而信息管理模块33以及信息处理模块34均通过CPU来完成。

本发明提供了另一种实施方式,一种虚拟试戴方法,包括如下步骤:

步骤一,通过用户交互终端3输入头像和镜架图片到数据库1内;

步骤二,通过数据处理器2对输入的头像图片进行人脸识别,若识别成功则进行下一步,识别失败则返回步骤一重新输入;

步骤三,通过数据处理器2对经过步骤二识别后的头像图片进行瞳孔定位,定位头像图片中人脸的瞳孔位置;

步骤四,通过数据处理器2对镜架图片进行平移和缩放调整,调整至符合头像图片中人脸适合佩戴的大小和位置;

步骤五,通过数据处理器2对经过步骤四调整后的镜架图片识别其内的镜框边缘,输出二值镜架图像;

步骤六,依据步骤五中识别得出的二值镜架图像,通过数据处理器2对镜框内进行颜色填充,完成镜片染色;

步骤七,将步骤六中染色完成的镜架图片与输入的头像图片,利用用户交互终端3通过瞳孔位置结合佩戴,输出佩戴效果图像,在试戴眼镜的过程中,依次进行上述步骤,便可以利用步骤一采集数据,利用步骤二完成对数据的识别,识别出人脸,而通过步骤三可以实现人脸的瞳孔定位,之后通过步骤四可以调整镜框图片的大小,使得镜框大小与人脸相适配,而通过步骤五的设置可以实现镜框的边缘检测,实现对镜框的精准定位,可以避免试戴失败的问题,之后通过步骤六的设置可以在检测出镜框的情况下进行颜色填充,因而可以实现准确有效的颜色填充的效果,能够有效的满足用户对染色镜片效果的预览需求,最后通过步骤七的设置,就可以有效的完成试戴。

作为本发明的试戴方法改进的一种具体实施方式,所述步骤五中的镜框边缘识别步骤如下:

51,设在镜架图片上的像素点i和像素点j;

52,依据下述公式计算像素点i和像素点j的水平边缘的计算值Sx(i,j):Sx(i,j)=[RGB(i-1,j+1)+2*RGB(i,j+1)+RGB(i+1,j+1)]-[RGB(i-1,j-1)+2*RGB(i,j-1)+RGB(i+1,j-1)];

53,依据下述公式计算像素点i和像素点j的垂直边缘的计算值Sy(i,j):Sy(i,j)=[RGB(i-1,j-1)+2*RGB(i-1,j)+RGB(i-1,j+1)]-[RGB(i+1,j-1)+2*RGB(i+1,j)+RGB(i+1,j+1)];

54,将计算得到的水平边缘的计算值Sx(i,j)和垂直边缘的计算值Sy(i,j)相加得到镜框边缘的计算值S(i,j):

S(i,j)=Sx(i,j)+Sy(i,j);

55,设定镜框边缘的计算值的阈值Y,当S(i,j)的值大于Y时,则像素点(i,j)为边界点,令其颜色值为白色,否则该点为黑色,当S(i,j)的值小于Y时,二值图像中像素点(i,j)的值为白色,生成的镜架图像在该点的值为原图像的RGB值,否则为白色,通过计算出像素点的水平边缘的计算值,可以完成对镜框水平边缘的检测,而通过计算出像素点的垂直边缘的计算值,可以完成对镜框垂直边缘的检测,之后将两者进行相加的完成对整个镜框的边缘检测,并且在检测完成以后转换成二值图像,为后期的染色提供了很好的前提。

作为本发明的试戴方法改进的一种具体实施方式,所述Y的值为16或可以根据环境需求自动调整,Y为阈值,在这里设置成16,计算机解析图形的时候,是通过采用十六进制数据的方式来解析显示的,因而在这里设置成16就能够符合计算机图形显示的原理,为最佳数值。

作为本发明的试戴方法改进的一种具体实施方式,所述步骤六中的颜色填充采用遍历的扫描线方法进行填充,利用扫描线扫描二值镜架图像,当扫描线扫描的位置的二值图像由白变黑时,说明要进入镜片的不规则区域,开始填充镜片色彩,当该位置的二值图像由黑变白时,走出镜片区域,停止填充镜片色彩,采用扫描线填充的方式,可以实现完整填充,避免出现盲区未进行填充的问题,而利用黑白分界的方式,可以有效的避免填充时,填充区域过大或是区域过小的问题,保证了镜框内部镜片的高精度填充。

作为本发明的试戴方法改进的一种具体实施方式,所述步骤六中的颜色填充中渐变色镜片填充所采用的颜色算法如下:

61,设镜框中最高点纵坐标的值为y1,最低点值纵坐标的值为y2;

62,根据以下公式计算像素点i,j的渐变率grdient:grdient=(j–y1)/y2–y1;

63,计算像素点i,j的颜色值RGBij(r,g,b),计算步骤包括:

计算颜色值RGBij(r,g,b)中的r,r=backij.r*grdient+g.r*(1-grdient);

计算颜色值RGBij(r,g,b)中的g,g=backij.g*grdient+b.g*(1-grdient);

计算颜色值RGBij(r,g,b)中的b,b=backij.b*grdient+r.b*(1-grdient);其中,backij为背景图片中像素点i,jRGB颜色值,r为红色值,g为绿色值,b为蓝色值,计算机组合基色是红r、绿g和蓝b,计算机显示的图像中每一个像素点的颜色均是通过三个基色组合形成,因而在这里通过计算三个基色的颜色值,便可以有效的确定每个像素点的颜色,且由于现有的有些眼镜的颜色为渐变色的方式,因而在计算基色的颜色值的过程中结合计算得出的渐变率grdient计算,如此便可以有效的完成颜色的渐变填充,而通过镜框的最高点纵坐标的值y1,最低点值纵坐标的值y2,便可以有效的计算出镜框颜色的渐变率grdient,如此便可以实现镜框内镜片的颜色渐变填充了。

作为本发明的试戴方法改进的一种具体实施方式,所述步骤七中的结合佩戴步骤如下:

71,进行图片叠加处理,将头像的人脸作为背景,将镜架图片作为前景,将两者进行叠加;

72,对经过71步骤叠加完成的图片进行均匀混色处理,将透明度alpha值设为30%,当头像像素点(i,j)的颜色值为f(i,j).color时,该像素的颜色合成结果值RGBij(r,g,b)中的r的值为:

r=f(i,j).COLOR.R+GColor.R*alpha;

g的值为:

g=f(i,j).COLOR.G+GColor.G*alpha;

b的值为:

b=f(i,j).COLOR.B+GColor.B*alpha;

其中,R为红色值,G为绿色值,B为蓝色值,GColor.R为眼镜红色取色值,GColor.G为眼镜绿色取色值,GColor.B为眼镜蓝色取色值。通过对叠加完成的图片进行混色处理,便可以使得镜框与人脸之间的结合更加的协调,更加的贴近实际情况,使得试戴效果更加准确明显,用户就能够更好的通过试戴来选择眼镜了。

综上所述,本发明的虚拟试戴装置和方法,通过数据库1就可以存放数据,数据处理器2就可以有效的对数据库1内存放的数据进行有效的处理,处理出带有镜片眼镜的镜架图片以及头像,之后通过用户交互终端3的设置,就可以对处理后的图像进行结合,完成对眼镜的虚拟试戴,满足了人们对染色镜片效果的预览需求,以及对镜框边缘的准确检测识别了,避免了试戴失败的问题。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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