CN108447023A - 图像处理方法、装置及电子设备 - Google Patents

图像处理方法、装置及电子设备 Download PDF

Info

Publication number
CN108447023A
CN108447023A CN201810229287.3A CN201810229287A CN108447023A CN 108447023 A CN108447023 A CN 108447023A CN 201810229287 A CN201810229287 A CN 201810229287A CN 108447023 A CN108447023 A CN 108447023A
Authority
CN
China
Prior art keywords
pixel
target
oval
center
circle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810229287.3A
Other languages
English (en)
Other versions
CN108447023B (zh
Inventor
李艳杰
眭帆
眭一帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810229287.3A priority Critical patent/CN108447023B/zh
Publication of CN108447023A publication Critical patent/CN108447023A/zh
Application granted granted Critical
Publication of CN108447023B publication Critical patent/CN108447023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种图像处理方法、装置及电子设备,其中,方法包括:检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域;针对图像中的每个像素点,判断该像素点是否属于待处理区域;根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。由此可知,该方式无需对图像中所有像素点进行处理,仅针对待处理区域内的像素点进行旋转处理,能够减小运算量,提升图像处理的速度,并且能够达到对图像中的处理对象进行旋转效果。

Description

图像处理方法、装置及电子设备
技术领域
本发明涉及图像处理技术领域,具体涉及一种图像处理方法、装置及电子设备。
背景技术
随着计算机图像处理技术的发展,图像美化变得越来越简便与普及,将图像美化技术应用于图像后期处理、视频直播、录制视频等场景中,例如微整形特效处理,微整形特效处理即是仅针对图像中的部分区域中的像素点进行处理,如在对人脸图像进行微整形特效处理的应用场景中,包括瘦脸、放大眼睛、拉高鼻梁、缩小鼻翼等等技术手段,可以提升趣味性以及图像的美感,因此,图像美化中的微整形特效处理技术更是得到了人们广泛的关注与青睐。
但是,发明人在实现本发明的过程中,发现现有技术中的上述方式至少存在如下问题:微整形特效处理往往会对图像中所有像素点进行处理,而没有考虑实际的变形区域,从而对一些不需要进行处理的像素点也进行了处理,增加了很多额外的运算量,降低了微整形特效处理的实时性,并且,现有技术中没有一种针对图像中的处理对象进行旋转处理的方法。综上所述,现有技术中尚没有一种能够很好地解决上述问题的技术方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的图像处理方法、装置及电子设备。
根据本发明的一个方面,提供了一种图像处理方法,包括:检测图像中的处理对象所对应的多个关键点,根据所述多个关键点确定与所述处理对象相对应的待处理区域;针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域;若是,根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据所述旋转角度信息将该像素点旋转至目标位置。
可选地,所述待处理区域为椭圆形待处理区域,且所述椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
可选地,所述针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域的步骤具体包括:
针对所述图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值;
根据所述椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值;
利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与所述椭圆圆心之间的等效圆周距离;
判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述椭圆纵轴的长度;若否,确定该像素点属于所述待处理区域。
可选地,所述针对所述图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值的步骤具体包括:
预先将所述椭圆圆心确定为目标坐标系的目标坐标原点,根据所述椭圆横轴确定目标坐标系的目标横向坐标轴,根据所述椭圆纵轴确定目标坐标系的目标纵向坐标轴;
根据所述目标坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
可选地,所述待处理区域进一步包括:目标处理区域以及环境处理区域;则所述根据所述多个关键点确定与所述处理对象相对应的待处理区域的步骤具体包括:
根据所述处理对象的轮廓和/或形状,确定所述图像中包含的与所述处理对象相对应的目标处理区域;
根据所述目标处理区域,确定位于所述目标处理区域外围的环境处理区域;
并且,所述根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息的步骤具体包括:
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
可选地,所述目标处理区域为椭圆形目标处理区域,所述环境处理区域为位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域;
则所述根据所述处理对象的轮廓和/或形状,确定所述图像中包含的与所述处理对象相对应的目标处理区域的目标区域形状以及目标区域范围的步骤具体包括:
根据所述多个关键点确定目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴,根据所述目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴确定所述椭圆形目标处理区域的目标区域形状以及目标区域范围;
所述根据所述目标处理区域的目标区域形状以及目标区域范围,确定位于所述目标处理区域外围的环境处理区域的环境区域形状以及环境区域范围的步骤具体包括:
将所述目标圆心确定为所述椭圆圆心,根据所述目标横轴和/或目标纵轴确定所述椭圆横轴和/或椭圆纵轴,根据所述椭圆圆心、椭圆横轴以及椭圆纵轴确定所述椭圆形待处理区域;根据所述椭圆形待处理区域以及所述椭圆形目标处理区域确定位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域。
可选地,所述根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述目标处理区域的步骤具体包括:
判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述目标纵轴的长度;若否,确定该像素点属于所述目标处理区域。
可选地,所述椭圆横轴的长度为所述目标横轴的长度的第一预设倍数,和/或所述椭圆纵轴的长度为所述目标纵轴的长度的第二预设倍数;其中,所述第一预设倍数和/或第二预设倍数不小于1。
可选地,所述方法进一步包括:
预先确定当像素点到椭圆圆心的等效圆周距离不大于目标纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第一映射关系,且所述目标处理规则根据该第一映射关系确定;
预先确定当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第二映射关系,且所述环境处理规则根据该第二映射关系确定。
可选地,所述根据所述旋转角度信息将该像素点旋转至目标位置的步骤具体包括:
根据所述旋转角度信息以及该像素点的原始坐标值,计算该像素点的目标坐标值;
根据所述目标坐标值确定所述目标位置,将该像素点旋转至所述目标位置。
可选地,所述根据所述目标坐标值确定所述目标位置,将该像素点旋转至所述目标位置的步骤具体包括:
预先创建与所述图像相对应的空白图像,在所述空白图像中根据所述目标坐标值确定所述目标位置。
可选地,所述根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息的步骤之后,进一步包括:
根据预设旋转修正规则,确定与该像素点相对应的修正因子,根据所述修正因子对该像素点相对应的旋转角度信息进行修正,得到旋转修正信息;
则所述根据所述旋转角度信息将该像素点旋转至目标位置的步骤具体包括:根据所述旋转修正信息将该像素点旋转至目标位置。
可选地,所述方法通过图形处理器实现。
根据本发明的另一方面,提供了一种图像处理装置,包括:关键点检测模块,适于检测图像中的处理对象所对应的多个关键点;待处理区域确定模块,适于根据所述多个关键点确定与所述处理对象相对应的待处理区域;判断模块,适于针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域;旋转角度信息确定模块,适于若是,根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息;旋转模块,适于根据所述旋转角度信息将该像素点旋转至目标位置。
可选地,所述待处理区域为椭圆形待处理区域,且所述椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
可选地,所述装置进一步包括:
坐标值确定模块,适于针对所述图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值;
缩放模块,适于根据所述椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值;
等效圆周距离计算模块,适于利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与所述椭圆圆心之间的等效圆周距离;
则所述判断模块进一步适于:判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述椭圆纵轴的长度;若否,确定该像素点属于所述待处理区域。
可选地,所述坐标值确定模块进一步适于:
预先将所述椭圆圆心确定为目标坐标系的目标坐标原点,根据所述椭圆横轴确定目标坐标系的目标横向坐标轴,根据所述椭圆纵轴确定目标坐标系的目标纵向坐标轴;
根据所述目标坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
可选地,所述待处理区域进一步包括:目标处理区域以及环境处理区域;则所述待处理区域确定模块进一步适于:
根据所述处理对象的轮廓和/或形状,确定所述图像中包含的与所述处理对象相对应的目标处理区域;
根据所述目标处理区域,确定位于所述目标处理区域外围的环境处理区域;
并且,所述旋转角度信息确定模块进一步适于:
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
可选地,所述目标处理区域为椭圆形目标处理区域,所述环境处理区域为位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域;
则所述待处理区域确定模块进一步适于:
根据所述多个关键点确定目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴,根据所述目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴确定所述椭圆形目标处理区域的目标区域形状以及目标区域范围;
则所述待处理区域确定模块进一步适于:
将所述目标圆心确定为所述椭圆圆心,根据所述目标横轴和/或目标纵轴确定所述椭圆横轴和/或椭圆纵轴,根据所述椭圆圆心、椭圆横轴以及椭圆纵轴确定所述椭圆形待处理区域;根据所述椭圆形待处理区域以及所述椭圆形目标处理区域确定位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域。
可选地,所述判断模块进一步适于:
判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述目标纵轴的长度;若否,确定该像素点属于所述目标处理区域。
可选地,所述椭圆横轴的长度为所述目标横轴的长度的第一预设倍数,和/或所述椭圆纵轴的长度为所述目标纵轴的长度的第二预设倍数;其中,所述第一预设倍数和/或第二预设倍数不小于1。
可选地,所述装置进一步包括:
映射关系确定模块,适于预先确定当像素点到椭圆圆心的等效圆周距离不大于目标纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第一映射关系,且所述目标处理规则根据该第一映射关系确定;
所述映射关系确定模块进一步适于:预先确定当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第二映射关系,且所述环境处理规则根据该第二映射关系确定。
可选地,所述旋转模块进一步适于:
根据所述旋转角度信息以及该像素点的原始坐标值,计算该像素点的目标坐标值;
根据所述目标坐标值确定所述目标位置,将该像素点旋转至所述目标位置。
可选地,所述旋转模块进一步适于:
预先创建与所述图像相对应的空白图像,在所述空白图像中根据所述目标坐标值确定所述目标位置。
可选地,所述装置进一步包括:
修正模块,适于根据预设旋转修正规则,确定与该像素点相对应的修正因子,根据所述修正因子对该像素点相对应的旋转角度信息进行修正,得到旋转修正信息;
则所述旋转模块进一步适于:根据所述旋转修正信息将该像素点旋转至目标位置。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述图像处理方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述图像处理方法对应的操作。
在本发明提供的图像处理方法、装置及电子设备中,首先,检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域;其次,针对图像中的每个像素点,判断该像素点是否属于待处理区域;最后,根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。由此可知,该方式无需对图像中所有像素点进行处理,仅针对待处理区域内的像素点进行旋转处理,能够减小运算量,提升图像处理的速度,并且能够达到对图像中的处理对象进行旋转的效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的图像处理方法的流程示意图;
图2示出了根据本发明另一个实施例的图像处理方法的流程示意图;
图3示出了根据本发明又一个实施例的图像处理装置的结构示意图;
图4示出了根据本发明实施例的电子设备的结构示意图;
图5示出了一种形式的旋转角度查找表的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的图像处理方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S110,检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域。
其中,图像可以是摄像机拍摄的照片,也可以是拍摄的视频流中的图像帧,处理对象可以是图像中的面部区域、五官等等,本发明对此不作限定。针对图像中的处理对象,检测处理对象的多个关键点,实际应用中,可预先固定图像中的处理对象,即处理过程中仅针对固定的多个处理对象进行处理,或者用户也可自行选定图像中的处理对象,本发明对此不作限定。
例如,在对人脸图像进行处理的应用场景中,处理对象可以是人脸或者五官部位,则关键点可以是与面部五官和/或面部轮廓相对应的特征点,具体可以指面部轮廓位置上所对应的特征点、面部五官位置上所对应的特征点以及面部其它部位上所对应的特征点。需要说明的是,本发明对检测关键点的方式不作限定。
根据检测到的处理对象所对应的多个关键点,确定图像中与处理对象相对应的待处理区域,待处理区域的区域形状、区域轮廓以及区域范围等均可根据处理对象的各个关键点进行确定。例如,若确定处理对象为图像中的眼睛部位,则根据检测到的眼睛部位的多个关键点确定与眼睛相对应的待处理区域。
步骤S120,针对图像中的每个像素点,判断该像素点是否属于待处理区域,若是,则执行步骤S130;若否,本方法结束。
根据步骤S120确定了与处理对象相对应的待处理区域,待处理区域内的像素点即是需要进行处理的像素点,具体应用中,可在图像中建立坐标系,计算图像中每个像素点在该坐标系中的坐标值,根据像素点的坐标值判断该像素点是否属于待处理区域,或者根据像素点与待处理区域的中心之间的距离判断该像素点是否属于待处理区域。本方法对判断像素点是否属于待处理区域的方式不进行限定,本领域技术人员可根据实际需要进行设置。
步骤S130,根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。
实际应用中,对图像进行微整形特效处理往往只需要处理图像中的部分像素点,无需遍历图像中所有的像素点,具体根据划分得到的待处理区域确定需要进行处理的像素点,因此,本步骤中若判断出该像素点属于待处理区域,则根据该像素点与待处理区域的区域中心之间的距离对该像素点进行旋转处理。
其中,待处理区域的区域中心可根据待处理区域的区域形状、区域范围以及检测到的处理对象所对应的多个关键点进行确定,例如,根据眼睛部位所对应的多个关键点确定待处理区域的区域形状为椭圆,将眼睛部位的中心关键点确定为该椭圆形待处理区域的区域中心。
像素点与待处理区域的区域中心之间的距离可根据该像素点的坐标值进行计算,具体地,在图像中建立图像坐标系,分别计算在该图像坐标系下该像素点的坐标值以及区域中心的坐标值,进一步根据像素点以及区域中心的坐标值计算像素点与区域中心之间的距离。
根据像素点与区域中心之间的距离确定与该像素点相对应的旋转角度信息,具体可根据像素点与区域中心之间的距离与旋转角度信息之间的映射关系,确定与像素点相对应的旋转角度信息,旋转角度信息可以包括:旋转角度、旋转方向。进一步根据旋转角度信息将该像素点旋转至目标位置,具体可根据旋转角度信息以及像素点的坐标值确定目标坐标值,在图像中确定该目标坐标值对应的目标位置,将该像素点的像素值赋值给位于该目标位置处的像素点,由此完成了对像素点进行旋转处理。
根据本实施例所提供的图像处理方法,检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域;针对图像中的每个像素点,判断该像素点是否属于待处理区域;根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。由此可知,该方式无需对图像中所有像素点进行处理,仅针对待处理区域内的像素点进行旋转处理,能够减小运算量,提升图像处理的速度,并且能够达到对图像中的处理对象进行旋转的效果。
图2示出了根据本发明另一个实施例的图像处理方法的流程示意图,其中,本实施例的方法可通过图形处理器实现,当然,还可以通过其他方式实现,本发明对此不作限定。如图2所示,该方法包括以下步骤:
步骤S210,检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域,其中,待处理区域为椭圆形待处理区域,且椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
其中,图像可以是摄像机拍摄的照片,也可以是拍摄的视频流中的图像帧,本发明对此不作限定。针对图像中的处理对象,检测处理对象的多个关键点,实际应用中,系统可预先选定图像中的处理对象,即仅针对固定的一些处理对象进行处理,也可根据实际需要自行选定图像中的处理对象,即可根据用户需求调整处理对象的数量及类型,本发明对此不作限定。
在对人脸图像进行处理的应用场景中,处理对象包括:面部区域、面部轮廓和/或五官部位;其中,五官部位包括以下中的至少一个:眼睛、鼻子、眉毛、嘴巴、以及耳朵,则处理对象所对应的多个关键点包括面部区域、面部轮廓和/或五官部位相对应的特征点,具体可以指面部轮廓位置上所对应的特征点、面部五官位置上所对应的特征点以及面部其它部位上所对应的特征点。另外,本发明对处理对象所对应的关键点的个数、分布位置以及检测方式均不作限制,凡是能够检测关键点的方式都应该包含在本发明的保护范围内。
现有的微整形特效处理技术中,往往需要对图像中所有像素点进行处理,针对图像中的每一个像素点进行处理,而微整形特效处理技术即是针对图像中的部分区域进行处理,例如,针对一个包含人脸的图像进行微整形特效处理,仅仅需要对人脸区域内的像素点进行处理,人脸区域外的像素点则不需要进行处理或者仅做适应性的调整,因此,为了减少运算量,提高图形处理的速度,本实施例的方法根据处理对象的关键点确定待处理区域,仅针对待处理区域内的像素点进行旋转处理。
在一种对人脸图像进行处理的应用场景中,待处理区域为椭圆形待处理区域,则根据处理对象的关键点确定椭圆圆心、椭圆横轴以及椭圆纵轴,进一步根据椭圆圆心、椭圆横轴以及椭圆纵轴确定该椭圆形处理区域。由于人脸以及五官部位的轮廓更近似于椭圆形,将待处理区域设置为椭圆形处理区域能够使待处理区域更加贴合人脸或者五官部位的轮廓,并且能够使待处理区域内包含尽可能少的不需要进行处理的像素点,从而减少运算量,提升处理的速度。其中,椭圆横轴与椭圆纵轴是相互垂直的,但是本发明对椭圆横轴以及椭圆纵轴的具体方位不作限定,本领域技术人员可根据实际需要进行调整。
需要说明的是,本实施例中的椭圆形待处理区域并不单单指椭圆横轴的长度与椭圆纵轴的长度不相等的椭圆形待处理区域,由于圆形也是一种特殊的椭圆形,因此椭圆形待处理区域还可以指椭圆横轴的长度与椭圆纵轴的长度相等的圆形待处理区域,具体需要根据实际情况确定。
可选地,待处理区域进一步包括:目标处理区域以及环境处理区域;则根据多个关键点确定与处理对象相对应的待处理区域的步骤具体包括:
根据处理对象的轮廓和/或形状,确定图像中包含的与处理对象相对应的目标处理区域;根据目标处理区域,确定位于目标处理区域外围的环境处理区域。
实际应用中,在对图像中的某个区域内的像素点进行处理而对该区域之外的像素点保持原始状态的情况下,可能会导致经过处理后的图像显得不自然,变动痕迹明显,因此也需要对该区域之外的部分像素点做相应的处理。
本实施例的方法进一步将待处理区域划分为目标处理区域以及环境处理区域,由于目标处理区域是根据处理对象的轮廓和/或形状确定的,因此,目标处理区域是最贴合处理对象的区域,将位于目标处理区域外围的部分区域确定为环境处理区域,则针对目标处理区域内的像素点以及环境处理区域内的像素点可采取不同的处理规则进行处理,以此削弱变动痕迹。通俗地来讲,可以将环境处理区域理解为一个缓冲区域,对目标处理区域内的像素点需要进行变动程度相对较大的处理,而对环境处理区域内的像素点则可以仅进行适应性的调整。
可选地,目标处理区域为椭圆形目标处理区域,环境处理区域为位于椭圆形目标处理区域外围的椭圆环状环境处理区域。由此可知,待处理区域包括椭圆形目标处理区域和椭圆环状环境处理区域。
则根据处理对象的轮廓和/或形状,确定图像中包含的与处理对象相对应的目标处理区域的目标区域形状以及目标区域范围的步骤具体包括:
根据多个关键点确定目标圆心以及经过目标圆心的目标横轴和/或目标纵轴,根据目标圆心以及经过目标圆心的目标横轴和/或目标纵轴确定椭圆形目标处理区域的目标区域形状以及目标区域范围;
根据目标处理区域的目标区域形状以及目标区域范围,确定位于目标处理区域外围的环境处理区域的环境区域形状以及环境区域范围的步骤具体包括:
将目标圆心确定为椭圆圆心,根据目标横轴和/或目标纵轴确定椭圆横轴和/或椭圆纵轴,根据椭圆圆心、椭圆横轴以及椭圆纵轴确定椭圆形待处理区域;根据椭圆形待处理区域以及椭圆形目标处理区域确定位于椭圆形目标处理区域外围的椭圆环状环境处理区域。其中,椭圆横轴的长度为目标横轴的长度的第一预设倍数,和/或椭圆纵轴的长度为目标纵轴的长度的第二预设倍数;其中,第一预设倍数和/或第二预设倍数不小于1。
根据与处理对象的多个关键点确定目标圆心,具体可以将处理对象所对应的中心关键点确定为目标圆心,然后,根据目标圆心与各个关键点之间的位置关系以及距离,确定目标横轴的位置方向和长度,以及目标纵轴的位置方向和长度,进一步根据目标圆心、目标横轴以及目标纵轴确定目标处理区域的区域范围。例如,当处理对象为眼睛部位时,则确定眼睛中心关键点为目标圆心,确定连接眼睛中心关键点到该眼睛部位任一侧的眼角关键点的线段为目标横轴,确定连接眼睛中心关键点与该眼睛的上侧或者下侧边界关键点的线段为目标纵轴。最后,根据该圆心、目标横轴以及目标纵轴确定椭圆形目标处理区域。
然后,根据椭圆形目标处理区域确定椭圆形待处理区域,由上述内容可知,椭圆形目标处理区域与椭圆形待处理区域为同心椭圆形区域,具体可以使目标横轴与椭圆横轴相重合,以及目标纵轴与椭圆纵轴相重合,并将椭圆横轴的长度设置为目标横轴的长度的第一预设倍数,以及椭圆纵轴的长度设置为目标纵轴的长度的第二预设倍数,其中,第一预设倍数与第二预设倍数可以相同,则在此情况下,目标横轴与目标纵轴的横纵比值与椭圆横轴与椭圆纵轴的横纵比值相等,第一预设倍数与第二预设倍数也可以不同,但两者的数值中至少有一个不能小于1,也即,椭圆形待处理区域的区域范围大于目标处理区域的区域范围。进一步根据椭圆形待处理区域以及椭圆形目标处理区域确定位于椭圆形目标处理区域外围的椭圆环状环境处理区域,也就是说,椭圆形环状环境区域是位于椭圆形目标处理区域与椭圆形待处理区域之间的椭圆环区域。
步骤S220,针对图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值。
具体应用中,可在图像中建立坐标系,针对图像中的每个像素点,计算像素点在该坐标系下的原始横坐标值以及原始纵坐标值,具体地,根据待处理区域在图像中建立区域坐标系,针对图像中的每个像素点,计算像素点在该区域坐标系下的原始横坐标值以及原始坐标值。可选地,当待处理区域为椭圆形待处理区域时,预先将椭圆圆心确定为坐标系的坐标原点,根据椭圆横轴确定坐标系的横向坐标轴,根据椭圆纵轴确定坐标系的纵向坐标轴,根据坐标系计算该像素点的原始横坐标值以及原始纵坐标值。也即,将上述目标圆心作为坐标原点,根据目标横轴确定坐标系的横向坐标轴,根据目标纵轴确定坐标系的纵向坐标轴,根据坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
步骤S230,根据椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值。
本实施例的方法通过计算像素点到椭圆圆心之间的等效圆周距离,进一步根据等效圆周距离判断该像素点是否属于该椭圆形待处理区域。具体地,首先计算椭圆横轴的长度与椭圆纵轴的长度的横纵比值,利用该横纵比值对该像素点的原始横坐标值进行缩放处理,将原始横坐标值与横纵比值之间的比值确定为该像素点的缩放横坐标值。其中,在第一预设倍数与第二预设倍数相等的情况下,缩放横纵坐标值也可根据目标横轴的长度与目标纵轴的长度的横纵比值与像素点的原始横坐标值进行确定,与上述方式类似,在此不再赘述。
另外,当椭圆横轴的长度与椭圆纵轴的长度相等时,即待处理区域为圆形待处理区域,椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值为1。
步骤S240,利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与椭圆圆心之间的等效圆周距离。
本实施例的方法通过计算像素点与椭圆圆心之间的等效圆周距离,能够把椭圆横轴的长度不同于椭圆纵轴的长度的椭圆形待处理区域等效为圆形待处理区域,针对每个像素点,判断该像素点是否属于待处理区域。在实际应用中,像素点与椭圆圆心之间的等效圆周距离可通过以下公式1计算:
D=[(x/ratio)2+y2]1/2 (公式1)
其中,D为像素点与椭圆圆心之间的等效圆周距离,x为像素点的原始横坐标值,y为像素点的原始坐标值,ratio为椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值,则x/ratio为该像素点的缩放横坐标值。
步骤S250,判断该像素点与椭圆圆心之间的等效圆周距离是否大于椭圆纵轴的长度,若否,则执行步骤S260;若是,本方法结束。
判断像素点与椭圆圆心之间的等效圆周距离是否大于椭圆纵轴的长度,该步骤即是判断该像素点是否属于待处理区域。需要说明的是,等效圆周距离与比较的对象具有对应关系。具体地,若等效圆周距离是根据椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到的该像素点的缩放横坐标值以及原始纵坐标值计算得到的,则本步骤判断该像素点与椭圆圆心之间的等效圆周距离是否大于椭圆纵轴的长度;若等效圆周距离是根据椭圆纵轴的长度与椭圆横轴的长度之间的纵横比值对该像素点的原始纵坐标值进行缩放处理后得到的该像素点的缩放纵坐标值以及原始横坐标值计算得到的,则本步骤判断该像素点与椭圆圆心之间的等效圆周距离是否大于椭圆横轴的长度,本领域技术人员可根据实际情况进行调节。换言之,本实施例中的横轴和纵轴可以互换,相应地,横纵比值即转变为纵横比值,本发明不限定具体的实现方式。
步骤S260,确定该像素点属于待处理区域,根据该像素点与待处理区域的椭圆圆心之间的等效圆周距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。
若判断出该像素点与椭圆圆心之间的等效圆周距离不大于椭圆纵轴的长度,确定该像素点属于待处理区域,则按照预设的旋转规则对该像素点进行处理。
本实施例中具体以待处理区域为椭圆形待处理区域为例说明本发明的方法,本领域技术人员可以理解的是,本发明对待处理区域的区域形状或者轮廓并不做限定,则相应地,判断像素点是否属于待处理区域的方式以及确定像素点对应的旋转角度信息的方式也因待处理区域的区域形状的不同而不同。例如,对于待处理区域为圆形待处理区域的应用场景,判断像素点是否属于待处理区域具体为:判断该像素点与该圆形待处理区域的区域圆心之间的距离是否大于该圆形待处理区域的区域半径的长度,若否,则确定该像素点属于待处理区域。进一步根据该像素点与区域圆心之间的距离确定对应的旋转角度信息,根据旋转角度信息对像素点进行旋转处理。
根据上述内容所描述的,本实施例中确定与像素点相对应的旋转角度信息的方式进一步包括:根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息。
具体为:当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
也就是说,若判断出该像素点与椭圆圆心之间的距离不大于椭圆纵轴的长度,即该像素点属于待处理区域,进一步判断该像素点是否属于目标处理区域,具体判断该像素点与目标圆心之间的距离是否不大于目标纵轴或者目标横轴的长度,若否,确定该像素点属于目标处理区域,则按照预设的目标处理规则对该像素点进行处理;若是,则确定该像素点属于环境处理区域,则按照预设的环境处理规则对该像素点进行处理。
相应地,当待处理区域为椭圆形待处理区域时,根据该像素点与待处理区域的区域中心之间的距离确定该像素点是否属于目标处理区域的步骤具体包括:
判断该像素点与椭圆圆心之间的等效圆周距离是否大于目标纵轴的长度;若否,确定该像素点属于目标处理区域;若是,确定该像素点属于环境处理区域。
进一步地,若判断出像素点属于目标处理区域,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;若判断出像素点属于环境处理区域,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
其中,目标处理规则以及环境处理规则可通过以下方式确定:
预先确定当像素点到椭圆圆心的等效圆周距离不大于目标纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第一映射关系,且目标处理规则根据该第一映射关系确定;预先确定当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第二映射关系,且环境处理规则根据该第二映射关系确定。
其中,第一映射关系可根据第一旋转角度查找表进行确定,第一旋转角度查找表的横轴代表像素点到目标圆心之间的等效圆周距离,纵轴代表像素点的旋转角度,第一旋转角度查找表可以表明到椭圆圆心的等效圆周距离不同的多个像素点对应的旋转距离之间的差异,并且第一映射关系的映射规律如下:当像素点到目标圆心的等效圆周距离不大于目标纵轴的长度时,在像素点与目标圆心之间的等效圆周距离由小变大的过程中,像素点的旋转角度由一个最大值逐渐减小,其中,该最大值可根据实际需要进行调整。
第二映射关系可根据第二旋转角度查找表进行确定,第二旋转角度查找表的横轴代表像素点到目标圆心之间的等效圆周距离,纵轴代表像素点的旋转角度,第二旋转角度查找表可以表明到椭圆圆心的等效圆周距离不同的多个像素点对应的旋转角度之间的差异,并且第二映射关系的映射规律如下:当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,在像素点与目标圆心之间的等效圆周距离由小变大的过程中,像素点的旋转角度从一个固定值逐渐减小,其中,该固定值可根据实际需要进行调整,通过上述方式可以保证未经过处理的区域与经过处理的区域之间具有平滑的过渡。此外,本实施例的方法通过设置不同处理区域对应的对象处理规则,能够对削弱图像的变更痕迹,提升图像的美感。
为了便于理解,图5示出了一种形式的旋转角度查找表的示意图,如5图所示,对于待处理区域内的像素点,在像素点与目标圆心之间的等效圆周距离由小变大的过程中,像素点的旋转角度先保持在一个固定值,再由该固定值逐渐减小为零,其中R具体可以指椭圆形待处理区域的椭圆纵轴或横轴的长度。
另外,本领域技术人员能够理解的是,本发明设置目标处理规则以及环境处理规则的目的在于:将目标处理区域以及环境处理区域区分对待,从而能够更好地实现平滑的过渡,因此,本发明并不限定目标处理规则以及环境处理规则的具体内容(即第一映射关系和第二映射关系的具体形式可以灵活调整)。然后,根据旋转角度信息将该像素点旋转至目标位置,具体地,根据旋转角度信息以及该像素点的原始坐标值,计算该像素点的目标坐标值;根据目标坐标值确定目标位置,将该像素点旋转至目标位置。
其中,对像素点进行旋转处理可在原始图像中进行,即针对待处理区域内的每一个像素点,根据该像素点与椭圆圆心之间的等效圆周距离确定像素点对应的旋转角度信息,根据旋转角度信息以及该像素点的原始坐标值确定目标位置,并且将像素点旋转至目标位置可通过将该像素点的坐标值赋值给位于该目标位置处的像素点实现。另外,对像素点进行旋转处理还可根据原始图像以及新创建的空白图像实现,具体地,根据目标坐标值确定目标位置,将该像素点旋转至目标位置的步骤具体包括:预先创建与原始图像相对应的空白图像,在空白图像中根据目标坐标值确定目标位置。
该方式即是创建与原始图像相对应的空白图像,对空白图像中所包含的像素点进行像素值赋值的操作,由于像素点的目标坐标值是根据该像素点的原始坐标值计算得到的,因此,该空白图像中的坐标系与该图像中的坐标系需要保持一致,以此保证确定的目标位置的准确性。由此可知,根据该方式,针对图像中不属于待处理区域的像素点,其目标坐标值与原始坐标值一致,直接将该像素点的像素值赋值给位于该目标坐标值对应的目标位置处的像素点即可;针对图像中属于待处理区域的像素点,则需要根据与像素点相对应的旋转角度信息确定目标位置,将该像素点的像素值赋值给位于该目标位置处的像素点。
进一步地,为了适应各种不同的图像处理的应用场景,例如,当处理对象为第一以及第二眼睛部位时,为了减小眼间距,需要将第一眼睛部位以及第二眼睛部位均向中间移动,因此,在确定了像素点的旋转角度之后,还需要确定像素点的旋转方向,另外,由于第一旋转角度查找表以及第二旋转角度查找表规定了等效圆周距离与旋转角度之间的对应关系,并且是固定的,而在实际应用中,往往需要根据实际情况对旋转角度信息进行修正,动态地调整像素点的旋转角度信息,以此达到更好的处理效果。基于此,本实施例中进一步利用修正因子对像素点相对应的旋转角度信息进行修正。
具体地,在根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息的步骤之后,进一步包括:
根据预设旋转修正规则,确定与该像素点相对应的修正因子,根据修正因子对该像素点相对应的旋转角度信息进行修正,得到旋转修正信息;则根据旋转角度信息将该像素点旋转至目标位置的步骤具体包括:根据旋转修正信息将该像素点旋转至目标位置。
其中,修正因子用于确定像素点的旋转方向和/或像素点的旋转幅度,并且修正因子是可以根据实际情况动态地进行调整的,则具体应用中,可根据如下公式2以及公式3计算像素点的目标坐标值:
θ′=θ*scale (公式2)
上述公式示出了利用修正因子对旋转角度信息进行修正,根据修正后的旋转角度信息计算目标坐标值的方式,其中,θ为根据等效圆周距离确定的旋转角度,θ′为旋转修正信息,scale为修正因子,可以表示像素点的旋转方向以及旋转幅度,并且scale的绝对值越大,表明像素点的旋转幅度越大,此外,scale取值的正值或者负值分别表示该像素点的旋转的两个相反方向。
公式3示出了利用旋转修正信息以及像素点的原始坐标值计算目标像素值的方式,其中,x’为像素点的原始横坐标值,y’为像素点的原始纵坐标值;x为像素点的目标横坐标值,y为像素点的目标纵坐标值。
根据上述公式确定了像素点的目标坐标值,则进一步确定目标坐标值对应的目标位置,将该像素点的像素值赋值给位于该目标位置处的像素点,直到对待处理区域内的每一个像素点都进行了旋转处理,则完成了对图像中的处理对象进行旋转的操作。
由此可知,该方式能够达到一种对图像中的处理对象进行旋转的效果;其次,根据图像中的处理对象确定对应的待处理区域,使得待处理区域能够与处理对象的轮廓或者形状更加贴合,在人脸图像处理场景中,将待处理区域的区域形状设置为椭圆形能够使待处理区域与人脸或者五官部位更加匹配;其次,该方式无需对图像中所有像素点进行处理,仅针对待处理区域内的像素点进行处理,能够减小运算量,提升图像处理的速度;另外,将待处理区域分为目标处理区域和环境处理区域,针对不同处理区域中的像素点采取不同的对象处理规则,有利于削弱图像的变动痕迹,提升图像的美感;最后,利用修正因子可以动态地调整像素点对应的旋转角度信息,能够取得更好的处理效果,使用于各种不同的应用场景。
另外,发明人在实现本发明的过程中发现:目标处理区域内的像素点的变形系数与该像素点到目标圆心的等效圆周距离之间具有第一映射关系,且环境处理区域内的像素点的变形系数(即旋转角度信息)与该像素点到目标圆心的等效圆周距离之间具有第二映射关系。并且,第一映射关系不同于第二映射关系,基于此,本实施例中将待处理区域进一步划分为目标处理区域以及环境处理区域,并分别设置目标处理规则以及环境处理规则,由此能够针对实际的处理对象以及处理对象的周边区域分别执行不同的处理,从而进一步提升处理效果。
另外,实际情况中,第一映射关系所对应的第一查找表以及第二映射关系所对应的第二查找表均用于定义像素点的变形系数与该像素点到圆心的距离之间的映射关系,即:通常情况下,像素点的变形系数以及该像素点相对于圆心的位置之间具有固定的映射关系。然而,在本实施例中,由于待处理区域为椭圆形(而非圆形),因此,为了能够更加方便准确地利用第一查找表以及第二查找表,同时,也为了能够更加方便且准确地确定像素点相对于圆心的位置关系,提出了等效圆周距离的确定方式。通过等效圆周距离,能够快速且准确地确定椭圆形处理区域内的各个像素点的变形系数。另外,当本实施例中的方法通过GPU实现时,由于GPU具有并行处理的优势,因此能够大幅提升处理效率。
图3示出了根据本发明又一个实施例的图像处理装置的结构示意图,如图3所示,该装置包括:
关键点检测模块31,适于检测图像中的处理对象所对应的多个关键点;
待处理区域确定模块32,适于根据多个关键点确定与处理对象相对应的待处理区域;
判断模块33,适于针对图像中的每个像素点,判断该像素点是否属于待处理区域;
旋转角度信息确定模块34,适于若是,根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,;
旋转模块35,适于根据旋转角度信息将该像素点旋转至目标位置。
可选地,待处理区域为椭圆形待处理区域,且椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
可选地,上述装置进一步包括:
坐标值确定模块,适于针对图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值;
缩放模块,适于根据椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值;
等效圆周距离计算模块,适于利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与椭圆圆心之间的等效圆周距离;
则判断模块33进一步适于:判断该像素点与椭圆圆心之间的等效圆周距离是否大于椭圆纵轴的长度;若否,确定该像素点属于待处理区域。
可选地,坐标值确定模块进一步适于:
预先将椭圆圆心确定为目标坐标系的目标坐标原点,根据椭圆横轴确定目标坐标系的目标横向坐标轴,根据椭圆纵轴确定目标坐标系的目标纵向坐标轴;
根据目标坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
可选地,待处理区域进一步包括:目标处理区域以及环境处理区域;则待处理区域确定模块32进一步适于:
根据处理对象的轮廓和/或形状,确定图像中包含的与处理对象相对应的目标处理区域;
根据目标处理区域,确定位于目标处理区域外围的环境处理区域;
并且,旋转角度信息确定模块34进一步适于:
当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;
当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
可选地,目标处理区域为椭圆形目标处理区域,环境处理区域为位于椭圆形目标处理区域外围的椭圆环状环境处理区域;
则待处理区域确定模块32进一步适于:
根据多个关键点确定目标圆心以及经过目标圆心的目标横轴和/或目标纵轴,根据目标圆心以及经过目标圆心的目标横轴和/或目标纵轴确定椭圆形目标处理区域的目标区域形状以及目标区域范围;
则待处理区域确定模块32进一步适于:
将目标圆心确定为椭圆圆心,根据目标横轴和/或目标纵轴确定椭圆横轴和/或椭圆纵轴,根据椭圆圆心、椭圆横轴以及椭圆纵轴确定椭圆形待处理区域;根据椭圆形待处理区域以及椭圆形目标处理区域确定位于椭圆形目标处理区域外围的椭圆环状环境处理区域。
可选地,判断模块33进一步适于:
判断该像素点与椭圆圆心之间的等效圆周距离是否大于目标纵轴的长度;若否,确定该像素点属于目标处理区域。
可选地,椭圆横轴的长度为目标横轴的长度的第一预设倍数,和/或椭圆纵轴的长度为目标纵轴的长度的第二预设倍数;其中,第一预设倍数和/或第二预设倍数不小于1。
可选地,上述装置进一步包括:
映射关系确定模块,适于预先确定当像素点到椭圆圆心的等效圆周距离不大于目标纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第一映射关系,且目标处理规则根据该第一映射关系确定;
映射关系确定模块进一步适于:预先确定当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第二映射关系,且环境处理规则根据该第二映射关系确定。
可选地,旋转模块35进一步适于:
根据旋转角度信息以及该像素点的原始坐标值,计算该像素点的目标坐标值;
根据目标坐标值确定目标位置,将该像素点旋转至目标位置。
可选地,旋转模块35进一步适于:
预先创建与图像相对应的空白图像,在空白图像中根据目标坐标值确定目标位置。
可选地,上述装置进一步包括:
修正模块,适于根据预设旋转修正规则,确定与该像素点相对应的修正因子,根据修正因子对该像素点相对应的旋转角度信息进行修正,得到旋转修正信息;
则旋转模块35进一步适于:根据旋转修正信息将该像素点旋转至目标位置。
可选地,修正因子进一步包括:横向修正因子以及纵向修正因子。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请又一实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的图像处理方法。
图4示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述图像处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:检测图像中的处理对象所对应的多个关键点,根据多个关键点确定与处理对象相对应的待处理区域;针对图像中的每个像素点,判断该像素点是否属于待处理区域;若是,根据该像素点与待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据旋转角度信息将该像素点旋转至目标位置。
在一种可选的方式中,待处理区域为椭圆形待处理区域,且椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
在一种可选的方式中,程序410具体还可以用于使得处理器402执行以下操作:针对图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值;根据椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值;利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与椭圆圆心之间的等效圆周距离;判断该像素点与椭圆圆心之间的等效圆周距离是否大于椭圆纵轴的长度;若否,确定该像素点属于待处理区域。
在一种可选的方式中,程序410具体还可以用于使得处理器402执行以下操作:预先将椭圆圆心确定为目标坐标系的目标坐标原点,根据椭圆横轴确定目标坐标系的目标横向坐标轴,根据椭圆纵轴确定目标坐标系的目标纵向坐标轴;根据目标坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
在一种可选的方式中,目标处理区域以及环境处理区域,则程序410具体还可以用于使得处理器402执行以下操作:根据处理对象的轮廓和/或形状,确定图像中包含的与处理对象相对应的目标处理区域;根据目标处理区域,确定位于目标处理区域外围的环境处理区域;
程序410具体还可以用于使得处理器402执行以下操作:当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;当根据该像素点与待处理区域的区域中心之间的距离确定该像素点属于环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
在一种可选的方式中,目标处理区域为椭圆形目标处理区域,环境处理区域为位于椭圆形目标处理区域外围的椭圆环状环境处理区域;
则程序410具体还可以用于使得处理器402执行以下操作:根据多个关键点确定目标圆心以及经过目标圆心的目标横轴和/或目标纵轴,根据目标圆心以及经过目标圆心的目标横轴和/或目标纵轴确定椭圆形目标处理区域的目标区域形状以及目标区域范围;
则程序410具体还可以用于使得处理器402执行以下操作:将目标圆心确定为椭圆圆心,根据目标横轴和/或目标纵轴确定椭圆横轴和/或椭圆纵轴,根据椭圆圆心、椭圆横轴以及椭圆纵轴确定椭圆形待处理区域;根据椭圆形待处理区域以及椭圆形目标处理区域确定位于椭圆形目标处理区域外围的椭圆环状环境处理区域。
在一种可选的方式中,则程序410具体还可以用于使得处理器402执行以下操作:判断该像素点与椭圆圆心之间的等效圆周距离是否大于目标纵轴的长度;若否,确定该像素点属于目标处理区域。
在一种可选的方式中,其中,椭圆横轴的长度为目标横轴的长度的第一预设倍数,和/或椭圆纵轴的长度为目标纵轴的长度的第二预设倍数;其中,第一预设倍数和/或第二预设倍数不小于1。
在一种可选的方式中,则程序410具体还可以用于使得处理器402执行以下操作:预先确定当像素点到椭圆圆心的等效圆周距离不大于目标纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第一映射关系,且目标处理规则根据该第一映射关系确定;
预先确定当像素点到椭圆圆心的等效圆周距离大于目标纵轴的长度且小于椭圆纵轴的长度时,像素点所对应的旋转角度信息与该像素点到椭圆圆心的等效圆周距离之间的第二映射关系,且环境处理规则根据该第二映射关系确定。
在一种可选的方式中,则程序410具体还可以用于使得处理器402执行以下操作:根据旋转角度信息以及该像素点的原始坐标值,计算该像素点的目标坐标值;根据目标坐标值确定目标位置,将该像素点旋转至目标位置。
在一种可选的方式中,则程序410具体还可以用于使得处理器402执行以下操作:预先创建与图像相对应的空白图像,在空白图像中根据目标坐标值确定目标位置。
在一种可选的方式中,则程序410具体还可以用于使得处理器402执行以下操作:
根据预设旋转修正规则,确定与该像素点相对应的修正因子,根据修正因子对该像素点相对应的旋转角度信息进行修正,得到旋转修正信息;
则根据旋转角度信息将该像素点旋转至目标位置的步骤具体包括:根据旋转修正信息将该像素点旋转至目标位置。
在一种可选的方式中,修正因子进一步包括:横向修正因子以及纵向修正因子。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的图像处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种图像处理方法,包括:
检测图像中的处理对象所对应的多个关键点,根据所述多个关键点确定与所述处理对象相对应的待处理区域;
针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域;
若是,根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息,根据所述旋转角度信息将该像素点旋转至目标位置。
2.根据权利要求1所述的方法,其中,所述待处理区域为椭圆形待处理区域,且所述椭圆形待处理区域通过椭圆圆心、椭圆横轴和椭圆纵轴确定。
3.根据权利要求2所述的方法,其中,所述针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域的步骤具体包括:
针对所述图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值;
根据所述椭圆横轴的长度与椭圆纵轴的长度之间的横纵比值对该像素点的原始横坐标值进行缩放处理后得到该像素点的缩放横坐标值;
利用该像素点的原始纵坐标值以及缩放横坐标值计算该像素点与所述椭圆圆心之间的等效圆周距离;
判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述椭圆纵轴的长度;若否,确定该像素点属于所述待处理区域。
4.根据权利要求3所述的方法,其中,所述针对所述图像中的每个像素点,确定该像素点的原始横坐标值以及原始纵坐标值的步骤具体包括:
预先将所述椭圆圆心确定为目标坐标系的目标坐标原点,根据所述椭圆横轴确定目标坐标系的目标横向坐标轴,根据所述椭圆纵轴确定目标坐标系的目标纵向坐标轴;
根据所述目标坐标系计算该像素点的原始横坐标值以及原始纵坐标值。
5.根据权利要求2-4任一所述的方法,其中,所述待处理区域进一步包括:目标处理区域以及环境处理区域;则所述根据所述多个关键点确定与所述处理对象相对应的待处理区域的步骤具体包括:
根据所述处理对象的轮廓和/或形状,确定所述图像中包含的与所述处理对象相对应的目标处理区域;
根据所述目标处理区域,确定位于所述目标处理区域外围的环境处理区域;
并且,所述根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息的步骤具体包括:
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述目标处理区域时,按照预设的目标处理规则确定与该像素点相对应的旋转角度信息;
当根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述环境处理区域时,按照预设的环境处理规则确定与该像素点相对应的旋转角度信息。
6.根据权利要求5所述的方法,其中,所述目标处理区域为椭圆形目标处理区域,所述环境处理区域为位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域;
则所述根据所述处理对象的轮廓和/或形状,确定所述图像中包含的与所述处理对象相对应的目标处理区域的目标区域形状以及目标区域范围的步骤具体包括:
根据所述多个关键点确定目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴,根据所述目标圆心以及经过所述目标圆心的目标横轴和/或目标纵轴确定所述椭圆形目标处理区域的目标区域形状以及目标区域范围;
所述根据所述目标处理区域的目标区域形状以及目标区域范围,确定位于所述目标处理区域外围的环境处理区域的环境区域形状以及环境区域范围的步骤具体包括:
将所述目标圆心确定为所述椭圆圆心,根据所述目标横轴和/或目标纵轴确定所述椭圆横轴和/或椭圆纵轴,根据所述椭圆圆心、椭圆横轴以及椭圆纵轴确定所述椭圆形待处理区域;根据所述椭圆形待处理区域以及所述椭圆形目标处理区域确定位于所述椭圆形目标处理区域外围的椭圆环状环境处理区域。
7.根据权利要求6所述的方法,其中,所述根据该像素点与所述待处理区域的区域中心之间的距离确定该像素点属于所述目标处理区域的步骤具体包括:
判断该像素点与所述椭圆圆心之间的等效圆周距离是否大于所述目标纵轴的长度;若否,确定该像素点属于所述目标处理区域。
8.一种图像处理装置,包括:
关键点检测模块,适于检测图像中的处理对象所对应的多个关键点;
待处理区域确定模块,适于根据所述多个关键点确定与所述处理对象相对应的待处理区域;
判断模块,适于针对所述图像中的每个像素点,判断该像素点是否属于所述待处理区域;
旋转角度信息确定模块,适于若是,根据该像素点与所述待处理区域的区域中心之间的距离确定与该像素点相对应的旋转角度信息;
旋转模块,适于根据所述旋转角度信息将该像素点旋转至目标位置。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的图像处理方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的图像处理方法对应的操作。
CN201810229287.3A 2018-03-20 2018-03-20 图像处理方法、装置及电子设备 Active CN108447023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810229287.3A CN108447023B (zh) 2018-03-20 2018-03-20 图像处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810229287.3A CN108447023B (zh) 2018-03-20 2018-03-20 图像处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108447023A true CN108447023A (zh) 2018-08-24
CN108447023B CN108447023B (zh) 2021-08-24

Family

ID=63195263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810229287.3A Active CN108447023B (zh) 2018-03-20 2018-03-20 图像处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108447023B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241921A (zh) * 2018-09-17 2019-01-18 北京字节跳动网络技术有限公司 用于检测人脸关键点的方法和装置
CN110378839A (zh) * 2019-06-28 2019-10-25 北京字节跳动网络技术有限公司 人脸图像处理方法、装置、介质及电子设备
CN111507896A (zh) * 2020-04-27 2020-08-07 北京字节跳动网络技术有限公司 图像液化处理方法、装置、设备和存储介质
CN113781295A (zh) * 2021-09-14 2021-12-10 网易(杭州)网络有限公司 图像处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150279073A1 (en) * 2014-03-26 2015-10-01 Sony Corporation Image processing device, image processing method, and storage medium
CN105282513A (zh) * 2015-10-23 2016-01-27 国网山西省电力公司大同供电公司 基于3d红外全景图像的特高压变电站变压器运行状态检测装置及其检测方法
US20170076174A1 (en) * 2014-05-06 2017-03-16 Nant Holdings Ip, Llc Image-based feature detection using edge vectors
CN106846255A (zh) * 2017-02-23 2017-06-13 北京普及芯科技有限公司 图像旋转实现方法及装置
CN107395958A (zh) * 2017-06-30 2017-11-24 北京金山安全软件有限公司 一种图像处理方法、装置、电子设备及存储介质
CN107578380A (zh) * 2017-08-07 2018-01-12 北京金山安全软件有限公司 一种图像处理方法、装置、电子设备及存储介质
CN107730465A (zh) * 2017-10-09 2018-02-23 武汉斗鱼网络科技有限公司 一种图像中人脸美颜方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150279073A1 (en) * 2014-03-26 2015-10-01 Sony Corporation Image processing device, image processing method, and storage medium
US20170076174A1 (en) * 2014-05-06 2017-03-16 Nant Holdings Ip, Llc Image-based feature detection using edge vectors
CN105282513A (zh) * 2015-10-23 2016-01-27 国网山西省电力公司大同供电公司 基于3d红外全景图像的特高压变电站变压器运行状态检测装置及其检测方法
CN106846255A (zh) * 2017-02-23 2017-06-13 北京普及芯科技有限公司 图像旋转实现方法及装置
CN107395958A (zh) * 2017-06-30 2017-11-24 北京金山安全软件有限公司 一种图像处理方法、装置、电子设备及存储介质
CN107578380A (zh) * 2017-08-07 2018-01-12 北京金山安全软件有限公司 一种图像处理方法、装置、电子设备及存储介质
CN107730465A (zh) * 2017-10-09 2018-02-23 武汉斗鱼网络科技有限公司 一种图像中人脸美颜方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241921A (zh) * 2018-09-17 2019-01-18 北京字节跳动网络技术有限公司 用于检测人脸关键点的方法和装置
CN110378839A (zh) * 2019-06-28 2019-10-25 北京字节跳动网络技术有限公司 人脸图像处理方法、装置、介质及电子设备
CN111507896A (zh) * 2020-04-27 2020-08-07 北京字节跳动网络技术有限公司 图像液化处理方法、装置、设备和存储介质
CN111507896B (zh) * 2020-04-27 2023-09-05 抖音视界有限公司 图像液化处理方法、装置、设备和存储介质
CN113781295A (zh) * 2021-09-14 2021-12-10 网易(杭州)网络有限公司 图像处理方法、装置、设备及存储介质
CN113781295B (zh) * 2021-09-14 2024-02-27 网易(杭州)网络有限公司 图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108447023B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN108389155A (zh) 图像处理方法、装置及电子设备
CN108447023A (zh) 图像处理方法、装置及电子设备
CN108346130A (zh) 图像处理方法、装置及电子设备
CN107395958B (zh) 一种图像处理方法、装置、电子设备及存储介质
CN108364254A (zh) 图像处理方法、装置及电子设备
CN106971165B (zh) 一种滤镜的实现方法及装置
WO2017186016A1 (zh) 图像形变处理的方法和装置、计算机存储介质
US11205070B2 (en) Method, an apparatus, a display device and a storage medium for positioning a gaze point
CN104200454B (zh) 鱼眼图像畸变校正方法及装置
CN108399599A (zh) 图像处理方法、装置及电子设备
CN104571887B (zh) 一种基于静态图片的动态交互方法和装置
CN109345589A (zh) 基于自动驾驶车辆的位置检测方法、装置、设备及介质
CN109859126A (zh) 一种视频降噪方法、装置、电子设备及存储介质
CN109377467A (zh) 训练样本的生成方法、目标检测方法和装置
CN109840883B (zh) 一种训练物体识别神经网络的方法、装置及计算设备
US8629868B1 (en) Systems and methods for simulating depth of field on a computer generated display
CN108177146A (zh) 机器人头部的控制方法、装置及计算设备
WO2020093566A1 (zh) 脑出血图像处理方法、装置、计算机设备及存储介质
CN107481280A (zh) 一种骨骼点的矫正方法及计算设备
US20200035004A1 (en) Map generation system and method for generating an accurate building shadow
CN108288052B (zh) 虹膜图像归一化方法、装置及计算机可读存储介质
CN108734712B (zh) 背景分割的方法、装置及计算机存储介质
CN104574473B (zh) 一种基于静态图片生成动态效果的方法和装置
CN110415196A (zh) 图像校正方法、装置、电子设备及可读存储介质
JP4530173B2 (ja) 顔パーツの位置の検出方法及び検出システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant