一种指甲识别方法、装置、美甲机及存储介质与流程

文档序号:17791772发布日期:2019-05-31 20:22阅读:463来源:国知局
一种指甲识别方法、装置、美甲机及存储介质与流程

本发明涉及美甲机打印技术领域,尤其涉及一种指甲识别方法、装置、美甲机及存储介质。



背景技术:

爱美之心人皆有之,越来越多的人们喜欢美甲,然而美甲需要去专门的美甲店由美甲师进行人工美甲,或者购置市场上现有的一些小型美甲机进行美甲;人工美甲不仅操作时间长、效率低,而且色彩质量和图案的质量和外观性也依赖于美甲师个人技能和审美能力,美甲效果无法保证。

美甲打印机是一种能够在手指指甲上画出图案的彩绘设备,它因具有美甲速度快,可以打印复杂多变的图像,打印图像清晰等优点,已得到广大爱美人士的喜爱。

现市场存在的美甲机,能在指甲上打印图案,但是需要人工辅助把美甲图案与指甲对准对齐,这无疑增大了美甲客户的操作难度;虽然已经出现一些通过图像识别算法识别出指甲区域,将美甲图案与指甲区域重叠,仅对与指甲区域重叠的部分图案进行打印,即仅对指甲轮廓范围的图案进行打印,但是,由于在进行指甲识别时不够准确,导致识别出的指甲区域存在缺块,进而导致打印的图案也存在缺块,影响打印效果。



技术实现要素:

本发明提供一种指甲识别方法、装置、美甲机及存储介质,解决了目前美甲机识别指甲区域精度不够高的技术问题,提高了指甲识别的准确度,用户体验好。

第一方面,本发明实施例提供一种指甲识别方法,该方法包括:

采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值;

在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值;

计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像;

将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

进一步地,所述将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像之前,还包括:

提取所述最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像;

所述将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像,具体为:

将所述指甲掩码拟合图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

示例性地,所述采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值,具体包括:

对指甲灰度图像进行局部阈值二值化处理,得到二值化指甲图像;

从所述二值化指甲图像中确定出满足预设区域特征的连通区域,所述连通区域为第一指甲掩码图像;

将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

进一步地,所述在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值之前,还包括:

获取所述第一指甲掩码图像中指甲区域的外接矩形坐标;

根据所述外接矩形坐标在所述指甲灰度图像中用第一标记线标记出指甲区域,并用第二标记线标记出背景区域。

示例性地,所述在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值,具体包括:

将所述第一标记线和所述第二标记线上的标记点作为分水岭分割算法的种子点;

采用分水岭分割算法在所述指甲灰度图像中分割出指甲区域,并进行二值化处理得到第二指甲掩码图像;

将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

具体地,所述计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像,具体包括:

计算所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素数量的比例值;

当所述比例值小于预设值时,则将所述第一指甲掩码图像和所述第二指甲图像掩码逻辑或运算的结果作为最终的指甲掩码图像;

当所述比例值大于或者等于预设值时,则将所述第一指甲掩码图像作为最终指甲掩码图像。

进一步地,所述提取所述最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像之前,还包括:

对所述最终指甲掩码图像中的指甲区域进行边缘平滑处理;

所述提取所述最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像,具体为:

提取所述边缘平滑处理后的最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像。

进一步地,所述对所述最终指甲掩码图像进行边缘平滑处理包括:

对所述最终指甲掩码图像进行全局阈值分割处理,得到阈值分割指甲掩码图像;

获取所述阈值分割指甲掩码图像的最小外接矩形,得到所述最小外接矩形的四个角坐标;

将所述最小外接矩形沿指甲长度方向分割为预设段数,分别获取每段所述最小外接矩形所对应的所述阈值分割指甲掩码图像中指甲区域的边缘点;

获取每段所述最小外接矩形对应的所述阈值分割指甲掩码图像中指甲区域的边缘点到达沿指甲长度方向一侧的两个角坐标连线的最小距离的像素点和最大距离的像素点;

将所有所述最小距离的像素点进行连线,且将所有所述最大距离的像素点进行连线,得到调整后的指甲掩码图像,所述连线上每个像素点的值与所述阈值分割指甲掩码图像中指甲区域的像素值一致;

对所述调整后的指甲掩码图像进行孔洞填充,得到无孔封闭的指甲掩码图像。

第二方面,本发明实施例提供一种指甲识别装置,该装置包括:

第一阈值分割模块,用于采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值;

第二阈值分割模块,用于在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值;

最终指甲掩码确定模块,用于计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像;

指甲分割模块,用于将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

第三方面,本发明实施例提供一种美甲机,所述美甲机包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的指甲识别程序,所述指甲识别程序被所述处理器执行时实现如上所述的指甲识别方法的步骤。

第四方面,本发明实施例提供一种存储介质,所述存储介质存储有指甲识别程序,所述指甲识别程序被处理器执行时实现如上所述的指甲识别方法的步骤。

本发明实施例公开了一种指甲识别方法、装置、美甲机及存储介质,通过两种图像分割方法分别对同一个指甲灰度图像进行指甲分割,得到两个指甲掩码图像,依据特定的规则确定出最终的指甲掩码图像,使得识别出的指甲掩码图像中的指甲区域更加贴近于指甲的真实形状,根据最终的指甲掩码图像和指甲灰度图像进行逻辑运算得到指甲分割图像,分割后的指甲图像更接近真实的指甲,识别准确度高,从而需要打印的与指甲区域相重叠的美甲图案也更接近于真实的指甲形状,打印到指甲上的图案铺满整个指甲,美甲效果更好,利于提高用户满意度。

附图说明

图1是本发明第一实施例提供的美甲机的模块结构示意图;

图2是本发明第二实施例提供的指甲识别方法的流程图;

图3是本发明第二实施例提供的获取最终指甲掩码图像的具体步骤的流程图;

图4是本发明第三实施例提供的指甲识别方法的流程图;

图5是本发明第三实施例提供的对指甲掩码图像中设定范围内的指甲边缘进行曲线拟合的具体步骤的流程图;

图6是本发明第四实施例提供的指甲识别方法的较佳实施例的流程图;

图7是本发明第四实施例提供的对最终指甲掩码图像中的指甲区域进行边缘平滑处理的方法流程图;

图8是本发明第五实施例提供的指甲识别方法的流程图;

图9是本发明第六实施例提供的一种在二值化指甲图像中确定指甲区域的方法流程图;

图10是本发明第七实施例提供的美甲机打印校准装置的较佳实施例的结构原理图;

图11为本发明第八实施例提供的美甲机的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

