本发明涉及信息技术领域,尤其涉及一种图像处理方法及装置、电子设备及存储介质。
背景技术:
图像处理包括:对已现有的图像中的部分区域进行变形处理,得到图像美化处理等。例如,常见的图像处理可包括:人脸美化处理,在人脸美化处理的过程中,可能会涉及到目标器官的变形。现有的人脸美化处理,通常都涉及大量的计算量,复杂度高、导致响应时延大,处理效率低或者处理后的图像质量差等问题。
技术实现要素:
有鉴于此,本发明实施例期望提供一种图像处理方法及装置、电子设备及存储介质,解决图像处理得到的图像质量差和/或图像处理过程中计算量大、复杂度高的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种图像处理方法,包括:
获取原始图像;
基于原始图像中待变形的第一目标对象的特征点,确定变形区域,其中,所述特征点,用于体现所述第一目标对象的轮廓和/或纹理特征;
从所述变形区域选择多个像素点作为定变形约束源点;
基于变形约束源点及变形强度,确定目标点,其中,所述目标点为所述第一目标对象变形后形成的变形图像的像素点,所述目标点的像素参数等于所述变形约束原点的像素参数;
基于所述变形区域内各像素的原始像素参数、所述目标点,确定所述变形区域内每一个像素变形后的像素参数,从而获得变形区域图像;
将所述变形区域图像融合到所述原始图像的所述变形区域内,获得变形后的图像。
基于上述方案,所述基于原始图像中待变形的第一目标对象的特征点,确定变形区域,包括:
获取所述第一目标对象的多个所述特征点;
根据多个所述特征点在所述原始图像中的坐标参数,选择出所述第一目标对象的中间特征点,作为所述变形区域的中心点,其中,所述中间特征点,为多个所述特征点中位于最中间位置的所述特征点;
获取变形尺寸参数;
基于所述变形尺寸参数及所述中心点,确定所述变形区域。
基于上述方案,所述获取变形尺寸参数,包括:
根据所述第一目标对象的边缘特征点及所述中心特征点,确定出第一变形半径,其中,所述边缘特征点,为多个所述特征点中位于边缘位置的所述特征点;
根据所述第一变形半径及第一调整参数,确定第二变形半径;
所述基于所述变形尺寸参数及所述中心点,确定所述变形区域,包括:
基于所述第二变形半径及所述中心点,确定所述变形区域。
基于上述方案,所述方法还包括:
根据所述第一目标对象所在的第二目标对象的特征点,确定出第一变形强度;
根据所述第一变形强度及第二调整参数,确定第二变形强度;
所述基于变形约束源点及变形强度,确定目标点,包括:
基于所述变形约束点及所述第二变形强度,确定目标点。
基于上述方案,所述第二目标对象为人脸;所述第二目标对象为鼻子。
基于上述方案,所述方法还包括:
获取所述变形区域的外接矩形;
按照所述外接矩形截取所述原始图像,截取图像;
基于所述变形区域转换所述截取图像,获得掩膜图,其中,所述掩膜图位于变形区域内的像素点的像素值为第一取值,所述变形区域外的像素点的像素值为第二取值;
所述基于所述变形区域内各像素的原始像素参数、所述目标点,确定所述变形区域内每一个像素变形后的像素参数,从而获得变形区域图像,包括:
基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像。
基于上述方案,所述方法还包括:
对所述掩膜图进行模糊处理,获得所述截取图像的渐变图;
所述将所述变形区域图像融合到所述原始图像的所述变形区域内,获得变形后的图像,包括:
基于所述渐变图,获取融合权重参数;
基于所述融合参数,融合所述原始图像和所述变形区域图像。
基于上述方案,所述基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像,包括:
基于所述掩膜图,确定所述截取图像待处理像素;
基于所述待处理像素的原始像素参数及所述目标点,获取所述变形区域图像。
本发明实施例第二方面提供一种图像处理装置,包括:
第一获取单元,用于获取原始图像;
第一确定单元,用于基于原始图像中待变形的第一目标对象的特征点,确定变形区域,其中,所述特征点,用于体现所述第一目标对象的轮廓和/或纹理特征;
选择单元,用于从所述变形区域选择多个像素点作为定变形约束源点;
第二确定单元,用于基于变形约束源点及变形强度,确定目标点,其中,所述目标点为所述第一目标对象变形后形成的变形图像的像素点,所述目标点的像素参数等于所述变形约束原点的像素参数;
形成单元,用于基于所述变形区域内各像素的原始像素参数、所述目标点,确定所述变形区域内每一个像素变形后的像素参数,从而获得变形区域图像;
融合单元,用于将所述变形区域图像融合到所述原始图像的所述变形区域内,获得变形后的图像。
基于上述方案,所述第一确定单元,用于获取所述第一目标对象的多个所述特征点;根据多个所述特征点在所述原始图像中的坐标参数,选择出所述第一目标对象的中间特征点,作为所述变形区域的中心点,其中,所述中间特征点,为多个所述特征点中位于最中间位置的所述特征点;获取变形尺寸参数;基于所述变形尺寸参数及所述中心点,确定所述变形区域。
基于上述方案,所述第一确定单元,用于根据所述第一目标对象的边缘特征点及所述中心特征点,确定出第一变形半径,其中,所述边缘特征点,为多个所述特征点中位于边缘位置的所述特征点;根据所述第一变形半径及第一调整参数,确定第二变形半径;基于所述第二变形半径及所述中心点,确定所述变形区域。
基于上述方案,所述装置还包括:
第三确定单元,用于根据所述第一目标对象所在的第二目标对象的特征点,确定出第一变形强度;根据所述第一变形强度及第二调整参数,确定第二变形强度;
所述第二确定单元,具体用于基于所述变形约束点及所述第二变形强度,确定目标点。
基于上述方案,所述第二目标对象为人脸;所述第二目标对象为鼻子。
基于上述方案,所述装置还包括:
第二获取单元,用于获取所述变形区域的外接矩形;
截取单元,用于按照所述外接矩形截取所述原始图像,截取图像;
转换单元,用于基于所述变形区域转换所述截取图像,获得掩膜图,其中,所述掩膜图位于变形区域内的像素点的像素值为第一取值,所述变形区域外的像素点的像素值为第二取值;
所述形成单元,用于基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像。
基于上述方案,所述装置还包括:
模糊处理单元,用于对所述掩膜图进行模糊处理,获得所述截取图像的渐变图;
所述融合单元,用于基于所述渐变图,获取融合权重参数;基于所述融合参数,融合所述原始图像和所述变形区域图像。
基于上述方案,所述形成单元,具体用于基于所述掩膜图,确定所述截取图像待处理像素;基于所述待处理像素的原始像素参数及所述目标点,获取所述变形区域图像。
本发明实施例第三方面提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,与所述存储器连接,用于通过执行所述计算机程序,实现前述任意一项提供的图像处理方法。
本发明实施例第四方面提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行后,能够实现前述任意一项提供的图像处理方法。
本发明实施例提供的图像处理方法及装置、电子设备及存储介质,在本实施例中进行图像处理时,首先会获取图像中需要进行变形处理的第一目标对象的特征点,基于其他该特征点确定变形范围,可以精确确定出包括第一目标对象的变形区域,然后采用变形约束源点和目标点之间的对应关系,进行变形区域内的变形,获得变形后的图像,融合到原始图像中,相对于不能精确定位变形区域的图像处理,可以获得更好的图像效果;且处理过程中保持了无需变形部分的原样,且计算复杂度低,图像处理装置的消耗少的特点。
附图说明
图1为本发明实施例提供的第一种图像处理方法的流程示意图;
图2为本发明实施例提供的如何确定变形区域的流程示意图;
图3为本发明实施例提供的一种鼻子的特征点的示意图;
图4为本发明实施例提供的一种基于用户输入变形区域的变化示意图;
图5为本发明实施例提供的一种图像处理方法的显示示意图;
图6为图5所示的图像进行瘦鼻之后的显示示意图;
图7为本发明实施例提供的一种图像处理装置的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图;
图9为本发明实施例提供的另一种图像处理方法的流程示意图;
图10为本发明实施例提供的图像之间的演变示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种图像处理方法,包括:
步骤s110:获取原始图像;
步骤s120:基于原始图像中待变形的第一目标对象的特征点,确定变形区域,其中,所述特征点,用于体现所述第一目标对象的轮廓和/或纹理特征;
步骤s130:从所述变形区域选择多个像素点作为定变形约束源点;
步骤s140:基于变形约束源点及变形强度,确定目标点,其中,所述目标点为所述第一目标对象变形后形成的变形图像的像素点,所述目标点的像素参数等于所述变形约束原点的像素参数;
步骤s150:基于所述变形区域内各像素的原始像素参数、所述目标点,确定所述变形区域内每一个像素变形后的像素参数,从而获得变形区域图像;
步骤s160:将所述变形区域图像融合到所述原始图像的所述变形区域内,获得变形后的图像。
本实施例提供的图像处理方法,可应用于各种图像处理设备中,例如,手机、平板电脑或可穿戴式设备等各种运行图像处理应用的电子设备。
在步骤s110中获取原始图像,可包括:通过摄像头采集得到原始图像,或,从通信接口从其他电子设备接收所述原始图像,或者,从图像处理设备的本地存储介质中提取所述原始图像。在本实施例中所述原始图像包括:每一个像素点的像素参数。这里的每一个像素点的像素参数可包括:色彩值和透明度值;所述色彩值可包括:红色(r)、绿(g)、蓝(b)等三原色的色彩值,每一个像素的透明度等参数。
在步骤s120中进行待变形的第一目标对象的特征点,获得变形区域。这里的第一目标对象的特征点,可为采用各种特征点提取方法,获得表征第一目标对象的轮廓和/或纹理的像素点。例如,可以采用fast特征提取算法提取的第一目标对象的特征点。所述fast可为featuresfromacceleratedsegmenttest的缩写,但是不局限于该算法。在一些实施例中所述特征点,为其灰度值与其周围的灰度值的差异在预设范围内的像素点。
所述第一目标对象的特征点,包括:表征第一目标对象的边缘位置的特征点,和中间位置的特征点,在本实施例中至少可以基于边缘位置的特征点,确定出所述变形区域的边缘,在一些实施例中,所述变形区域至少需要包括所述第一目标对象的所有特征点。
一方面,本实施例中在确定变形区域时,将获取第一目标对象的特征点,基于特征点的分布位置或像素坐标,来确定所述变形区域,这样的话,相对于现有技术中随机截取或基于用户圈定的截取,能够在第一目标对象处于不同的姿态或形态下,都能够获得精确的变形区域,相对于随机截取或人操作的不精确性而言,可以精确确定变形区域,从而实现在不同姿态的图像都能够获得较好的图像处理效果。
另一方面,在本实施例中是基于第一目标对象的特征点确定变形区域的,即便因为拍摄角度等导致第一目标对象在原始图像中呈现不同姿态,也可以自适应的提取出包括第一目标对象的图形区域作为所述形变区域,从而提升了形变的稳定性和精确性。
在一些实施例中,在步骤s130可用于基于变形区域,确定变形约束源点。在一些实施例中,可以根据所述变形区域的面积,确定所述变形约束源点的个数及位置。总之本实施例中所述变形区域可为:所述原始图像中仅包括第一目标对象的图像区域。例如,所述第一目标对象为鼻子,则所述变形区域可为:包括整个鼻子的图形区域,且仅包括鼻子的图形区域。例如,所述第一目标对象为眼睛,则所述变形区域可为:所述原始图像中仅包括眼睛的图形区域。
例如,所述变形区域为圆形变形区域,可以按照预设角度,等角度的从变形区域的周边上选择出所述变形约束源点。当变形区域的面积大于第一面积或变形半径大于第一半径时,则采用第一预设角度等角度的取变形约束源点;当变形区域的面积不大于第一面积或变形半径不大于第一半径时,则采用第二预设角度等角度的取所述变形约束源点。所述第一预设角度小于所述第二预设角度。当然,所述圆形变形区域还可为椭圆区域。
在步骤s150中还会基于变形约束源点及变形强度,确定目标点,进行目标对象的变形。这样的话,基于特征点定位变形区域,再结合变形约束源点和目标点的坐标,实现算法简单,计算复杂度低的特点,从而本实施例提供的图像处理方法,具有实现简便的特点。
在本实施例中所述变形强度可为表征对第一目标对象变形后产生的形变程度的参数,所述变形强度可包括:缩放所述第一目标对象的缩放比例。所述变形强度还可包括:缩放所述第一目标对象的放大值或缩小值等。所述变形强度还可包括:第一目标对象中部分轮廓弧度的弧度调整值等。总之,所述变形强度对应的具体参数有很多种,不局限于上述任意一种。
当所述变形强度可为缩放比例,例如,所述第一目标对象为鼻子,可为缩放所述鼻子的缩放比例,所述第一目标对象为人脸,则可为缩放所述人脸的缩放比例。
在本实施例中所述目标点为所述变形约束源点的像素参数,在变形之后所对应的像素点。这里的像素参数可包括色彩值和透明度值等。
在步骤s150中基于原始像素参数、目标点重新确定变形区域内每一个像素的像素参数,从而获得变形之后的变形区域的图像。变形之后的变形区域的图像,在本实施例中称之为变形区域图像。
在步骤s150中将仅对变形区域进行变形,这样的话,得到变形区域图像之后在融合到原始图像的变形区域对应的位置,显然避免了对原始图像中变形区域以外的其他区域进行图形处理,从而可以维持原始图像中不该形变的原始呈现,从而对第一目标对象以外的其他图形对象进行保护。
在步骤s160中会基于原始图像和变形区域图像,进行原始图像和变形区域图像的融合,获得变形后的图像。在本实施中所述步骤s160可包括:将所述变形区域图像替换掉原始图像中变形区域的图像,就可以直接获得变形后的图像。但是在本实施例中为了避免进行变形区域的变形区域图像替换之后,出现替换导致替换边界处的过于锐利的问题,在本实施例中在融合所述原始图像和变形区域图像时,在将所述变形区域图像替换掉原始图像的变形区域之后,进行边缘模糊处理,使得边缘区域的过度平缓,进一步提升变形图像的图像质量。
可选地,如图2所示,所述s120可包括:
步骤s121:获取所述第一目标对象的多个所述特征点;
步骤s122:根据多个所述特征点在所述原始图像中的坐标参数,选择出所述第一目标对象的中间特征点,作为所述变形区域的中心点,其中,所述中间特征点,为多个所述特征点中位于最中间位置的所述特征点;
步骤s123:获取变形尺寸参数;
步骤s124:基于所述变形尺寸参数及所述中心点,确定所述变形区域。
在本实施例中获取所述特征点,包括:获取第一目标对象的各个特征点在原始图像中的像素坐标;获取了每一个像素坐标之后,就可以根据每一个像素坐标的坐标,选择出位于这些特征点中间位置的特征点,该特征点称之为中间特征点。在本实施例中会将该中间特征点,作为本实施例中变形区域的中心点。例如,变形区域为圆形区域,则该中间特征点的像素坐标将作为所述圆形区域的圆形,若所述变形区域为矩形区域,则该中间特征点的像素坐标将作为该矩形区域的中心点。若所述变形区域为椭圆区域,则该中间特征带你为像素坐标作为该椭圆区域的中间点。
在图3中,第一目标对象为人脸的鼻子,可见鼻子的特征点,可用于描述人脸图像中鼻子的轮廓;在图3中鼻子的特征点包括:位于鼻子边缘的边缘特征点,及位于鼻子中间位置的中间特征点。一般情况下边缘特征点包围中间特征点。在图3所示的虚线圆圈可为以中间特征点形成的圆形变形区域。
在本实施例中所述变形区域的预设形状是与所述第一目标对象相对应的。若当前所述第一目标对象为鼻子或眼睛等,所述变形区域的预设形状为圆形;若所述第一目标对象为人脸或唇部,则所述变形区域的预设形状为椭圆等。当然以上仅是举例,具体实现时不局限于这些情况。
在本实施例中所述变形强度可为电子设备根据预设规则确定的,例如,对人脸中的某一个器官进行变形时,该预设规则可能是基于人类的审美设置的变形规则确定的。
这里的变形尺寸参数,实质上可为描述变形区域的参数,例如,圆形变形区域的半径,矩形变形区域的边长,矩形变形区域的顶点像素的像素坐标,椭圆变形区域的长轴和短轴的取值等。
在步骤s120中在确定出变形尺寸参数之后,基于中心点,显然就能精确定出变形区域,从而获得精确度高的所述变形区域。
可选地,所述步骤s123可包括:
根据所述第一目标对象的边缘特征点及所述中心特征点,确定出第一变形半径,其中,所述边缘特征点,为多个所述特征点中位于边缘位置的所述特征点;
根据所述第一变形半径及第一调整参数,确定第二变形半径;
所述步骤s124可包括:
基于所述第二变形半径及所述中心点,确定所述变形区域。
在本实施例中所述第一调整参数,可为基于用户指示输入的。
如图4所示,在确定出所述中心点和所述第一变形参数之后,在电子设备显示的原始图像上叠加显示第一变形半径对应的基准变形区域,并显示调整空间,在图4中显示的是调整条,所述调整条包括调整导轨及位于导轨上的滑块,用户可以通过触摸或鼠标操作,使得所述滑块在所述导轨上移动,电子设备根据所述滑块的移动参数,确定第一调整参数或第二参数。例如,基于滑块的移动量及移动方向的至少其中之一,确定第一变形参数的缩放比例。具体如,所述移动量用于确定缩放增量,所述移动方向用于确定缩放增量的符号。当移动方向为第一方向时,第一调整参数a=1+b,当移动方向为第一方向时,a=1-b;所述第一方向和第二方向相反,所述滑块的原始位置位于所述导轨的中间位置。所述b为缩放增量。当然以上仅是距离,具体实现时,所述第一调整参数还可以是基于用户移动所述基准变形区域的边缘的移动操作形成的,例如,用户点击基准变形区域的边缘,并在屏幕上推动所述边缘,当推动停止时,则可以基于推动量确定出所述第一调整参数,从而确定出所述第二变形半径。
在图4中调整条为第二调整控件,可用于调整变形强度。在图4中还显示有第一调整控件,用于调整变形区域的范围。
在图4的右图中,滑块位于导轨的最左边,图4的左图中显示的虚线圆表示的为基于第一变形半径确定的变形区域,在图4的右图中滑块移动到导轨的偏中间位置,可理解为变形强度增加了。在图4的第一调整控件包括:多个子控件,当不同给的子控件被选中之后,对对应了不同的第一调整参数,在图4中的左图的第一调整控件的第四个子控件被选中,对应的变形区域为图4的左图中的虚线圆,在图4的右图中的第一调整控件得到第五个子控件被选中,得到的基于第二变形半径确定的变形区域。显然左图中的变形区域的面积小于右图中变形区域的面积。
在一些实施例中,所述方法还包括:
根据所述第一目标对象所在的第二目标对象的特征点,确定出第一变形强度;
根据所述第一变形强度及第二调整参数,确定第二变形强度;
所述步骤s140可包括:
基于所述变形约束点及所述第二变形强度,确定目标点。
在一些实施例中所述变形强度可为用于直接指定的,在本实施例中首先会根据预设规则由电子设备推荐一个变形强度,该变形强度可为第一强度,然后基于用户自己的个性需求,在第一变形强度的基础上调整得到第二变形强度。
这里的第二调整参数可为采用各种方式确定的调整参数。
例如,若当前方案用于进行鼻子缩小,则所述变形强度可用于确定鼻子缩小的比例,缩小后的鼻子的面积等。
故在本实施例中基于变形强度,确定变形约束源点对应的目标点的。
例如,所述第二目标对象为人脸;所述第一目标对象为鼻子。例如第二目标为人脸,则基于大众审美,多大的人脸对应多大的鼻子是比较为美观的,电子设备可以根据预设比例关系,给出一个推荐的变形强度,即所述第一变形强度。然后有些用户可能有自己的需求,则指示需要多大的强度,则本实施例中基于第二调整参数调整第一变形强度,获得第二变形强度。
在一些实施例中,可以基于人脸和鼻子之间的预设比例关系,确定出最佳变形强度及推荐范围;通常所述最佳变形强度为所述推荐范围的中间值;所述最佳变形强度即为所述第一变形强度的一种,然后所述第二调整参数,在所述推荐范围内调整所述第二变形参数,以免用户在不熟悉或操作不当的情况,导致鼻子的缩放过大或过小,反而形成了不符合人类审美的照片。
在进行照片趣味化时,也同样适用于第一变形强度可为趣味化变形的推荐强度和推荐范围,第二调整参数是是的推荐强度在推荐范围内变化,从而确保变形后的图像有足够的变形量,从而形成有趣味的图像。
在具体实现时,若所述第二目标对象为人脸,则所述第二目标对象可为人脸内任意一个器官,即所述第一目标对象不限于鼻子、还可以是眼镜、唇部或额头等脸部的器官或局部。
可选地,所述方法还包括:
获取所述变形区域的外接矩形;
按照所述外接矩形截取所述原始图像,截取图像;
基于所述变形区域转换所述截取图像,获得掩膜图,其中,所述掩膜图位于变形区域内的像素点的像素值为第一取值,所述变形区域外的像素点的像素值为第二取值;
所述步骤s150可,包括:
基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像。
如图10所示,对原始图像(imga)进行抠图处理,截取出imga的变形区域所在的图像,形成所述截取图像(imgi)。
为了保持原始图像中变形区域以外的部分维持不变,在本实施例中通过截取图像的获取,仅对截取图像进行后续处理,形成替换原始图像中变形区域的变形区域图像。
如图10所示,在本实施例中所述掩膜图(imgm)可为二值化的图像。所述掩膜图中的像素的灰度值仅包括:第一取值和第二取值。在本实施例中所述掩膜图的变形区域内的像素的灰度值可为255,变形区域外的像素的灰度值可为0。这样电子设备得到掩膜图之后,就可以知道需要对截取图像的哪些像素进行像素参数的转换了。
当然所述第一取值和所述第二取值不同即可,不局限于255和0,具体还可为0和1等。
可选地,所述方法还包括:对所述掩膜图进行模糊处理,获得所述截取图像的渐变图;
所述步骤s160可包括:基于所述渐变图,获取融合权重参数;
基于所述融合参数,融合所述原始图像和所述变形区域图像。
在本实施例中还获得一个渐变图;该渐变图是基于掩膜图来的。例如,将掩膜图的变形区域内像素的灰度值均设置为255,变形区域外的像素的灰度值均设置为0,这样掩膜图中变形区域边缘处的像素灰度值变化距离,在本实施例中通过模糊处理,使得变形区域边缘处的像素的灰度值渐变化。使得边缘位置处的像素的灰度值从变形区域外的0向255逐步渐进等。
在本实施例中根据渐变图中每一个像素的灰度值确定一个权重参数。例如,当前渐变图中像素坐标为(a,b)像素的灰度值为c,则该c用于变形区域图像与原始图像融合时,像素坐标为(a,b)像素与原始图像中对应像素的融合的权值参数。该权值参数可包括:第一权值参数和第二权值参数,第一权值参数为原始图像中对应像素的原始像素参数在融合参数中影响度值;第二权值参数可为变形区域图像对应像素的像素参数在融合参数中的影响度值。融合后的图像的对应像素的像素参数为原始图像的像素参数值与第一权值参数的乘积,加上变形图像区域中对应像素的像素参数与第二权值参数的乘积。当然,这里仅是举例,但是不限于该举例。
可选地,所述基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像,包括:
基于所述掩膜图,确定所述截取图像待处理像素;
基于所述待处理像素的原始像素参数及所述目标点,获取所述变形区域图像。
在本实施例中掩膜图,不仅用于前述的权值参数的确定,同时还用于进行像素参数转换的像素点的圈定,显然一副掩膜图实现了两种功能,实现了数据的复用,简化了设备的处理流程。
图5所示为人脸图像瘦鼻之前的示意图,在图5中鼻子所在位置的虚线表示瘦鼻之后的鼻子的轮廓,而鼻子所在位置的实线表示瘦鼻之前的鼻子的轮廓。
图6所示为人脸图像瘦鼻之后的示意图。
如图7所示,本实施例提供一种图像处理装置,包括:
第一获取单元110,用于获取原始图像;
第一确定单元120,用于基于原始图像中待变形的第一目标对象的特征点,确定变形区域,其中,所述特征点,用于体现所述第一目标对象的轮廓和/或纹理特征;
选择单元130,用于从所述变形区域选择多个像素点作为定变形约束源点;
第二确定单元140,用于基于变形约束源点及变形强度,确定目标点,其中,所述目标点为所述第一目标对象变形后形成的变形图像的像素点,所述目标点的像素参数等于所述变形约束原点的像素参数;
形成单元150,用于基于所述变形区域内各像素的原始像素参数、所述目标点,确定所述变形区域内每一个像素变形后的像素参数,从而获得变形区域图像;
融合单元160,用于将所述变形区域图像融合到所述原始图像的所述变形区域内,获得变形后的图像。
本实施例提供的图像处理装置,可应用于各种图像处理设备中,所述第一获取单元110可包括:通信接口,可用于从外设接收所述原始图像。所述第一获取单元110也可包括:摄像头,可用于自动采集所述原始图像。
所述第一确定单元120、选择单元130、第二确定单元140、形成单元150及融合单元160都可以对应于处理器或处理电路。所述处理器可为中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列。所述处理电路可包括:专用集成电路。
所述处理器或处理电路通过计算机程序等可执行代码的执行,实现上述功能。
可选地,所述第一确定单元120,用于获取所述第一目标对象的多个所述特征点;根据多个所述特征点在所述原始图像中的坐标参数,选择出所述第一目标对象的中间特征点,作为所述变形区域的中心点,其中,所述中间特征点,为多个所述特征点中位于最中间位置的所述特征点;获取变形尺寸参数;基于所述变形尺寸参数及所述中心点,确定所述变形区域。
在本实施例中首先获取第一目标对象的多个特征点,这里的特征点位于边缘位置的边缘特征点和位于第一目标对象中间区域的中间特征点。在本实施例总基于特征点的分布,确定出所述变形区域。在本实施例中利用中间特征点作为变形区域的中心点,然后基于边缘特征点形成变形尺寸参数,从而形成至少包围全部所述特征点的变形区域。
可选地,所述第一确定单元120,用于根据所述第一目标对象的边缘特征点及所述中心特征点,确定出第一变形半径,其中,所述边缘特征点,为多个所述特征点中位于边缘位置的所述特征点;根据所述第一变形半径及第一调整参数,确定第二变形半径;基于所述第二变形半径及所述中心点,确定所述变形区域。
在本实施例中所述第一调整参数,可为基于用户输入确定的,这样方便用户自行控制所述第一目标对象对应的变形区域,从而满足用户的个性需求。
可选地,所述装置还包括:
第三确定单元,用于根据所述第一目标对象所在的第二目标对象的特征点,确定出第一变形强度;根据所述第一变形强度及第二调整参数,确定第二变形强度;
所述第二确定单元140,具体用于基于所述变形约束点及所述第二变形强度,确定目标点。
在本实施例中所述第三确定单元,可同样对应于处理器或处理电路,这里的处理器或处理电路,同样可以通过代码的执行,实现所述第二变形强度的获取。
第二确定单元140,具体是基于第二变形强度确定出目标点。
可选地,所述第二目标对象为人脸;所述第二目标对象为鼻子。
在一些实施例中,所述装置还包括:
第二获取单元,用于获取所述变形区域的外接矩形;
截取单元,用于按照所述外接矩形截取所述原始图像,截取图像;
转换单元,用于基于所述变形区域转换所述截取图像,获得掩膜图,其中,所述掩膜图位于变形区域内的像素点的像素值为第一取值,所述变形区域外的像素点的像素值为第二取值;
所述形成单元150,用于基于所述掩膜图,所述截取图像的原始像素参数及所述目标点,获得所述变形区域图像。
在本实施例中第二获取单元、截取单元及转换单元,都可对应于处理器或处理电路,可通过对应代码的执行简便实现上述功能。
所述形成单元150基于掩膜图,形成确定出变形区域,在对应变形区域内的像素重新逐像素的确定像素参数,从而获得变形后的变形区域图像。
可选地,所述装置还包括:
模糊处理单元,用于对所述掩膜图进行模糊处理,获得所述截取图像的渐变图;
所述融合单元160,用于基于所述渐变图,获取融合权重参数;基于所述融合参数,融合所述原始图像和所述变形区域图像。
所述模糊处理单元同样可对应于处理器或处理电路,所述处理器或处理电路,通过代码执行实现新的变形后的图像的生成。
进一步地,所述形成单元150,具体用于基于所述掩膜图,确定所述截取图像待处理像素;基于所述待处理像素的原始像素参数及所述目标点,获取所述变形区域图像。
如图8所示,本实施例还提供一种电子设备,其特征在于,包括:
存储器210,用于存储计算机程序;
处理器220,与所述存储器210连接,用于通过执行所述计算机程序,实现前述任意一个实施例提供的图像处理方法。
存储器210可包括:各种类型的存储介质,该存储介质可为非瞬间存储介质,如只读存储介质等,当然所述存储器还可包括:闪存等。
所述处理器220可包括:中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列等。
处理器220和存储器210之间通过总线230连接,该总线230可为集成电路(iic)总线,还可以是外设互连标准(pci)总线。该总线可用于存储器和处理器之间的信息交互。
在一些实施例中,所述电子设备还包括:显示器240,该显示器240用于显示图像信息和/或文本信息,方便显示原始图像、截取图像、变形区域图像及融合后的变形图像等。
在一些实施例中如图所示,所述电子设备还包括:通信接口250,该通信接口250可用于与其他电子设备进行信息交互。
本实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行后,能够现前述任意一个实施例提供的图像处理方法。
以下结合上述任意实施例提供一个具体的方案:
本示例提供一种图像处理方法,包括:输入人脸图像imga;输出结果图像imgr。
第一步:从imaga中进行人脸特征定位,获得人脸特征点,这里的人脸特征点fi,用于表征imaga中人脸的轮廓信息和/或人脸中各个器官的位置信息等。例如,所述fi包括m个,所述m可能等于80,其中,第56个,即i=56为鼻子的特征点,即fi(i=56,…,64)。本示例中使用了人脸识别算法得到的鼻子部位相关定位点共9个点,以分别是i5=56-64。
第二步:获取变形半径参数为r及变形强度参数为m。
第三步:确定变形区域,可包括:根据输入图像定位点信息fi(i=64),变形半径r,计算得到瘦鼻对应矩形区域rect(x,y,w,h),对应区域图像imgi。其中,坐标(x,y)表示的矩形区域的一个顶点位置,w表示的矩形宽度,h表示的是矩形的高度。在本示例中坐标(x,y)可为矩形区域的左顶点的坐标。
矩形区域对应于imaa中的像素区域计算方式如下:
r0=r*ratio(1),ratio(1)为测试经验值常数,例如1.3,ratio(1)为第一调整参数,可为经验值,也可以是基于用户输入确定的值;
x=fi.x-r0;y=fi.y-r0;w=2.0*r0;h=2.0*r0;所述fi.x为第i个鼻子特征点的横坐标;fi.y为第i个鼻子特征点的纵坐标。
第四步:对变形区域进行变形,可包括:
基于fi位置信息处理得到瘦鼻变形区域掩膜(mask)图imgm,处理方法如下:
创建图像imgm,单通道,长宽同rect(w,h),设置所有像素值的像素参数设置为0。以fi(i=64)为圆心,半径为r0,在imgm上绘制圆形,设置圆形区域内像素的像素参数为255。这里的像素参数至少包括:表征灰度值。
上述r0=r*c0,c0为固定参数值,根据测试经验值取出,例如0.9;
处理结果为变形区域mask图:imgm,单通道,任意位置(x,y)对应像素值g,定义g>0:变形区域;g=0:非变形区域。
根据变形半径参数r及特征点fi(i=64)计算得到变形约束源点sj(j=0,1,2,…7),目标点dj(j=0,1,2,…7),以dj(dx,dy),fi(i=64)(fx,fy),si(sx,sy)为例。dx表示的目标点的横坐标;dy表示的目标点的纵坐标;fx表示的特征点的横坐标,fy为特征点纵坐标。
以下以计算第j个像素点的转换为例,提供计算方式:
sx=fx+r1*cos(ai),sy=fy+r1*sin(aj);
dx=fx+r2*cos(ai),dy=fy+r2*sin(aj);
r1计算公式:r1=r*c1,c1为固定参数值根据测试经验值得出,例如0.8;
r2计算公式:r2=r*(1.0-m*ratio(2)),ratio(2)为经验值常数,例如0.6,m为输入的变形强度参数。
aj等角度选取变形约束原点的角度值,具体可为0度,45度,90度,…315度,以45度递增对应取出8个角度值。
根据输入图像(imgi),sj,fi(i=64),dj,imgm,基于变形算法计算得到变形结果图imgr0。
第五步:进行变形图像和原始图像的融合,包括:
对imgm做模糊处理,结果表示为渐变图(imgalpha),以imgalpha图像为权重参数,融合imgr0到输入图imga,得到结果图imgr,计算结果过程如下:
定义输入图像位置(x,y)对应像素取值imgalpha(g),imga(r,g,b),imgr(r,g,b),imgr0(r,g,b),计算公式如下:
r(r,g,b)=a(r,g,b)*(255-g)+r0(r,g,b)*(g);
r表示的为像素对应的红色的色彩值,取值范围可为0到255;g表示的为像素对应的绿色的色彩值,取值范围可为0到255;b表示的为为像素对应的蓝色的色彩值,取值范围可为0到255;g表示的像素的灰度值,取值范围同样可为0到255。
如图9所示,本示例提供的图像处理方法包括:
步骤s1:输入图imga,鼻子特征点fi(i=64),变形半径r及变形强度mag;
步骤s2:以fi(i=64)为圆心,r*ratio(1)为半径,间隔45度夹角,一次取8个点作为变形约束源点sj(j=0,……,7);
步骤s3:基于变形约束原点,变形强度mag,计算出变形的目标点dj(j=0,……,7);
步骤s4:计算出变形矩形区域rect(x,y,w,h),从imaga复制rect(x,y,w,h)图像作为imgi,作为变形输入;
步骤s5:基于rect(x,y,w,h)及imgi,计算出瘦鼻变形mask图:imgm;
步骤s6:基于imgm,计算出单通道灰度图imgalpha,用于合并变形输出结果;
步骤s7:输入sj,dj,imgi,imgm,应用变形算法得到输出图imgr0;
步骤s8:基于imgalpha,融合imgr0与imga,输出结果图imagr;
步骤s9:输出结果图imgr。
图10所示为在图像处理过程中,图像之间的演变关系图;首先,从原始图像imga中截取获得imgi,对imgi进行处理,得到掩膜图imgm;对掩膜图imgm进行处理得到渐变图imgalpha;基于imgi和imgm得到缩鼻后的imgr0;将imga、imgalpha及imgr0进行融合,得到imgr。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。