具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
实施例一
为了解决现有技术中使用抠图模板很难从图像中精确的抠出所需要的区域的技术问题,本公开实施例提供一种抠图方法。如图1a所示,该抠图方法主要包括如下步骤S11至步骤S14。
步骤S11:对图像进行特征点检测,得到多个特征点。
其中,图像可以为人脸图像、动物图像等。
其中,特征点为所述图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点),其具有鲜明特性、能够有效反映图像本质特征、并能够标识图像中目标对象。例如,如图1b所示,如果所述图像为人脸图像,对人脸图像进行特征点检测,即可得到人脸上的特征点,其中,图1b中白色的点即为人脸上的特征点,包括眼睛及周围的像素点、鼻子及周围的像素点等。
具体的,可以采用特征点检测算法得到图像中的特征点。当图像为人脸图像时,还可以采用模板脸检测出图像的特征点。
步骤S12:获取所述图像上人工标注的第一图像区域。
具体的,用户可以根据自己的需求,自定义标注图像区域。具体的,由用户在即将抠出的图像区域的周围标注点或划线的方式确定第一图像区域。该第一图像区域为人工确定的初始图像区域,通常是一个包含抠出图像区域的大致范围。
例如,如果用户想要抠出眼睛区域,则可以在图像的眼睛区域即眼睛四周标注点或通过划圆圈的方式确定抠出眼睛区域的大致范围。如图1c所示的黑点为人工标注的标注点,白点为特征点。
步骤S13:根据所述特征点对所述第一图像区域进行调整,得到第二图像区域。
由于第一图像区域为人工标注的图像区域,并不能很精确的匹配到所需要抠出的图像区域。因此需要根据特征点对其进行调整。这里的特征点为位于第一图像区域内部、边缘及周围邻近的特征点。由于这些特征点能够最大限度的表征图像特征,因此采用这些特征点对其进行调整,使得确定的第二图像区域的范围更加接近于即将抠出的图像区域,即使得抠出的图像区域更为精确。
步骤S14:根据所述第二图像区域对所述图像进行抠图。
具体的,可以直接将所述第二图像区域作为抠出区域抠出;也可以在第二图像区域的基础上进一步进行调整重新确定图像区域后再抠出,具体参见下述第四个可选实施例的相关描述。
本实施例通过通过人工标注的第一图像区域,根据所述特征点对所述第一图像区域进行调整,由于所述特征点能够最大限度的表征图像特征,因此采用所述特征点对其进行调整,使得确定的第二图像区域的范围更加接近于即将抠出的图像区域,进而使得抠出的图像区域更为精确。此外,由于特征点和标注的第一图像区域是根据图像确定的,对于不同的图像,针对图像所检测出的特征点及所标注的第一图像区域都能够与图像本身所需要抠出的部分相匹配,因此本实施例针对不同的图像均可以精确的抠出目标区域,这样就可以适用于各种图像的抠图。
在第一个可选的实施例中,步骤S12具体包括:
步骤S121:获取所述图像上人工标注的标注点。
具体的,用户可以根据自己的需求,自定义标注出标注点。例如,如果用户想要抠出眼睛区域,则可以在图像的眼睛区域即眼睛四周标注出标注点。如图1c所示的黑点为人工标注的标注点,从所述图像上获取人工标注的标注点。
步骤S122:将所述标注点确定为所述第一图像区域的边缘点。
具体的,将标注点所围成的图像区域作为所述第一图像区域,即所述标注点成为所述第一图像区域的边缘点。
在第二个可选的实施例中,步骤S13具体包括:
步骤S131:根据所述特征点对所述标注点的位置进行调整,确定所述标注点对应的第一目标点。
由于标注点为人工标注,由其确定的图像区域并不能很精确的匹配到所需要抠出的图像区域。因此需要根据特征点对其进行调整。由于所述特征点能够最大限度的表征图像特征,因此采用所述特征点对其进行调整,得到第一目标点。使得由第一目标点确定的第二图像区域的范围更加接近于即将抠出的图像区域,即使得抠出的图像区域更为精确。
步骤S132:将所述第一目标点围成的闭合区域确定为所述第二图像区域。
在第三个可选的实施例中,步骤S131具体包括:
步骤S1311:从所述特征点中选取与所述标注点最接近的初始点。
具体的,针对多个特征点,分别计算每个特征点与所述标注点的距离,例如,可以为余弦距离、欧式距离等;选取与所述标注点距离最近的特征点作为与所述标注点最接近的特征点。步骤S1312:将所述初始点围成的闭合区域确定为第三图像区域。
当选取的初始点的个数为多个时,其形成的闭合区域为多边形,由该多边形组成的闭合区域即为第三图像区域。例如,当选取的初始点的个数为3个时,则这3个初始点围成的闭合区域为一个三角形,该三角形所围成的区域即为第三图像区域。
步骤S1313:将所述第三图像区域的中心位置确定为所述标注点对应的第一目标点。
当第三图像区域的形状为多边形时,则将该多边形的中心位置确定为所述标注点对应的第一目标点。其中,中心位置可以为该多边形的几何中心或几何重心。例如,如果该多边形为规则的几何图形,例如正三角形、正四边形、或正五边形等,其对应的中心位置即为几何中心即对角线的交点,如果该多边形为不规则的几何图形,则其对应的中心位置即为几何重心,即为该多边形各边中线的交点。
上述场景为选取的最接近的初始点至少为3个时对应的确定第一目标点的方法。此外,还可以从所述特征点中选取一个与所述标注点最接近的特征点作为所述第一目标点。或者,从所述特征点中选取两个与所述标注点最接近的特征点,将该两个特征点的连线的中点作为所述第一目标点。
在第四个可选的实施例中,步骤S14具体包括:
步骤S141:确定所述第二图像区域的边缘,作为初始边缘。
其中,图像边缘为是图像属性区域和另一个属性区域的交接处,是区域属性发生突变的地方。具体可以采用现有的图像边缘提取方法确定所述第二图像区域的边缘,例如可以采用的图像边缘提取方法如下:微分算子法、拉普拉斯高斯算子法、Canny算子、拟合法、松驰法、神经网络分析法、小波变换法等。
步骤S142:对所述初始边缘向所述第二图像区域之外的方向进行外扩,得到目标边缘。
其中,目标边缘为外扩后的图像区域的边缘。
步骤S143:抠出由所述目标边缘围成的第四图像区域,得到抠图图像。
具体的,可以将第四图像区域直接作为目标图像抠出,抠出的图像中像素点的像素值为在所述图像中的像素值,即像素值保持不变。另外,为了使抠出的图像边缘区域更为平滑,可以对初始边缘与目标边缘围成的图像区域进行边缘透明过渡处理,具体参见下述第八个可选实施例的描述。
在第五个可选的实施例中,步骤S142具体包括:
步骤S1421:获取所述初始边缘上的像素点,作为初始边缘点。
具体的,可以选取所述初始边缘上的任意像素点作为初始边缘点。该任意像素点可以是特征点,也可以是非特征点。
步骤S1422:根据所述初始边缘点两侧的参考点确定所述初始边缘点对应的外扩点,所述外扩点位于所述第二图像区域之外。
其中,参考点可以为所述初始边缘点两侧的像素点或者特征点。一个初始边缘点可以对应一个外扩点,也可以对应多个外扩点。如图1d所示,封闭区域之外的白色点即为外扩点。
步骤S1423:连接所述外扩点,形成所述目标边缘。
在第六个可选的实施例中,步骤S1422具体包括:
步骤A:根据所述初始边缘点两侧的参考点确定所述初始边缘点的类型。
具体的,将初始边缘点与两侧的参考点进行连线得到两条线段,如图1e和1f所示,该两条线段形成一定的夹角,根据该夹角确定所述初始边缘点的类型。例如,如果该夹角为钝角,则确定所述初始边缘点的类型为凸点,如果该夹角为锐角,则确定所述初始边缘点的类型为凹点。
步骤B:根据所述类型确定所述初始边缘点对应的外扩点。
针对不同类型的初始边缘点,确定其对应的外扩点的方法也不同,具体参见下述第七个可选实施例的描述。
在第七个可选的实施例中,步骤B具体包括:
若所述类型为凸点,则根据所述初始边缘点与所述参考点构成的线段的法线方向向外延伸预设长度得到所述法线的外端点,并根据法线夹角在所述外端点间进行内插平滑得到对应的外扩点;若所述类型为凹点,则根据所述初始边缘点与所述参考点构成的夹角的角平分线向外延伸预设长度得到所述角平分线的外端点,将所述角平分线的外端点作为对应的外扩点。
其中,预设长度可以自定义设置。
例如,如图1g所示,当所述类型为凸点时,则根据两条线段的法线方向可以确定两个外端点,当两个外端点距离较远时,得到的图像区域不够平滑,本实施例采用在两个外端点间进行内插平滑的方式得到一系列外扩点,作为该初始边缘点的外扩点。如图1h所示,当所述类型为凹点时,则根据两条线段的夹角的角平分线确定外端点,此时只对应一个外端点,因此直接将该外端点作为该初始边缘点的外扩点。
在第八个可选的实施例中,步骤S143具体包括:
步骤S1431:将预设第一权重与所述初始边缘上像素点在所述图像中的像素值的乘积确定为所述初始边缘线上像素点在所述抠图图像中的像素值。
其中,预设第一权重可以由用户自定义设置,例如可以设为1。
步骤S1432:将预设第二权重与所述目标边缘上像素点在所述图像中的像素值的乘积确定为所述目标边缘上像素点在所述抠图图像中的像素值。
其中,预设第二权重可以由用户自定义设置,例如可以设为0。且在设置预设第一权重和预设第二权重时,为了使所述初始边缘与所述目标边缘组成的图像区域实现透明度随外扩程度逐渐递减的效果,使预设第一权重大于预设第二权重。
步骤S1433:根据所述初始边缘和所述目标边缘确定第五图像区域中每个像素点的像素值;其中,所述第五图像区域为所述初始边缘和所述目标边缘之间的图像区域。
在第九个可选的实施例中,步骤S1433包括:
步骤C:选取位于所述初始边缘上的第一像素点和位于所述目标边缘上的第二像素点组成多边形。
其中,所述第一像素点可以是所述初始边缘上的任意像素点、任意特征点或任意初始边缘点。所述第二像素点可以是所述目标边缘上的任意像素点、任意特征点或任意外扩点。
且所述第一像素点和所述第二像素点可以组成多边形,该多边形可以为三角形、四边形或五边形等。
步骤D:根据所述多边形的顶点的坐标和位于所述多边形内的第三像素点的坐标确定所述第三像素点的第三权重。
关于本步骤实现确定所述第三像素点的第三权重的方法具体可参见下述第十可选实施例的描述。
除了本步骤确定所述第三像素点的第三权重之外,为了实现透明度随外扩程度逐渐递减,还可以将所述多边形内的像素点的权重设为预设第一权重和预设第二权重之间的值,例如0和1之间的数值。
步骤E:将所述第三权重与所述第三像素点在所述图像中的像素值的乘积确定为所述第三像素点在所述抠图图像中的像素值。
在第十个可选的实施例中,步骤D具体包括:
步骤D1:根据所述多边形的顶点的坐标和所述第三像素点的坐标确定每个顶点的权重系数。
步骤D2:将所有顶点的权重系数与设定的权重参数的加权和作为所述第三权重。
其中,设定的权重参数可以根据顶点所在的边缘确定。具体的,如果该顶点为初始边缘上的第一像素点,则其对应的权重参数为预设第一权重,如果该顶点为目标边缘上的外扩点,则其对应的权重参数为预设第二权重。
以所述多边形为三角形为例,对本实施例进行说明。该三角形的三个顶点由初始边缘上的第一像素点和目标边缘上的外扩点组成。例如,由初始边缘上的2个第一像素点点和目标边缘上的1个外扩点组成,或者,由初始边缘上的1个第一像素点和目标边缘上的2个外扩点组成。因此,已知三角形的三个顶点P1、P2、P3的坐标,将u和v作为P2和P3的权重系数,且将(1-u-v)作为P1的权重系数,对于三角形内的任意点P,(u,v)必须满足条件u≥0,v≥0,u+v≤1。现在已知P1、P2、P3和P的坐标,通过求解下述方程即可得到u、v值:
P.x=(1-u-v)*P1.x+u*P2.x+v*P3.x
P.y=(1-u-v)*P1.y+u*P2.y+v*P3.y
其中,P.x为P横坐标,P.y为P纵坐标,P1.x为P1横坐标,P1.y为P纵坐标,P2.x为P2横坐标,P2.y为P2纵坐标,P3.x为P3横坐标,P3.y为P3纵坐标。有了上述u、v值,即可得到P1、P2、P3的权重系数。且P1、P2、P3对应的权重参数W1、W2、W3已知,因此可以将P1、P2、P3对应的权重系数与权重参数的加权和作为像素点P的权重,即通过公式W=(1-u-v)*W1+u*W2+W*P3计算得到P的权重。
本领域技术人员应能理解,在上述各个实施例的基础上,还可以进行明显变型(例如,对所列举的模式进行组合)或等同替换。
在上文中,虽然按照上述的顺序描述了抠图方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
实施例二
为了解决现有技术中使用抠图模板很难从图像中精确的抠出所需要的区域的技术问题,本公开实施例提供一种抠图装置。该装置可以执行上述实施例一所述的抠图方法实施例中的步骤。如图2所示,该装置主要包括:特征点检测模块21、标注区域获取模块22、区域确定模块23和抠图模块24;其中,
特征点检测模块21用于对图像进行特征点检测,得到多个特征点;
标注区域获取模块22用于获取所述图像上人工标注的第一图像区域;
区域确定模块23用于根据所述特征点对所述第一图像区域进行调整,得到第二图像区域;
抠图模块24用于根据所述第二图像区域对所述图像进行抠图。
进一步的,所述标注区域获取模块22包括:标注点获取单元221和标注区域确定单元222;其中,
标注点获取单元221用于获取所述图像上人工标注的标注点;
标注区域确定单元222用于将所述标注点确定为所述第一图像区域的边缘点。
进一步的,所述标注区域确定单元222具体用于:根据所述特征点对所述标注点的位置进行调整,确定所述标注点对应的第一目标点;将所述第一目标点围成的闭合区域确定为所述第二图像区域。
进一步的,所述标注区域确定单元222具体用于:从所述特征点中选取与所述标注点最接近的初始点;将所述初始点围成的闭合区域确定为第三图像区域;将所述第三图像区域的中心位置确定为所述标注点对应的第一目标点。
进一步的,所述抠图模块24包括:初始边缘确定单元241、目标边缘确定单元242和抠图单元243;其中,
初始边缘确定单元241用于确定所述第二图像区域的边缘,作为初始边缘;
目标边缘确定单元242用于对所述初始边缘向所述第二图像区域之外的方向进行外扩,得到目标边缘;
抠图单元243用于抠出由所述目标边缘围成的第四图像区域,得到抠图图像。
进一步的,所述目标边缘确定单元242具体用于:获取所述初始边缘上的像素点,作为初始边缘点;根据所述初始边缘点两侧的参考点确定所述初始边缘点对应的外扩点,所述外扩点位于所述第二图像区域之外;连接所述外扩点,形成所述目标边缘。
进一步的,所述目标边缘确定单元242具体用于:根据所述初始边缘点两侧的参考点确定所述初始边缘点的类型;根据所述类型确定所述初始边缘点对应的外扩点。
进一步的,所述目标边缘确定单元242具体用于:若所述类型为凸点,则根据所述初始边缘点与所述参考点构成的线段的法线方向向外延伸预设长度得到所述法线的外端点,并根据法线夹角在所述外端点间进行内插平滑得到对应的外扩点;若所述类型为凹点,则根据所述初始边缘点与所述参考点构成的夹角的角平分线向外延伸预设长度得到所述角平分线的外端点,将所述角平分线的外端点作为对应的外扩点。
进一步的,所述抠图单元243具体用于:将预设第一权重与所述初始边缘上像素点在所述图像中的像素值的乘积确定为所述初始边缘线上像素点在所述抠图图像中的像素值;将预设第二权重与所述目标边缘上像素点在所述图像中的像素值的乘积确定为所述目标边缘上像素点在所述抠图图像中的像素值;根据所述初始边缘和所述目标边缘确定第五图像区域中每个像素点的像素值;其中,所述第五图像区域为所述初始边缘和所述目标边缘之间的图像区域。
进一步的,所述抠图单元243具体用于:选取位于所述初始边缘上的第一像素点和位于所述目标边缘上的第二像素点组成多边形;根据所述多边形的顶点的坐标和位于所述多边形内的第三像素点的坐标确定所述第三像素点的第三权重;将所述第三权重与所述第三像素点在所述图像中的像素值的乘积确定为所述第三像素点在所述抠图图像中的像素值。
进一步的,所述抠图单元243具体用于:根据所述多边形的顶点的坐标和所述第三像素点的坐标确定每个顶点的权重系数;将所有顶点的权重系数与设定的权重参数的加权和作为所述第三权重。
有关抠图装置实施例的工作原理、实现的技术效果等详细说明可以参考前述抠图方法实施例中的相关说明,在此不再赘述。
实施例三
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置306加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置306;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置306被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:对图像进行特征点检测,得到特征点;
获取所述图像上人工标注的第一图像区域;根据所述特征点对所述第一图像区域进行调整,得到第二图像区域;根据所述第二图像区域对所述图像进行抠图。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种抠图方法,包括:
对图像进行特征点检测,得到特征点;
获取所述图像上人工标注的第一图像区域;
根据所述特征点对所述第一图像区域进行调整,得到第二图像区域;
根据所述第二图像区域对所述图像进行抠图。
进一步的,所述获取所述图像上人工标注的第一图像区域,包括:
获取所述图像上人工标注的标注点;
将所述标注点确定为所述第一图像区域的边缘点。
进一步的,所述根据所述特征点对所述第一图像区域进行调整,得到第二图像区域,包括:
根据所述特征点对所述标注点的位置进行调整,确定所述标注点对应的第一目标点;
将所述第一目标点围成的闭合区域确定为所述第二图像区域。
进一步的,所述根据所述特征点对所述标注点的位置进行调整,确定所述标注点对应的第一目标点,包括:
从所述特征点中选取与所述标注点最接近的初始点;
将所述初始点围成的闭合区域确定为第三图像区域;
将所述第三图像区域的中心位置确定为所述标注点对应的第一目标点。
进一步的,所述根据所述第二图像区域对所述图像进行抠图,包括:
确定所述第二图像区域的边缘,作为初始边缘;
对所述初始边缘向所述第二图像区域之外的方向进行外扩,得到目标边缘;
抠出由所述目标边缘围成的第四图像区域,得到抠图图像。
进一步的,所述对所述初始边缘向所述第二图像区域之外的方向进行外扩,得到目标边缘,包括:
获取所述初始边缘上的像素点,作为初始边缘点;
根据所述初始边缘点两侧的参考点确定所述初始边缘点对应的外扩点,所述外扩点位于所述第二图像区域之外;
连接所述外扩点,形成所述目标边缘。
进一步的,所述根据所述初始边缘点两侧的参考点确定所述初始边缘点对应的外扩点,包括:
根据所述初始边缘点两侧的参考点确定所述初始边缘点的类型;
根据所述类型确定所述初始边缘点对应的外扩点。
进一步的,所述根据所述类型确定所述初始边缘点对应的外扩点,包括:
若所述类型为凸点,则根据所述初始边缘点与所述参考点构成的线段的法线方向向外延伸预设长度得到所述法线的外端点,并根据法线夹角在所述外端点间进行内插平滑得到对应的外扩点;
若所述类型为凹点,则根据所述初始边缘点与所述参考点构成的夹角的角平分线向外延伸预设长度得到所述角平分线的外端点,将所述角平分线的外端点作为对应的外扩点。
进一步的,所述抠出由所述目标边缘围成的第四图像区域,得到抠图图像,包括:
将预设第一权重与所述初始边缘上像素点在所述图像中的像素值的乘积确定为所述初始边缘线上像素点在所述抠图图像中的像素值;
将预设第二权重与所述目标边缘上像素点在所述图像中的像素值的乘积确定为所述目标边缘上像素点在所述抠图图像中的像素值;
根据所述初始边缘和所述目标边缘确定第五图像区域中每个像素点的像素值;其中,所述第五图像区域为所述初始边缘和所述目标边缘之间的图像区域。
进一步的,所述根据所述初始边缘和所述目标边缘确定第五图像区域中每个像素点的像素值,包括:
选取位于所述初始边缘上的第一像素点和位于所述目标边缘上的第二像素点组成多边形;
根据所述多边形的顶点的坐标和位于所述多边形内的第三像素点的坐标确定所述第三像素点的第三权重;
将所述第三权重与所述第三像素点在所述图像中的像素值的乘积确定为所述第三像素点在所述抠图图像中的像素值。
进一步的,所述根据所述多边形的顶点的坐标和位于所述多边形内的第三像素点的坐标确定所述第三像素点的第三权重,包括:
根据所述多边形的顶点的坐标和所述第三像素点的坐标确定每个顶点的权重系数;
将所有顶点的权重系数与设定的权重参数的加权和作为所述第三权重。
根据本公开的一个或多个实施例,提供了抠图装置,包括:
特征点检测模块,用于对图像进行特征点检测,得到多个特征点;
标注区域获取模块,用于获取所述图像上人工标注的第一图像区域;
区域确定模块,用于根据所述特征点对所述第一图像区域进行调整,得到第二图像区域;
抠图模块,用于根据所述第二图像区域对所述图像进行抠图。
进一步的,所述标注区域获取模块包括:
标注点获取单元,用于获取所述图像上人工标注的标注点;
标注区域确定单元,用于将所述标注点确定为所述第一图像区域的边缘点。
进一步的,所述标注区域确定单元具体用于:根据所述特征点对所述标注点的位置进行调整,确定所述标注点对应的第一目标点;将所述第一目标点围成的闭合区域确定为所述第二图像区域。
进一步的,所述标注区域确定单元具体用于:从所述特征点中选取与所述标注点最接近的初始点;将所述初始点围成的闭合区域确定为第三图像区域;将所述第三图像区域的中心位置确定为所述标注点对应的第一目标点。
进一步的,所述抠图模块包括:
初始边缘确定单元,用于确定所述第二图像区域的边缘,作为初始边缘;
目标边缘确定单元,用于对所述初始边缘向所述第二图像区域之外的方向进行外扩,得到目标边缘;
抠图单元,用于抠出由所述目标边缘围成的第四图像区域,得到抠图图像。
进一步的,所述目标边缘确定单元具体用于:获取所述初始边缘上的像素点,作为初始边缘点;根据所述初始边缘点两侧的参考点确定所述初始边缘点对应的外扩点,所述外扩点位于所述第二图像区域之外;连接所述外扩点,形成所述目标边缘。
进一步的,所述目标边缘确定单元具体用于:根据所述初始边缘点两侧的参考点确定所述初始边缘点的类型;根据所述类型确定所述初始边缘点对应的外扩点。
进一步的,所述目标边缘确定单元具体用于:若所述类型为凸点,则根据所述初始边缘点与所述参考点构成的线段的法线方向向外延伸预设长度得到所述法线的外端点,并根据法线夹角在所述外端点间进行内插平滑得到对应的外扩点;若所述类型为凹点,则根据所述初始边缘点与所述参考点构成的夹角的角平分线向外延伸预设长度得到所述角平分线的外端点,将所述角平分线的外端点作为对应的外扩点。
进一步的,所述抠图单元具体用于:将预设第一权重与所述初始边缘上像素点在所述图像中的像素值的乘积确定为所述初始边缘线上像素点在所述抠图图像中的像素值;将预设第二权重与所述目标边缘上像素点在所述图像中的像素值的乘积确定为所述目标边缘上像素点在所述抠图图像中的像素值;根据所述初始边缘和所述目标边缘确定第五图像区域中每个像素点的像素值;其中,所述第五图像区域为所述初始边缘和所述目标边缘之间的图像区域。
进一步的,所述抠图单元具体用于:选取位于所述初始边缘上的第一像素点和位于所述目标边缘上的第二像素点组成多边形;根据所述多边形的顶点的坐标和位于所述多边形内的第三像素点的坐标确定所述第三像素点的第三权重;将所述第三权重与所述第三像素点在所述图像中的像素值的乘积确定为所述第三像素点在所述抠图图像中的像素值。
进一步的,所述抠图单元具体用于:根据所述多边形的顶点的坐标和所述第三像素点的坐标确定每个顶点的权重系数;将所有顶点的权重系数与设定的权重参数的加权和作为所述第三权重。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。