图1为本发明第一实施例提供的美甲机的模块结构示意图。请参阅图1,该美甲机1包括显示屏2、指甲托(图未示)、摄像装置3、控制模块4和打印装置5。显示屏2、摄像装置3、打印装置5都和控制模块4电性连接。指甲托用于放入用户的指甲,摄像装置3对用户的手指进行摄像或者拍照,控制模块4根据摄像装置对用户的手指拍摄的视频或者照片识别出指甲的位置、形状和尺寸,具体的识别方法在下述实施例中进行详细阐述。打印装置5用于根据控制模块4的控制在控制模块4识别出来的用户指甲轮廓上进行美甲图案打印,即打印装置5只对用户指甲轮廓对应的部分美甲图案进行喷墨打印,对于用户指甲轮廓以外的部分图案不进行喷墨。显示屏2用于显示用户手指画面、显示待打印图案以及对用户指甲进行美甲图案打印的过程,待打印图案为用户从美甲图案中选中的一幅用于打印的图案。

本发明实施例提供的美甲机通过控制模块4识别出用户指甲轮廓,并控制打印装置5仅对与指甲轮廓重叠的部分图案进行打印,对于指甲轮廓以外的图案不喷墨打印,节省了油墨,降低了打印成本。而且在显示屏上显示用户手指和对用户指甲进行美甲图案打印的过程,打印过程用户可视,可以直观看到美甲打印的过程,用户交互性和体验好,可以看到打印的进程,用户不会一无所知的焦急等待,而可以直观的看到打印的进度,利于提高用户满意度。

实施例二

图2是本发明第二实施例提供的指甲识别方法的流程图。请参阅图2,本发明第二实施例以前述实施例为基础,该指甲识别方法可通过硬件和/或软件的方式来实现,并通常集成于美甲机中,如本公开第一实施例的美甲机,用于识别出进行需要美甲的用户手指的指甲。具体地,如图2所示,该指甲识别方法包括以下步骤:

步骤s101、采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

通常在美甲前会在用户指甲上涂甲油胶,甲油胶颜色与指甲托周围环境以及手指颜色不同,以较好的识别出指甲区域。用户将手指放置于指甲托上,美甲机中的摄像装置(例如摄像头)可以采集到对应的包含手指指甲的彩色图像,为了减少图像信息,加快后续处理速度,美甲机对包含手指指甲的彩色图像采用灰度处理技术进行图像灰度化处理得到指甲灰度图像。美甲机上安装的摄像头也可以为灰度摄像头,灰度摄像头采集到的图像为灰度图像。

在步骤s101之前还有获取的指甲灰度图像的步骤,获取的指甲灰度图像的宽度值和高度值为预设比值的指甲灰度图像,例如,所述指甲灰度图像的预设比值为2:3,并将所述指甲灰度图像缩放到200*300,单位为像素。

本实施例中,第一指甲掩码图像是指包含所要处理的指甲区域的二值化图像,二值化图像中多个像素点的像素值仅由“0”和“255”组成,像素值为“255”的指甲区域可以被处理,像素值为“0”的其他区域不作处理。二值化指甲图像是每个像素点的灰度值仅有两种可能的取值或灰度等级状态,也就是黑白图像。本实施例中,第一指甲掩码图像为二值化图像,第一像素值设置为255,也即第一指甲掩码图像中的指甲区域为白色;第一指甲掩码图像中指甲区域以外的区域为背景区域,背景区域的像素值设置为0,也即第一指甲掩码图像中指甲区域以外的区域为黑色。

第一图像分割方法可以为基于阈值的分割方法,例如局部阈值分割算法,成熟的基于阈值的图像分割方法较多,这里仅是举例说明,并不作为对本技术方案的限制,只要能从指甲灰度图像中分割出指甲区域即可。

在一实施例中,通过美甲机中的摄像装置可以采集到包含手指指甲的待处理的指甲灰度图像,为了减少采集过程中可能存在的多种因素的影响,本实施例中可以对获取的待处理的指甲灰度图像作中值滤波处理,目的是降低所采集的指甲灰度图像中椒盐噪声的污染,例如采用5*5的中值滤波方法;对滤波后的图像还可以再作高斯滤波处理,降低高斯噪声对所采集的指甲灰度图像的影响,例如采用3*3的高斯滤波方法。中值滤波和高斯滤波均为图像处理常用的方法,这里不再展开详述。

步骤s102、对所述指甲灰度图像中与所述第一指甲掩码图像中的指甲区域对应的区域采用第二图像分割方法进行分割,并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

本实施例中,第二指甲掩码图像是指包含所要处理的指甲区域的二值化图像,二值化图像中多个像素点的像素值仅由“0”和“255”组成,像素值为“255”的指甲区域可以被处理,像素值为“0”的其他区域不作处理。

第二图像分割方法与第一图像分割方法为不同的图像分割方法,本实施例中可以为基于区域的分割方法,例如分水岭分割算法,成熟的基于区域的图像分割方法较多,这里仅是举例说明,并不作为对本技术方案的限制,只要能从指甲灰度图像中分割出指甲区域即可。

本实施例中,第一图像分割方法和第二图像分割方法在同一幅指甲灰度图像中进行对指甲区域分割。由于第一指甲掩码图像的尺寸与指甲灰度图像的尺寸一致,因此,第一指甲掩码图像中指甲区域的位置与指甲灰度图像中指甲区域的位置相同。

对指甲灰度图像中与第一指甲掩码图像中指甲区域对应的区域使用第二图像分割方法进行分割,得到第二指甲掩码图像。本实施例中,第二指甲掩码图像是指包含所要处理的指甲区域的二值化图像,第一像素值设置为255,也即第二指甲掩码图像中的指甲区域为白色;第一指甲掩码图像中指甲区域以外的区域为背景区域,背景区域的像素值设置为0,也即第一指甲掩码图像中指甲区域以外的区域为黑色。

步骤s103、计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像。

本实施例中,第一像素值为255,即指甲区域为白色。指甲区域之外的白色像素点为第二图像分割方法在指甲灰度图像中进行指甲区域分割时误将背景区域划分为指甲区域,从而在对分割后的灰度图像进行二值化处理时将该像素值设置为255,使得真实的指甲区域之外存在白色的像素点。比例值表示第二图像分割方法在进行指甲区域分割时,将背景区域误认为是指甲区域的像素数量占比。比例值越大,说明第二图像分割方法将较多的背景区域误认为是指甲区域,分割结果不准确,根据比例值的范围根据第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像,该最终指甲掩码图像中分割得到的指甲区域较为准确。

在一实施例中,图3是本发明第二实施例提供的获取最终指甲掩码图像的具体步骤的流程图。如图3所示,获取最终指甲掩码图像的具体步骤如下:

s1031、计算所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素数量的比例值。

本实施例中,第一像素值为255,首先,统计出第二指甲掩码图像中指甲区域之外的白色像素点(像素值为255)的个数。然后,统计出第二指甲掩码图像中指甲区域之外的所有像素数量。最后,计算二者的比例值。

具体地,获取第二指甲掩码图像中指甲区域的外接矩形,统计第二指甲掩码图像中外接矩形之外的像素值为255的像素个数为white_sum;统计出第二指甲掩码图像中外接矩形之外的所有像素点的个数为image.rows*image.cols–width*height;其中,image.rows表示第二指甲掩码图像的高度,image.cols表示第二指甲掩码图像的宽度,width表示外接矩形的宽度,height表示外接矩形的高度;计算出第二指甲掩码图像中外接矩形之外白色像素点个数与外接矩形之外所有像素点个数的比值:

ratio=white_sum/(image.rows*image.cols–width*height)。

在一实施例中,在第二指甲掩码图像中可以根据该指甲区域的大小尺寸等,确定出该指甲区域的外接矩形,此时可以通过opencv图像处理函数库里的外接矩形的处理函数,得到在第二指甲掩码图像中,该指甲区域的外接矩形不同边上的像素点的像素坐标,也就是外接矩形坐标。根据第二指甲掩码图像中每个像素点的像素坐标以及外接矩形不同边上的像素点的像素坐标可以计算出外接矩形之外的白色像素点的个数以及外接矩形之外的所有像素点的个数。

s1032、当所述比例值小于预设值时,则将所述第一指甲掩码图像和所述第二指甲图像掩码逻辑或运算的结果作为最终的指甲掩码图像。

指甲区域之外的白色像素点为第二图像分割方法在指甲灰度图像中进行指甲区域分割时误将背景区域划分为指甲区域,从而在对分割后的灰度图像进行二值化处理时将该像素值设置为255,使得真实的指甲区域之外存在白色的像素点,根据白色像素点与指甲区域之外所有像素点的比例值可以判断第二图像分割方法的准确度,是否将大片的背景区域错误划分为指甲区域。

本实施例中,比例值可以为0.1,这里仅是举例说明,并不作为对本技术方案的限制,根据需要也可以设置为其他数值。

比例值表示第二图像分割方法在进行指甲区域分割时,将背景区域误认为是指甲区域的像素数量占比。比例值越大,说明第二图像分割方法将较多的背景区域误认为是指甲区域,分割结果不准确。当比例值小于预设值时,说明第二图像分割方法分割结果误差小,此时,取第一指甲掩码图像与第二指甲掩码图像做逻辑或运算,即第一指甲掩码图像中的指甲区域与第二指甲掩码图像中的指甲区域取并集,也即,第一指甲掩码图像中和第二指甲掩码图像中像素值分别为255的像素点在运算后该像素点的值仍为255,像素值均为0的像素点运算后为0。通过第二指甲掩码图像的指甲区域对第一指甲掩码图像中的指甲区域进行边缘的调整,使得最终指甲掩码图像中的指甲区域更为准确。

s1033、当所述比例值大于或者等于预设值时,则将所述第一指甲掩码图像作为最终指甲掩码图像。

当比例值大于或者等于预设值时,说明第二图像分割方法将较多的背景区域误认为是指甲区域,分割结果不准确。那么取第一指甲掩码图像作为最终的指甲掩码图像。

步骤s104、将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

本实施例中,最终指甲掩码图像为所述第一指甲掩码图像和所述第二指甲掩码图像逻辑或运算的结果或者为第一指甲掩码图像;当最终指甲掩码图像为所述第一指甲掩码图像和所述第二指甲掩码图像逻辑或运算的结果时,将该结果与所述指甲灰度图像做逻辑与运算,得到指甲分割图像;当最终指甲掩码图像为第一指甲掩码图像时,将所述第一指甲掩码图像与所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

在得到最终指甲掩码图像后,可以确定最终指甲掩码图像中的指甲区域内的全部像素点的灰度值均为“255”,而背景区域内的全部像素点的灰度值均为“0”,此时在该最终指甲掩码图像中可以直接确定出对应的指甲区域,根据该指甲区域在最终指甲掩码图像中的位置可以确定出指甲区域对应在指甲灰度图像中的位置,此时可以将最终指甲掩码图像中的指甲区域内的像素灰度值填充为指甲灰度图像中对应位置处的灰度值,从而得到指甲分割图像。相应的,也就是对最终指甲掩码图像与指甲灰度图像中每个对应位置处像素点的灰度值进行比对,对最终指甲掩码图像中背景区域内灰度值为“0”的像素点灰度值保持不变,而对最终指甲掩码图像中指甲区域内灰度值为“255”的像素点灰度值修改为指甲灰度图像中对应位置处的像素点灰度值,从而得到对应的指甲分割图像。

本实施例提供的指甲识别方法通过两种图像分割方法分别对同一个指甲灰度图像进行指甲分割,得到两个指甲掩码图像,依据特定的规则确定出最终的指甲掩码图像,排除指甲分割偏差较大的情况,使得识别出的指甲掩码图像中的指甲区域更加贴近于指甲的真实形状,根据最终的指甲掩码图像和指甲灰度图像进行逻辑运算得到指甲分割图像,分割后的指甲图像更接近真实的指甲,识别准确度高,从而需要打印的与指甲区域相重叠的美甲图案也更接近于真实的指甲形状,打印到指甲上的图案铺满整个指甲,美甲效果更好,利于提高用户满意度。

实施例三

图4是本发明第三实施例提供的指甲识别方法的流程图。本实施例是在上述实施例提供的技术方案的基础上进行说明。请参阅图4,本发明采用的指甲识别方法具体包括如下步骤:

s201、采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

s202、在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

s203、计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像。

s204、提取所述最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像。

其中,边缘曲线拟合是通过连续的曲线近似地刻画或比拟指甲掩码图像中的指甲区域边缘的多个离散像素点,也就是对指甲掩码图像中的指甲边缘进行平滑处理。

由于本实施例中所采集的指甲灰度图像中的指甲区域与手指皮肤接触,对于美甲机中像素较低的采集设备而言,所得到的指甲掩码图像中的指甲边缘可能会存在凹凸不平的情况,为了优化后续的指甲分割结果,需要对指甲掩码图像中的指甲边缘进行平滑处理,以得到光滑的指甲区域。本实施例中可以通过opencv图像处理函数库里的像素坐标点获取函数来提取指甲掩码图像中处于指甲边缘的多个像素点的坐标,作为最小二乘法的边缘曲线的拟合散点,采用最小二乘法曲线拟合算法,对指甲掩码图像中的指甲区域进行边缘曲线拟合,得到指甲掩码边缘平滑处理后的指甲掩码拟合图像,以便于后续指甲图像的分割。

在一实施例中,由于用户的指甲一般仅在指甲底部区域需要与用户手指皮肤接触,此处的指甲边缘较大情况下会出现不平滑的现象,而指甲上半部分没有皮肤干扰,由指甲刀修剪后一般都比较平滑,较少出现不平滑的现象,因此为了减少边缘曲线拟合过程中的数据处理量,提高拟合效率,一般仅对指甲掩码图像中设定范围内的指甲边缘进行曲线拟合。本实施例中,满足预设条件的边缘点即为指甲底部与用户手指皮肤接触部分的边缘点,这里仅是举例说明,并不作为对本技术方案的限制。图5是本发明第三实施例提供的对指甲掩码图像中设定范围内的指甲边缘进行曲线拟合的具体步骤的流程图。如图5所示,具体包括如下步骤:

s2041,获取最终指甲掩码图像中的指甲区域对应的外接矩形。

由于本次边缘曲线拟合仅对最终指甲掩码图像中部分边缘进行曲线拟合,此时需要确定位于该部分边缘内的边缘像素点,因此本实施例中首先需要根据该最终指甲掩码图像中的指甲区域的大小尺寸等因素,确定该最终指甲掩码图像中的指甲区域对应的外接矩形。

s2042,根据最终指甲掩码图像中指甲区域对应的外接矩形上预设坐标原点,确定最终指甲掩码图像中位于指甲区域预设范围内的边缘点集合。

在一实施例中,在得到最终指甲掩码图像中的指甲区域的的外接矩形后,可以通过opencv图像处理函数库里的外接矩形的处理函数,得到该外接矩形相对于该最终指甲掩码图像中的多个像素点的坐标值,并在外接矩形的全部像素点中确定出预设坐标原点,该预设坐标原点可以是外接矩形中具有代表性的像素点,如外接矩形中的4个顶角对应的像素点。在确定预设坐标原点后,可以根据该预设坐标原点的坐标值与该外接矩形的长、宽等信息,确定出预先设定的最终指甲掩码图像中的指甲区域底部预设范围所在区域,从而获取最终指甲掩码图像中位于最终指甲掩码图像中的指甲区域底部预设范围内的全部边缘点,得到对应的位于最终指甲掩码底部预设范围内的边缘点集合。

示例性的,将预设坐标原点设定为外接矩形的左上顶角对应的像素点,此时直接得到左上顶角所在的像素点坐标为(pt.x,pt.y),外接矩形的宽为width,高为height,根据左上顶角所在的像素点坐标(pt.x,pt.y)可以确定指甲区域预设范围为最终指甲掩码图像中的边缘点坐标中的纵坐标满足:y>pt.y+2*height/3的区域,此时直接提取出最终指甲掩码图像中边缘点坐标的纵坐标满足y>pt.y+2*height/3的全部边缘点,得到最终指甲掩码图像中位于指甲区域预设范围内的边缘点集合,作为本次边缘曲线拟合的拟合散点。

s2043,对边缘点集合进行边缘曲线拟合,得到指甲掩码拟合图像。

在一实施例中,在得到指甲掩码图像中位于指甲区域预设范围内的边缘点集合后,可以采用最小二乘法曲线拟合算法,对该边缘点集合中的全部边缘点进行曲线拟合,从而得到对应的指甲掩码拟合图像。

s205、将所述指甲掩码拟合图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

本实施例中,在得到边缘平滑的指甲掩码拟合图像后,可以确定指甲掩码拟合图像中的指甲区域内的全部像素点的灰度值均为“255”,而背景区域内的全部像素点的灰度值均为“0”,此时在该指甲掩码拟合图像中可以直接确定出对应的指甲区域,根据该指甲区域在指甲掩码拟合图像中的位置可以确定出指甲区域对应在指甲灰度图像中的位置,此时可以将指甲掩码拟合图像中的指甲区域内的像素灰度值填充为指甲灰度图像中对应位置处的灰度值,从而得到指甲分割图像。相应的,也就是对指甲掩码拟合图像与指甲灰度图像中每个对应位置处像素点的灰度值进行比对,对指甲掩码拟合图像中背景区域内灰度值为“0”的像素点灰度值保持不变,而对指甲掩码拟合图像中指甲区域内灰度值为“255”的像素点灰度值修改为指甲灰度图像中对应位置处的像素点灰度值,从而得到对应的指甲分割图像。

需要说明的是,步骤s201、s202、s203和s205的详细内容请参阅实施例二对应的步骤,这里不再赘述。

本实施例提供的指甲识别方法,通过两种图像分割方法分别对同一个指甲灰度图像进行指甲分割,得到两个指甲掩码图像,依据特定的规则确定出最终的指甲掩码图像,并对最终指甲掩码图像中的指甲区域进行边缘曲线拟合,使得指甲掩码拟合图像中的指甲边缘较为光滑,然后指甲掩码拟合图像和指甲灰度图像做逻辑与运算,得到指甲分割图像,分割得到的指甲区域边缘光滑,减少凹凸不平的情况,提高指甲识别的准确度。可以使得美甲图案与对应的指甲分割图像自动对准对齐,无需人工辅助对准对齐,简化美甲客户的美甲操作,降低指甲分割的操作复杂度,提高美甲效率和美甲效果。

实施例四

图6是本发明第四实施例提供的指甲识别方法的流程图。本实施例是在上述实施例提供的技术方案的基础上进行说明。请参阅图6,本发明采用的指甲识别方法具体包括如下步骤:

s301、采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

s302、在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

s303、计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像。

s304、对所述最终指甲掩码图像中的指甲区域进行边缘平滑处理。

指甲分割算法分割结果的准确性受周围环境以及光亮度的影响较大,前述得到的最终指甲掩码图像虽然一定程度上对分割得到的指甲区域进行了优化,但最终指甲掩码图像中的指甲区域边缘可能还是存在较大的凹凸不平的情况,因此,需要对最终指甲掩码图像中的指甲区域进行边缘平滑处理。

图7是本发明第四实施例提供的对最终指甲掩码图像中的指甲区域进行边缘平滑处理的方法流程图。本实施例中,对最终指甲掩码图像中的指甲区域进行边缘平滑处理具体包括如下步骤:

s3041、对所述最终指甲掩码图像进行全局阈值分割处理,得到阈值分割指甲掩码图像。

本实施例中,在得到对应的最终指甲掩码图像后,为了提高后续进行边缘曲线拟合操作时的拟合效率,消除对应的干扰误差,本实施例中可以对最终指甲掩码图像作均值滤波处理,使最终指甲掩码图像中指甲区域的边缘模糊化,例如采用15*15的窗口进行均值滤波处理;同时对均值滤波处理后的最终指甲掩码图像进行全局阈值二值化处理,也就是为整个最终指甲掩码图像设定一个整体的全局二值化阈值,并根据该全局二值化阈值对最终指甲掩码图像再次进行二值化处理,得到边缘较为平滑的指甲掩码,也就是处理后的最终指甲掩码图像,后续对该处理后的最终指甲掩码图像进行边缘曲线拟合处理。

示例性的,设定全局二值化阈值为127,根据该全局二值化阈值对最终指甲掩码图像作二值化处理,也就是将最终指甲掩码图像中像素灰度值小于127的像素点的像素灰度值修改为“0”,将大于或者等于127的像素点的像素灰度值修改为“255”。

s3042、获取所述阈值分割指甲掩码图像的最小外接矩形,得到所述最小外接矩形的四个角坐标。

最小外接矩形为包含阈值分割指甲掩码图像中指甲区域的最小外接矩形。

在一实施例中,在阈值分割指甲掩码图像中确定出对应的指甲区域后,可以根据该指甲区域的大小尺寸等,确定出该指甲区域的最小外接矩形,此时可以通过opencv图像处理函数库里的最小外接矩形的处理函数,得到在阈值分割指甲掩码图像中,该指甲区域的外接矩形的四个顶点角坐标。

s3043、将所述最小外接矩形沿指甲长度方向分割为预设段数,分别获取每段所述最小外接矩形所对应的所述阈值分割指甲掩码图像中指甲区域的边缘点。

将最小外接矩形按指甲长度方向分成预设段数形成预设个数的矩形,分别提取每段矩形中对应的部分指甲区域的边缘点。示例性地,可以将最小外接矩形沿指甲长度方向平均分割为三段,得到三个相同的小矩形,然后获取每段矩形中对应的部分指甲区域的边缘点。

一实施例中,也可以先获取指甲区域的所有边缘点,然后对最小外接矩形进行划分。

s3044、获取每段所述最小外接矩形对应的所述阈值分割指甲掩码图像中指甲区域的边缘点到达沿指甲长度方向一侧的两个角坐标连线的最小距离的像素点和最大距离的像素点。

本实施例中,指甲沿上下方向延伸,宽度为左右方向。以指甲区域最小外接矩形左侧的上下两个角坐标确定一条直线,分别获取最小外接矩形分段后每个矩形中指甲区域边缘点到达前述直线的距离为最小距离的像素点坐标以及最大距离的像素点坐标,即每个矩形确定一个到达前述直线为最小距离的像素点的坐标和一个到达前述直线为最大距离的像素点的坐标,共获取三个最小距离像素点坐标和三个最大距离像素点坐标。一些实施例中,也可以用指甲区域最小外接矩形右侧的上下两个坐标确定一条直线,这里仅是举例说明,不作为对本技术方案的限制。

s3045、将所有所述最小距离的像素点进行连线,且将所有所述最大距离的像素点进行连线,得到调整后的指甲掩码图像,所述连线上每个像素点的值与所述阈值分割指甲掩码图像中指甲区域的像素值一致。

本实施例中,将前述步骤获取的三个最小距离像素点进行连线,将三个最大距离像素点进行连线,连线靠近指甲区域的一侧归为指甲区域,且连线上每个像素点的像素值设置为指甲区域的像素值。例如,指甲区域的像素值为255,那么连线上的像素值全部设置为255。通过将指甲区域两侧三段中最外缘的像素点分别进行连线,对指甲区域两侧边缘的凹凸部位进行调整,使得边缘更加圆滑。

s3046、对所述调整后的指甲掩码图像进行孔洞填充,得到无孔封闭的指甲掩码图像。

前述将三个最小距离像素点进行连线,将三个最大距离像素点进行连线之后,会有一部分背景区域被连线划分到指甲区域一侧,形成一些孔洞,因此,对位于连线靠近指甲区域一侧的孔洞填充为与指甲区域像素值相同。例如,指甲区域的像素值为255,那么,孔洞的像素值填充为255(即白色),填充后的指甲掩码图像中的指甲区域形成一个无孔封闭的指甲区域。

示例性地,获取阈值分割指甲掩码图像中指甲区域最小外接矩形的四个角坐标,将四个角坐标从左下角顺时针排序存入数组pts中。提取最终指甲掩码图像中指甲区域的所有边缘点,将最小外接矩形沿指甲长度方向均分成三个矩形,将上端矩形对应的指甲区域的边缘点存入数组vec_up中,将中间矩形对应的指甲区域的边缘点存入数组vec_mid中,将下端矩形对应的指甲区域的边缘点存入数组vec_down中。有pts[0]和pts[1]确定一条直线l,计算数组vec_up中到直线l的距离,确定出距离直线l最近的像素点point1和距离直线l最远的像素点point2;同理确定出数组vec_mid中距离直线l最近的像素点point3和距离直线l最远的像素点point4;同理确定出数组vec_down中距离直线l最近的像素点point5和距离直线l最远的像素点point6;在阈值分割指甲掩码图像中用白色线连接point1、point3和point5,同时用白色线连接point2、point4和point6,然后对连线调整后的阈值分割指甲掩码图像进行孔洞填充,得到孔洞填充后的阈值分割指甲掩码图像即经过边缘平滑处理后的最终指甲掩码图像。

s305、提取所述边缘平滑处理后的最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像。

对经过边缘平滑处理后的最终指甲掩码图像的指甲区域进行边缘曲线拟合,消除了对应的干扰误差,边缘曲线拟合操作时的拟合效率更高。

s306、将所述指甲掩码拟合图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

其中,步骤s301、s302、s303、s305和s306的详细内容参照前述实施例的对应阐述,这里不再赘述。

本实施例提供的指甲识别方法,通过两种图像分割方法分别对同一个指甲灰度图像进行指甲分割,得到两个指甲掩码图像,依据特定的规则确定出最终的指甲掩码图像,并对最终指甲掩码图像中的指甲区域进行边缘平滑处理,消除对应的干扰误差,提高边缘曲线拟合操作时的拟合效率,然后对边缘平滑处理后的最终指甲掩码图像进行边缘曲线拟合,使得指甲掩码拟合图像中的指甲边缘较为光滑,然后指甲掩码拟合图像和指甲灰度图像做逻辑与运算,得到指甲分割图像,分割得到的指甲区域边缘光滑,减少凹凸不平的情况,提高指甲识别的准确度。可以使得美甲图案与对应的指甲分割图像自动对准对齐,无需人工辅助对准对齐,简化美甲客户的美甲操作,降低指甲分割的操作复杂度,提高美甲效率和美甲效果。

实施例五

图8是本发明第五实施例提供的指甲识别方法的流程图。请参阅图8,本发明第五实施例以前述实施例为基础,旨在说明获取第一指甲掩码图像和第二指甲掩码图像的过程,该指甲识别方法具体包括如下步骤:

s401、对指甲灰度图像进行局部阈值二值化处理,得到二值化指甲图像。

一实施例中,为了减少光亮不均等因素在指甲灰度图像中的影响,对指甲灰度图像进行处理得到二值化指甲图像,在步骤s401之前可以包括:获取待处理的指甲灰度图像;。

在一实施例中,通选用局部自适应阈值对指甲灰度图像进行二值化处理,也就是根据指甲灰度图像中每个像素点的周围邻域块内的像素值分布来确定每个像素点位置上的二值化局部自适应阈值。此时可以保证指甲灰度图像中每个像素点位置处的二值化阈值不是固定不变的,而是由所述每个像素点的周围邻域像素的分布决定的。指甲灰度图像中亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小,不同亮度、对比度、纹理的局部图像区域将会拥有相对应的二值化局部自适应阈值。通过对指甲灰度图像中每个像素点的像素值与确定的该像素点对应的局部自适应阈值进行比对,进行对应的二值化处理,得到二值化指甲图像。采用局部阈值分割方法对指甲灰度图像进行分割,抗干扰性强,准确度更高。

常用的局部自适应阈值有:1)局部邻域块的均值;2)局部邻域块的高斯加权和等。局部自适应阈值的确定可以将指甲灰度图像分割为多个区域块,每个区域块可以确定一个二值化阈值。

s402、从所述二值化指甲图像中确定出满足预设区域特征的连通区域,所述连通区域为第一指甲掩码图像。

本实施例中,连通区域为二值化指甲图像中具有相同像素值的像素点围成的闭合区域,本实施例中将背景色设置为“0”,填充为黑色;将前景色设置为“255”填充为白色;此时连通区域也就是二值化指甲图像中白色封闭的闭合连通域。

在一实施例中,预设区域特征为根据普遍美甲客户的指甲大小与在美甲机中的所处的位置范围,预先设定的连通区域的外接矩形的面积、长宽比例以及区域位置等特征范围。

在一实施例中,在获取到该二值化指甲图像中存在的全部连通区域后,为了在全部连通区域中选取出对应的指甲区域,首先需要分析每个连通区域的外接矩形的至少一类区域特征,并通过根据指甲普遍大小与指甲在美甲机中的位置范围预先设定的预设区域特征判断每个连通区域的区域特征是否满足该预设区域特征,将连通区域的特征满足该预设区域特征的连通区域确定为指甲区域,以便根据该指甲区域的位置进行后续的图像分割处理。

s403、将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

本实施例中,第一指甲掩码图像包括指甲区域和指甲区域以外的背景区域。第一像素值设置为255,即指甲区域为白色;背景区域的像素值设置为0,即背景区域为黑色。

s404、获取所述第一指甲掩码图像中指甲区域的外接矩形坐标。

其中,连通区域的外接矩形为在第一指甲掩码图像中能够对应包围出该连通区域,并与该连通区域中最外围的的像素点相交的标准正向的矩形框。

在一实施例中,在第一指甲掩码图像中确定出对应的指甲区域后,可以根据该指甲区域的大小尺寸等,确定出该指甲区域的外接矩形,此时可以通过opencv图像处理函数库里的外接矩形的处理函数,得到在第一指甲掩码图像中,该指甲区域的外接矩形不同边上的像素点的像素坐标,也就是外接矩形坐标。

s405、根据所述外接矩形坐标在所述指甲灰度图像中用第一标记线标记出指甲区域,并用第二标记线标记出背景区域。

本实施例中,在得到指甲区域的外接矩形坐标后,可以根据该外接矩形坐标分别确定出位于该外接矩形内的一条线段和位于该外接矩形外的一条线段,此时将该外接矩形内的一条线段作为第一标记线,并在指甲灰度图像中将该第一标记线所处的位置处标记出来;将位于该外接矩形外的一条线段作为第二标记线,并在指甲灰度图像中将该第二标记线所处的位置处标记出来,也就是在指甲灰度图像中的对应位置分别画出第一标记线和第二标记线,从而用第一标记线标记出指甲区域,并用第二标记线标记出背景区域。

在一实施例中,在指甲灰度图像中确定两条标记线的过程中,可以首先确定第一指甲掩码图像中指甲区域的外接矩形,并通过opencv图像处理函数库里的函数直接得到该外接矩形的多个顶角所在的像素点坐标以及外接矩形的宽和高等像素长度信息,本实施例中以外接矩形左上顶角的像素点坐标对确定的标记线进行说明,如外接矩形的左上顶角所在的像素点坐标为(pt.x,pt.y),宽为width,高为height,此时通过在指甲灰度图像中的像素点(pt.x+width/4,pt.y+height/2)和像素点(pt.x+3*width/4,pt.y+height/2)之间画一条线段,作为第一标记线,标记出指甲灰度图像中的指甲区域;并在指甲灰度图像中的像素点(0,pt.y+2*height/3)和像素点(pt.x-2,pt.y+2*height/3)之间也画一条线段,作为第二标记线,标记出指甲灰度图像中的背景区域,以便后续在指甲灰度图像中分割出对应的指甲区域,并对分割后的指甲灰度图像进行二值化处理以得到指甲掩码图像。

s406、将所述第一标记线和所述第二标记线上的标记点作为分水岭分割算法的种子点。

本实施例中通过在指甲灰度图像上将已经画好的第一标记线和第二标记线中的多个标记点作为分水岭分割算法的种子点,以此确定指甲区域与背景区域之间的边界线,也就是对应的分水岭。

s407、采用分水岭分割算法在所述指甲灰度图像中分割出指甲区域,并进行二值化处理得到第二指甲掩码图像。

分水岭分割算法是一种区域分割法,利用指甲灰度图像的空间性质,以像素点之间的相似性为依据,根据不同的分割准则进行图像分割,将指甲灰度图像中的图像特征看作地理上的地貌特征,利用像素的灰度值分布特征,对每个符合特征的区域进行划分,形成边界以构成分水岭,进行图像分割,分割出指甲区域后,对分割后的指甲灰度图像进行二值化得到第二指甲掩码图像。

本实施例中通过分水岭分割算法,在指甲灰度图像中分割出对应的指甲区域,并将其他区域进行背景填充并对分割后的指甲灰度图像进行二值化,从而得到对应的指甲掩码图像。分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证的。

s408、将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

本实施例中,第二指甲掩码图像包括指甲区域和指甲区域以外的背景区域。第一像素值设置为255,即指甲区域为白色;背景区域的像素值设置为0,即背景区域为黑色。

s409、计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像。

s410、将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

其中,步骤s409和s410的详细内容请参照前述实施例对应的详细阐述,这里不再赘述。

本实施例提供的指甲识别方法通过在二值化指甲图像中确定满足预设区域特征的连通区域为指甲区域,并对指甲区域分割得到第一指甲掩码图像,然后在第一指甲掩码图像基础上再次采用不同的分割方法进行分割得到第二指甲掩码图像,根据预设规则确定出最终指甲掩码图像,根据最终指甲掩码图像和指甲灰度图像得到指甲分割图像,实现指甲分割图像在指甲灰度图像中的自动分割,采用预设区域特征对所有连通域进行筛选,得到满足预设区域特征的连通域为指甲区域,提高了指甲识别的精确度,受甲油胶均匀程度影响小,抗干扰性强;在局部阈值分割得到的第一指甲掩码图像基础上再使用分水岭算法进一步分割,选择出分割结果较好的指甲掩码图像作为最终的指甲掩码图像,使得指甲分割结果更加准确。

实施例六

图9是本发明第六实施例提供的一种在二值化指甲图像中确定指甲区域的方法流程图。请参阅图9,本发明第六实施例以前述实施例为基础,对二值化指甲图像中指甲区域的确定过程进行解释说明。该方法具体包括如下步骤:

s4021,获取二值化指甲图像中每个连通区域的外接矩形。

在一实施例中,二值化指甲图像中包括至少一个连通区域。

在一实施例中,在对指甲灰度图像进行处理得到二值化指甲图像后,为了在该二值化指甲图像确定出对应的指甲区域,由于在图像采集并进行二值化后,指甲区域相对于手指皮肤会形成一个对应的连通区域,而由于所采集的指甲灰度图像中会包含有额外其他的图像画面,因此得到的该二值化指甲图像中也可能会存在多个连通区域,此时由于指甲区域的尺寸大小以及在指甲灰度图像中所处的位置均有一定的特征范围,为了确定出对应的指甲区域,首先需要对二值化指甲图像中每个连通区域的外接矩形进行确定,以通过对应的外接矩形确定是否满足预先设定的预设区域特征。

本实施例中可以根据每个连通区域的大小尺寸等,通过opencv图像处理函数库里的外接矩形的处理函数,得到二值化指甲图像中每个连通区域的外接矩形。

s4022,根据每个连通区域的外接矩形确定出满足第一预设区域特征的连通区域,对不满足第一预设区域特征的连通区域做背景填充。

本实施例中,第一预设区域特征为连通区域的外接矩形的面积范围、尺寸比例范围以及外接矩形的中心与二值化指甲图像中心的距离范围。本实施例中对于第一预设区域特征可以根据用户手指在放入美甲机后,指甲区域相对于采集的整个指甲灰度图像中所处的位置区域和常规的指甲尺寸大小来确定。该外接矩形的面积范围可以为用户指甲常规大小的面积范围,尺寸比例范围可以为用户指甲常规的长宽比例范围,外接矩形的中心与二值化指甲图像中心的距离范围可以为用户手指在放入美甲机后,在采集的整个指甲灰度图像中,指甲区域与整个指甲灰度图像两者的中心位置距离范围。示例性的,本实施例中设定第一预设区域特征为:10000<面积范围<55000,0.3<尺寸比例范围<1.2,外接矩形的中心与二值化指甲图像中心的距离范围<140,对应的单位为单位像素。

在一实施例中,在获取到二值化指甲图像中每个连通区域的外接矩形后,首先通过opencv图像处理函数库里的外接矩形的处理函数,确定每个连通区域的外接矩形的面积、尺寸比例以及该外接矩形的中心位置,并根据二值化指甲图像的中心位置,确定每个连通区域的外接矩形的中心与二值化指甲图像中心的距离,从而根据预先设定的第一预设区域特征中要求的外接矩形的面积范围、尺寸比例范围以及外接矩形的中心与二值化指甲图像中心的距离范围,在多个连通区域的外接矩形中确定出满足该第一预设区域特征的外接矩形对应的连通区域,而不满足第一预设区域特征的连通区域一定不是指甲区域,因此将不满足第一预设区域特征的连通区域做背景填充,也就是将不满足第一预设区域特征的每个连通区域内的像素点的像素灰度值填充为背景色“0”,而对满足第一预设区域特征的连通区域进行后续判断,以确定对应的指甲区域。

s4023,判断满足第一预设区域特征的连通区域数量是否为一个,若不是一个,执行s240;若是一个,执行s260。

在一实施例中,由于二值化指甲图像中的连通区域可能有多个,此时满足第一预设区域特征的连通区域也可能存在多个,该多个连通区域中包括唯一的指甲区域,因此需要对满足第一预设区域特征的连通区域的数量进行判断,执行后续不同的操作。

s4024,根据第二预设区域特征确定出满足第二预设区域特征的唯一连通区域,对不满足第二预设区域特征的连通区域做背景填充。

本实施例中,第二预设区域特征可以为连通区域的外接矩形中心纵坐标范围。由于美甲机采集对应的指甲灰度图像时,该指甲灰度图像中的上半部分不会存在其他图像画面,当满足第一预设区域特征中对应连通区域的外接矩形要求的面积和尺寸比例信息时,此时满足第一预设区域特征的多个连通区域中,确认指甲区域的连通区域的中心纵坐标最小。

因此,本实施例中在判断出满足第一预设区域特征的连通区域数量为一个以上时,可以根据预先设定的第二预设区域特征,对满足第一预设区域特征的多个连通区域的外接矩形的中心纵坐标再次进行判断。本实施例中将满足第一预设区域特征的多个连通区域的外接矩形的中心纵坐标值center.y最小的外接矩形对应的连通区域,作为满足第二预设区域特征的唯一连通区域,不满足第二预设区域特征的连通区域一定不是指甲区域,因此可以对不满足第二预设区域特征的连通区域做背景填充,也就是将不满足第二预设区域特征的连通区域内的像素点的像素灰度值填充为背景色“0”,而对满足第二预设区域特征的唯一连通区域再次进行后续判断,以确定是否为指甲区域。

s4025,如果确定唯一连通区域为满足第三预设区域特征的连通区域,则确定该唯一连通区域为指甲区域。

本实施例中,第三预设区域特征可以为连通区域的外接矩形中心横坐标与二值化指甲图像中心横坐标表之间的距离范围以及连通区域的外接矩形平均灰度值范围。由于美甲机中可能会放入其他物品,可能会将该物品对应的区域确定为指甲区域,造成美甲机的误识别,引起额外的操作误差。为了避免该误识别,本实施例中还需要对连通区域的外接矩形的中心横坐标以及该连通区域的外接矩形平均灰度值进行判断,确定当前是否为用户指甲。

在一实施例中,在根据第二预设区域特征得到唯一连通区域后,还需要计算该唯一连通区域的外接矩形的平均灰度值以及该外接矩形中心横坐标值center.x与二值化指甲图像中心横坐标值的距离,判断是否满足预先设定的第三预设区域特征,若确定该唯一连通区域为满足第三预设区域特征的连通区域,则将该唯一连通区域确定为二值化指甲图像中的指甲区域。

s4026,确定连通区域为满足第三预设区域特征的连通区域,该连通区域为指甲区域。

本实施例中,如果判断满足第一预设区域特征的连通区域数量为一个,则直接判断该连通区域是否满足第三预设区域特征,计算该满足第一预设区域特征的连通区域的外接矩形的平均灰度值以及该外接矩形中心横坐标值center.x与二值化指甲图像中心横坐标值的距离,判断是否满足第三预设区域特征,若确定该连通区域为满足第三预设区域特征的连通区域,则将该连通区域确定为二值化指甲图像中的指甲区域。

本实施例提供的技术方案,通过第一预设区域特征筛选出满足第一预设区域特征的连通域,如果满足第一预设区域特征的连通区域数量为一个以上,则根据第二预设区域特征确定出满足第二预设区域特征的唯一连通区域,如果确定唯一连通区域为满足第三预设区域特征的连通区域,则确定该唯一连通区域为指甲区域;如果满足第一预设区域特征的连通区域数量为一个,则确定连通区域为满足第三预设区域特征的连通区域,该连通区域为指甲区域,通过预设区域特征的筛选,排除其他外在因素的干扰,指甲区域识别精度高,抗干扰性强。

需要说明的是,上述方法实施例可以相互组合成为其他较佳实施例。

实施例七

图10为本发明实施例七提供的一种指甲识别装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行指甲识别方法获取指甲分割图像,将指甲分割图像输出至美甲机,使得美甲机可以基于所述指甲分割图像进行图案打印。

本实施例装置包括图案第一阈值分割模块21、第二阈值分割模块22、最终指甲掩码确定模块23和指甲分割模块24。

所述第一阈值分割模块21用于采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

所述第二阈值分割模块22用于在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

所述最终指甲掩码确定模块23用于计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像。

所述指甲分割模块24用于将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

进一步地,所述指甲识别装置还包括:

图像拟合模块,用于提取所述最终指甲掩码图像的指甲区域所有边缘点,将满足预设条件的边缘点进行边缘曲线拟合,得到指甲掩码拟合图像。

进一步地,所述第一阈值分割模块21具体包括:

二值化处理单元,用于对所述指甲灰度图像进行局部阈值二值化处理,得到所述二值化指甲图像;

第一图像处理单元,用于从所述二值化指甲图像中确定出满足预设区域特征的连通区域,所述连通区域为第一指甲掩码图像;

第一设置单元,用于将所述第一指甲掩码图像中的指甲区域设置为第一像素值。

进一步地,所述指甲识别装置还包括:

外接矩形坐标获取模块,用于获取所述第一指甲掩码图像中指甲区域的外接矩形坐标;

标记模块,用于根据所述外接矩形坐标在所述指甲灰度图像中用第一标记线标记出指甲区域,并用第二标记线标记出背景区域。

进一步地,所述第二阈值分割模块22具体包括:

种子点选取单元,用于将所述第一标记线和所述第二标记线上的标记点作为分水岭分割算法的种子点;

分割处理单元,用于采用分水岭分割算法在所述指甲灰度图像中分割出指甲区域,并进行二值化处理得到第二指甲掩码图像;

第二设置单元,用于将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值。

进一步地,所述最终指甲掩码确定模块23具体包括:

比例值计算单元,用于计算所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素数量的比例值;

逻辑运算单元,用于当所述比例值小于预设值时,则将所述第一指甲掩码图像和所述第二指甲图像掩码逻辑或运算的结果作为最终的指甲掩码图像;

结果选择单元,用于当所述比例值大于或者等于预设值时,则将所述第一指甲掩码图像作为最终指甲掩码图像。

进一步地,所述指甲识别装置还包括:

边缘平滑处理单元,用于对所述最终指甲掩码图像中的指甲区域进行边缘平滑处理。

进一步地,所述边缘平滑处理单元还包括:

阈值分割指甲掩码图像获得单元,用于对所述最终指甲掩码图像进行全局阈值分割处理,得到阈值分割指甲掩码图像;

外接矩形角坐标获取单元,用于获取所述阈值分割指甲掩码图像的最小外接矩形,得到所述最小外接矩形的四个角坐标;

最小外接矩形分段单元,用于将所述最小外接矩形沿指甲长度方向分割为预设段数,分别获取每段所述最小外接矩形所对应的所述阈值分割指甲掩码图像中指甲区域的边缘点;

最大最小距离像素获取单元,用于获取每段所述最小外接矩形对应的所述阈值分割指甲掩码图像中指甲区域的边缘点到达沿指甲长度方向一侧的两个角坐标连线的最小距离的像素点和最大距离的像素点;

连线单元,用于将所有所述最小距离的像素点进行连线,且将所有所述最大距离的像素点进行连线,得到调整后的指甲掩码图像,所述连线上每个像素点的值与所述阈值分割指甲掩码图像中指甲区域的像素值一致;

孔洞填充单元,用于对所述调整后的指甲掩码图像进行孔洞填充,得到无孔封闭的指甲掩码图像。

本实施例提供的指甲识别装置可适用于上述任意实施例提供的指甲图像分割方法,具备相应的功能和有益效果。

实施例八

图11为本发明第八实施例提供的美甲机的较佳实施例的运行环境示意图。本发明提供了一种美甲机,所述美甲机包括处理器10、存储器20及显示器30。图11仅示出了美甲机的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述美甲机的内部存储单元,例如美甲机的硬盘或内存。所述存储器20在另一些实施例中也可以是所述美甲机的外部存储设备,例如所述美甲机上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器20还可以既包括所述美甲机的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述美甲机的应用软件及各类数据,例如所述安装美甲机的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有指甲识别程序40,该指甲识别程序40可被处理器10所执行,从而实现本申请中指甲识别方法。

所述处理器10在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述指甲识别方法等。

所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器30用于显示在所述美甲机的信息以及用于显示可视化的用户界面。所述美甲机的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中指甲识别程序40时实现以下步骤:

采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值;

在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值;

计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像;

将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

实施例九

本发明还提供一种存储介质,其中,所述存储介质存储有指甲识别程序,所述指甲识别程序被处理器执行时实现如上所述的指甲识别方法的步骤。

该方法的步骤包括:

采用第一图像分割方法对指甲灰度图像进行分割并二值化处理得到第一指甲掩码图像,将所述第一指甲掩码图像中的指甲区域设置为第一像素值;

在所述指甲灰度图像对应所述第一指甲掩码图像的指甲区域采用第二图像分割方法进行分割并二值化处理得到第二指甲掩码图像,将所述第二指甲掩码图像中的指甲区域设置为所述第一像素值;

计算出所述第二指甲掩码图像中指甲区域以外的所述第一像素值的数量占所述第二指甲掩码图像中指甲区域以外所有像素值数量的比例值,依据所述比例值的范围,根据所述第一指甲掩码图像和第二指甲掩码图像确定出最终指甲掩码图像;

将所述最终指甲掩码图像和所述指甲灰度图像做逻辑与运算,得到指甲分割图像。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的指甲识别方法中的相关操作。

通过以上关于实施例的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施例。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

值得注意的是,上述指甲识别装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

上述实施例中提供的指甲识别装置、存储介质及美甲机可执行本发明任意实施例所提供的指甲识别方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的美甲机打印校准方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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