CN112465692A - 图像处理方法、装置、设备及存储介质 - Google Patents
图像处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112465692A CN112465692A CN201910848557.3A CN201910848557A CN112465692A CN 112465692 A CN112465692 A CN 112465692A CN 201910848557 A CN201910848557 A CN 201910848557A CN 112465692 A CN112465692 A CN 112465692A
- Authority
- CN
- China
- Prior art keywords
- grid
- original
- face image
- current processing
- image
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 149
- 238000013507 mapping Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 5
- 238000009877 rendering Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像处理方法、装置、设备及存储介质。该方法包括:响应于对原始人脸图像的变形调整指令,建立空白图像,所述原始人脸图像由多个原始网格构成;根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格;根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。本发明实施例的技术方案,实现了通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目的人脸图像,提高了对人脸图像进行变形调整的速度。
Description
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质。
背景技术
随着社会的发展,诸如手机、平板电脑等电子设备已经广泛应用在学习、娱乐、工作等方面,很多电子设备中都配置有摄像头,用于拍照、录像、直播等操作。如果摄像头的图像数据包含人脸,用户经常会对该人脸进行调整,如美颜、变脸等。
目前,对人脸进行调整时,通常会比对调整后的目标图像对原始的人脸图像进行相应的变形,然后将变形后的人脸图像重新渲染到空白图像中,得到目标图像。发明人在实现本发明的过程中,发现现有技术存在如下缺陷:变形后的人脸图像需要重新渲染,耗费时间较长,占用的内存较多,导致无法对原始人脸图像进行实时快速的处理。
发明内容
本发明实施例提供一种图像处理方法、装置、设备及存储介质,以实现通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目标人脸,提高对人脸图像进行变形调整的速度。
第一方面,本发明实施例提供了一种图像处理方法,包括:
响应于对原始人脸图像的变形调整指令,建立空白图像,原始人脸图像由多个原始网格构成;
根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格;
根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
可选的,根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,包括:
获取原始人脸图像中的一个原始网格作为当前处理网格;
在空白图像中,获取与当前处理网格匹配的目的变形网格,作为配对网格;
获取与当前处理网格对应的第一顶点序列,以及与配对网格对应的第二顶点序列,并根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵;
根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中,并返回执行获取原始人脸图像中的一个原始网格作为当前处理网格的操作,直至完成对全部原始网格的处理。
可选的,根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中,包括:
根据当前处理网格的第一顶点序列,确定目标搜索区域,并在目标搜索区域内,搜索得到位于当前处理网格中的各像素点;
根据映射关系矩阵,将搜索得到的各像素点映射至配对网格中。
可选的,原始网格以及目的变形网格为三角形网格;
根据当前处理网格的第一顶点坐标,确定目标搜索区域,并在目标搜索区域内,搜索得到位于当前处理网格中的各像素点,包括:
根据当前处理网格的第一顶点序列,确定完整覆盖当前处理网格的最小的外接矩形,作为目标搜索区域;
使用外接矩形的两条相邻直角边建立参考坐标系,并在参考坐标系下,搜索得到位于当前处理网格中的各像素点;
根据参考坐标系与图像坐标系之间的映射关系,以及当前处理网格中的各像素点在参考坐标系中的位置坐标,在图像坐标系中,确定出位于当前处理网格中的各像素点。
可选的,在参考坐标系下,搜索得到当前处理网格中的各像素点,包括:
将第一顶点序列,映射至参考坐标系中;
根据映射结果,得到与当前处理网格匹配的三个边的表达式f1(x,y)、f2(x,y)以及f3(x,y);
在参考坐标系下,遍历外接矩形中的各像素点;
如果确定当前遍历点(xi,yi)满足:f1(xi,yi)*f2(xi,yi)*f3(xi,yi)<0,则将当前遍历点确定为当前处理网格中的一个像素点。
可选的,根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵,包括:
将第一顶点序列,以及第二顶点序列,共同输入至OPENCV组件中,得到当前处理网格与配对网格之间的映射关系矩阵。
可选的,在响应于原始人脸图像的变形调整指令,建立空白图像之前,还包括:
获取人脸图像数据,并识别人脸图像数据中的人脸关键点;
根据人脸关键点,将人脸图像数据划分为多个网格,网格的顶点至少包括人脸关键点;
绘制网格,得到原始人脸图像进行显示,并将绘制出的各网格作为原始网格。
可选的,根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,包括:
根据变形调整指令,在原始人脸图像中确定至少一个目标调整网格,以及目标调整网格的网格变换形式;
根据目标调整网格,以及目标调整网格的网格变换形式,确定出原始人脸图像中其他原始网格的联动网格变换形式;
根据目标调整网格的网格变换形式,以及其他原始网格的联动网格变换形式,在空白图像中,划分出与原始网格匹配的多个目的变形网格。
第二方面,本发明实施例还提供了一种图像处理装置,包括:
图像建立模块,用于响应于对原始人脸图像的变形调整指令,建立空白图像,原始人脸图像由多个原始网格构成;
网格划分模块,用于根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格;
像素点映射模块,用于根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
第三方面,本发明实施例还提供了一种设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例提供的图像处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的图像处理方法。
本发明实施例中,通过响应于对原始人脸图像的变形调整指令,建立空白图像,然后根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,最后根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,解决了现有技术中利用定步长的全局搜索方法进行搜索,而且需要对待调整的人脸图像重新进行渲染,从而导致无法对待调整的人脸图像进行实时快速处理的问题,实现了通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目的人脸图像,提高了对人脸图像进行变形调整的速度。
附图说明
图1a是本发明实施例一中的一种图像处理方法的流程图;
图1b是本发明实施例一中的一种人脸关键点的示意图;
图1c是本发明实施例一中的一种人脸图像中的原始网格的示意图;
图1d是本发明实施例一中的一种网格配对示意图;
图2a是本发明实施例二中的一种图像处理方法的流程图;
图2b是本发明实施例二中的一种参考坐标系的生成示意图;
图3是本发明实施例三中的一种图像处理装置的结构示意图;
图4是本发明实施例四中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a是本发明实施例一中的一种图像处理方法的流程图,本实施例可适用于对图像中的人脸进行变形调整的情况,该方法可以由图像处理装置来执行,该装置可以由硬件和/或软件来实现,并一般可以集成在提供图像处理服务的设备中。如图1a所示,该方法包括:
步骤110、响应于对原始人脸图像的变形调整指令,建立空白图像。
本实施例中,原始人脸图像由多个原始网格构成,原始人脸图像是指带有人脸的图片,可以是用户的自拍或者拍摄照片,视频或直播中的人物截图等等,为了便于对人脸进行调整,原始人脸图像被预先划分成多个原始网格,使得可以原始网格为单位对人脸进行变形。变形调整指令用于指示对原始人脸图像中的人脸进行指定的变形调整操作,例如,瘦脸、增大眼睛、垫高鼻子、变小嘴唇等等,并且,根据变形调整指令可以确定原始人脸图像中的各原始网格分别需要进行怎样的变形。
在接收到对原始人脸图像的变形调整指令后,立即建立空白图像,以便于后续在空白图像中划分出与原始网格对应的目的变形网格,以及,在对原始人脸中的各原始网格进行变形调整后,在空白图像中显示调整后的人脸,得到调整后的图像。
可选的,在响应于原始人脸图像的变形调整指令,建立空白图像之前,还包括:获取人脸图像数据,并识别人脸图像数据中的人脸关键点;根据人脸关键点,将人脸图像数据划分为多个网格,网格的顶点至少包括人脸关键点;绘制网格,得到原始人脸图像进行显示,并将绘制出的各网格作为原始网格。
本实施例中,可以通过对人脸图像数据进行人脸检测,识别出人脸图像数据中包含的人脸关键点,也就是定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等等,如图1b所示。其中,人脸关键点的数量,可以根据实际情况设置,对于静态的图像处理,实时性要求较低,可以检测较为稠密的人脸关键点,对于直播等,实时性要求较高,可以检测较为稀疏的人脸关键点。
本实施例中,网格代表单个的可绘制实体,其顶点至少包括人脸关键点,即以人脸关键点作为网格的至少部分顶点,将人脸图像数据进行网格化,划分为两个及两个以上的网格,如图1c所示。网格化就是将凹多边形或者有边相交的多边形划分成凸多边形,如三角形,以便被渲染引擎渲染。其中,网格之间是有序的,可以形成网格序列,当调用渲染引擎时,会按照顺序绘制每个网格,从而在屏幕显示带有网格的人脸图像数据。
步骤120、根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格。
本实施例中,为了能快速的对人脸进行有效的变形调整,预先设置了多条不同效果的变形调整指令,以及与变形调整指令对应的网格变形列表,该网格变形列表中指定了与每条变形调整指令匹配的待调整原始网格,以及与待调整原始网格对应的目的变形网格。
可选的,根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,包括:根据变形调整指令,在原始人脸图像中确定至少一个目标调整网格,以及目标调整网格的网格变换形式;根据目标调整网格,以及目标调整网格的网格变换形式,确定出原始人脸图像中其他原始网格的联动网格变换形式;根据目标调整网格的网格变换形式,以及其他原始网格的联动网格变换形式,在空白图像中,划分出与原始网格匹配的多个目的变形网格。
示例性的,假设接收到大眼调整指令,该变形调整指令用于增大人脸图像中的人物眼睛,通过在网格变形列表中查找大眼调整指令,可以确定原始人脸图像中的原始网格A、B、C为目标调整网格,并且,原始网格A对应目的变形网格a,原始网格B对应目的变形网格b,原始网格C对应目的变形网格c,其中,目标调整网格为可以实现增大人脸图像中的人物眼睛的效果的网格,网格变换形式可以指出目标调整网格进行变形调整后的目的变形网格。
随后,根据目标调整网格以及与之对应的目的变形网格,确定出原始人脸图像中其他原始网格的联动网格变换形式,例如,根据原始网格A以及与之对应目的变形网格a,可以得出与原始网格A相邻的原始网格D,可以联动变形为目的变形网格d,最后,在建立的空白图像中,划分出与原始网格A、B、C对应的目的变形网格,以及与其他原始网格对应的联动目的变形网格。
步骤130、根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
本实施例中,为了加快对原始人脸图像的处理速度,在划分出与原始网格对应的多个目的变形网格之后,直接根据原始网格与目的变形网格的映射关系,依次将各原始网格中的像素点映射到对应的目的变形网格中,不需要将原始网格中的像素点重新渲染到目的变形网格中。
可选的,根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,包括:获取原始人脸图像中的一个原始网格作为当前处理网格;在空白图像中,获取与当前处理网格匹配的目的变形网格,作为配对网格;获取与当前处理网格对应的第一顶点序列,以及与配对网格对应的第二顶点序列,并根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵;根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中,并返回执行获取原始人脸图像中的一个原始网格作为当前处理网格的操作,直至完成对全部原始网格的处理。
本实施例中,在对原始人脸图像中的各原始网格中的像素点进行映射时,可以先从多个原始网格中选择一个作为当前处理网格,例如可以先从目标调整网格网格中选择原始网格A当作当前处理网格,然后在空白图像中划分出与当前处理网格匹配的目的变形网格a,作为配对网格,如图1d所示。接着获取与当前处理网格A对应的第一顶点序列(x1,y1)、(x2,y2)、(x3,y3),即当前处理网格A的三个顶点的坐标,以及与配对网格a对应的第二顶点序列(x1',y1')、(x2',y2')、(x3',y3'),进而根据当前处理网格A与配对网格a的顶点坐标,计算两者之间的映射关系矩阵,根据映射关系矩阵得到当前处理网格A中的各个像素点在配对网格a中的坐标值,从而可以实现将当前处理网格A中的各个像素点直接映射到配对网格a中。然后从剩余的原始网格中选择一个当作当前处理网格,重复上述过程,直到原始人脸图像中的所有原始网格都被处理完,得到调整后人脸图像为止。
本发明实施例中,通过响应于对原始人脸图像的变形调整指令,建立空白图像,然后根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,最后根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,解决了现有技术中利用定步长的全局搜索方法进行搜索,而且需要对人脸图像重新进行渲染,从而导致无法对待调整的人脸图像进行实时快速处理的问题,实现了通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目的人脸图像,提高了对人脸图像进行变形调整的速度。
实施例二
图2a是本发明实施例二中的一种图像处理方法的流程图。本实施例可以与上述实施例中各个可选方案结合。具体的,参考图2a,该方法可以包括如下步骤:
步骤210、根据人脸关键点,将原始人脸图像划分为多个原始网格。
步骤220、响应于对原始人脸图像的变形调整指令,建立空白图像。
步骤230、根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格。
本实施例中,在获取到与变形调整指令匹配的原始网格,以及与各原始网格对应的目的变形网格之后,先在空白图像中将各个目的变形网格都划分出来,以便于后续将原始网格中的各像素点映射到对应的目的变形网格中。
步骤240、获取原始人脸图像中的一个原始网格作为当前处理网格,在空白图像中,获取与当前处理网格匹配的目的变形网格,作为配对网格。
可选的,在对原始人脸图像中的各原始网格进行变形处理时,需要依次对各个原始网格中的像素点进行映射,因此,可以先从多个原始网格中选择一个作为当前处理网格,然后在空白图像中的多个目的变形网格中找到与当前处理网格对应的一个,作为配对网格。
步骤250、获取与当前处理网格对应的第一顶点序列,以及与配对网格对应的第二顶点序列,并根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵。
可选的,根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵,包括:将第一顶点序列,以及第二顶点序列,共同输入至OPENCV组件中,得到当前处理网格与配对网格之间的映射关系矩阵。
本实施例中,根据映射关系矩阵可以得到当前处理网格中的各个像素点在配对网格中的坐标值,进而可以实现将当前处理网格中的各个像素点直接映射到配对网格中。
步骤260、根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中。
本实施例中,在对当前处理网格的像素点进行映射之前,需要先确定当前处理网格中包括哪些像素点,为了减少像素点的搜索复杂度,本实施例使用局部搜索的方法,仅通过对指定小范围内的像素点进行搜索即可得到当前处理网格中包括的像素点。
可选的,根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中,包括:根据当前处理网格的第一顶点序列,确定目标搜索区域,并在目标搜索区域内,搜索得到位于当前处理网格中的各像素点;根据映射关系矩阵,将搜索得到的各像素点映射至配对网格中。
本实施例中,目标搜索区域可以是任意一种包含当前处理网格的最小的规则形状区域,例如,正方形、矩形、圆形、五边形等,因此,在目标搜索区域中必然可以搜索到当前处理网格中的所有像素点,进而可以根据映射关系矩阵,对搜索到的像素点进行映射。
可选的,原始网格以及目的变形网格可以为三角形网格。根据当前处理网格的第一顶点坐标,确定目标搜索区域,并在目标搜索区域内,搜索得到位于当前处理网格中的各像素点,包括:根据当前处理网格的第一顶点序列,确定完整覆盖当前处理网格的最小的外接矩形,作为目标搜索区域;使用外接矩形的两条相邻直角边建立参考坐标系,并在参考坐标系下,搜索得到位于当前处理网格中的各像素点;根据参考坐标系与图像坐标系之间的映射关系,以及当前处理网格中的各像素点在参考坐标系中的位置坐标,在图像坐标系中,确定出位于当前处理网格中的各像素点。
示例性的,如图2b所示,图中的三角形网格为当前处理网格,第一顶点序列为(x1,y1)、(x2,y2)、(x3,y3),根据第一顶点序列,可以确定完整覆盖当前处理网格的最小的外接矩形ABCD,即目标搜索区域。其中,外接矩形的四个顶点坐标分别为:A点坐标:(min(x1,x2,x3),max(y1,y2,y3)),B点坐标:(min(x1,x2,x3),min(y1,y2,y3)),C点坐标:(max(x1,x2,x3),min(y1,y2,y3)),D点坐标:(max(x1,x2,x3),max(y1,y2,y3))。
可选的,为了方便确定外接矩形ABCD中的各个像素点是否是当前处理网格中的像素点,可以使用外接矩形的两条相邻直角边建立参考坐标系,如图2b中的边BA和BC,然后在参考坐标系下,搜索得到位于当前处理网格中的各像素点的坐标值。由于映射关系矩阵反应的是,当前处理网格中的各个像素点在原始图像坐标系中的坐标值与调整后图像坐标系中的坐标值之间的映射关系,因此,还需要根据参考坐标系与原始图像坐标系之间的映射关系,将当前处理网格中的各像素点在参考坐标系下的坐标值,替换为在原始图像坐标系中的坐标值。进而可以根据映射关系矩阵,确定出当前处理网格中的各像素点映射到调整后图像坐标系中的坐标值。
可选的,在参考坐标系下,搜索得到当前处理网格中的各像素点,包括:将第一顶点序列,映射至参考坐标系中;根据映射结果,得到与当前处理网格匹配的三个边的表达式f1(x,y)、f2(x,y)以及f3(x,y);在参考坐标系下,遍历外接矩形中的各像素点;如果确定当前遍历点(xi,yi)满足:f1(xi,yi)*f2(xi,yi)*f3(xi,yi)<0,则将当前遍历点确定为当前处理网格中的一个像素点。
本实施例中,在根据参考坐标系搜索当前处理网格中的像素点时,先确定当前处理网格的各个顶点在参考坐标系中的坐标值,根据两两顶点坐标值,以及本领域的两点求直线的计算公式,可以分别得到当前处理网格的三个边的表达式f1(x,y)、f2(x,y)以及f3(x,y),然后遍历覆盖当前处理网格的目标搜索区域中的各个像素点(xi,yi),判断各像素点的坐标值是否满足f1(xi,yi)*f2(xi,yi)*f3(xi,yi)<0,如果满足,则确定该点是当前处理网格中的一个像素点,否则,认为该点不是当前处理网格中的一个像素点。
步骤270、判断是否完成对原始人脸图像中全部原始网格的处理,若是,则执行步骤280,否则,返回执行步骤240。
步骤280、结束。
本发明实施例中,通过响应于对原始人脸图像的变形调整指令,建立空白图像,然后根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,最后根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,解决了现有技术中利用定步长的全局搜索方法进行搜索,而且需要对待调整的人脸图像重新进行渲染,从而导致无法对待调整的人脸图像进行实时快速处理的问题,实现了通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目的人脸图像,提高了对人脸图像进行变形调整的速度。
实施例三
图3是本发明实施例三中的一种图像处理装置的结构示意图,本实施例可适用于对图像中的人脸进行变形调整的情况。如图3所示,该图像处理装置包括:图像建立模块310、网格划分模块320以及像素点映射模块330;
图像建立模块310,用于响应于对原始人脸图像的变形调整指令,建立空白图像,原始人脸图像由多个原始网格构成;
网格划分模块320,用于根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格;
像素点映射模块330,用于根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
本发明实施例中,通过响应于对原始人脸图像的变形调整指令,建立空白图像,然后根据与变形调整指令匹配的各原始网格的网格变形方式,在空白图像中,划分出与原始网格对应的多个目的变形网格,最后根据原始网格与目的变形网格之间的位置对应关系,将原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,解决了现有技术中利用定步长的全局搜索方法进行搜索,而且需要对待调整的人脸图像重新进行渲染,从而导致无法对待调整的人脸图像进行实时快速处理的问题,实现了通过局部搜索对人脸图像中的三角形网格进行变形处理,并且不需要对人脸图像重新进行渲染即可得到目的人脸图像,提高了对人脸图像进行变形调整的速度。
可选的,像素点映射模块330,包括:第一获取单元,用于获取原始人脸图像中的一个原始网格作为当前处理网格;第二获取单元,用于在空白图像中,获取与当前处理网格匹配的目的变形网格,作为配对网格;映射矩阵计算单元,用于获取与当前处理网格对应的第一顶点序列,以及与配对网格对应的第二顶点序列,并根据第一顶点序列以及第二顶点序列,计算当前处理网格与配对网格之间的映射关系矩阵;映射单元,用于根据映射关系矩阵,将当前处理网格中的各像素点映射至配对网格中,并返回执行获取原始人脸图像中的一个原始网格作为当前处理网格的操作,直至完成对全部原始网格的处理。
可选的,映射单元,具体用于:根据当前处理网格的第一顶点序列,确定目标搜索区域,并在目标搜索区域内,搜索得到位于当前处理网格中的各像素点;根据映射关系矩阵,将搜索得到的各像素点映射至配对网格中。
可选的,原始网格以及目的变形网格为三角形网格;
映射单元,具体用于:根据当前处理网格的第一顶点序列,确定完整覆盖当前处理网格的最小的外接矩形,作为目标搜索区域;使用外接矩形的两条相邻直角边建立参考坐标系,并在参考坐标系下,搜索得到位于当前处理网格中的各像素点;根据参考坐标系与图像坐标系之间的映射关系,以及当前处理网格中的各像素点在参考坐标系中的位置坐标,在图像坐标系中,确定出位于当前处理网格中的各像素点。
可选的,映射单元,具体用于:将第一顶点序列,映射至参考坐标系中;根据映射结果,得到与当前处理网格匹配的三个边的表达式f1(x,y)、f2(x,y)以及f3(x,y);在参考坐标系下,遍历外接矩形中的各像素点;如果确定当前遍历点(xi,yi)满足:f1(xi,yi)*f2(xi,yi)*f3(xi,yi)<0,则将当前遍历点确定为当前处理网格中的一个像素点。
可选的,映射矩阵计算单元,具体用于:将第一顶点序列,以及第二顶点序列,共同输入至OPENCV组件中,得到当前处理网格与配对网格之间的映射关系矩阵。
可选的,还包括:网格划分模块,用于在响应于原始人脸图像的变形调整指令,建立空白图像之前,获取人脸图像数据,并识别人脸图像数据中的人脸关键点;根据人脸关键点,将人脸图像数据划分为多个网格,网格的顶点至少包括人脸关键点;绘制网格,得到原始人脸图像进行显示,并将绘制出的各网格作为原始网格。
可选的,网格划分模块320,具体用于:根据变形调整指令,在原始人脸图像中确定至少一个目标调整网格,以及目标调整网格的网格变换形式;根据目标调整网格,以及目标调整网格的网格变换形式,确定出原始人脸图像中其他原始网格的联动网格变换形式;根据目标调整网格的网格变换形式,以及其他原始网格的联动网格变换形式,在空白图像中,划分出与原始网格匹配的多个目的变形网格。
本发明实施例所提供的图像处理装置可执行本发明任意实施例所提供的图像处理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四公开的一种设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备12的框图。图4显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的图像处理方法。
也即:实现一种图像处理方法,包括:
响应于对原始人脸图像的变形调整指令,建立空白图像,所述原始人脸图像由多个原始网格构成;
根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格;
根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
实施例五
本发明实施例五还公开了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种图像处理方法,包括:
响应于对原始人脸图像的变形调整指令,建立空白图像,所述原始人脸图像由多个原始网格构成;
根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格;
根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种图像处理方法,其特征在于,包括:
响应于对原始人脸图像的变形调整指令,建立空白图像,所述原始人脸图像由多个原始网格构成;
根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格;
根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
2.根据权利要求1所述的方法,其特征在于,根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像,包括:
获取所述原始人脸图像中的一个原始网格作为当前处理网格;
在所述空白图像中,获取与所述当前处理网格匹配的目的变形网格,作为配对网格;
获取与所述当前处理网格对应的第一顶点序列,以及与所述配对网格对应的第二顶点序列,并根据所述第一顶点序列以及所述第二顶点序列,计算所述当前处理网格与所述配对网格之间的映射关系矩阵;
根据所述映射关系矩阵,将所述当前处理网格中的各像素点映射至所述配对网格中,并返回执行获取所述原始人脸图像中的一个原始网格作为当前处理网格的操作,直至完成对全部原始网格的处理。
3.根据权利要求2所述的方法,其特征在于,根据所述映射关系矩阵,将所述当前处理网格中的各像素点映射至所述配对网格中,包括:
根据所述当前处理网格的所述第一顶点序列,确定目标搜索区域,并在所述目标搜索区域内,搜索得到位于所述当前处理网格中的各像素点;
根据所述映射关系矩阵,将搜索得到的所述各像素点映射至所述配对网格中。
4.根据权利要求3所述的方法,其特征在于,所述原始网格以及所述目的变形网格为三角形网格;
根据所述当前处理网格的所述第一顶点坐标,确定目标搜索区域,并在所述目标搜索区域内,搜索得到位于所述当前处理网格中的各像素点,包括:
根据所述当前处理网格的所述第一顶点序列,确定完整覆盖所述当前处理网格的最小的外接矩形,作为目标搜索区域;
使用所述外接矩形的两条相邻直角边建立参考坐标系,并在所述参考坐标系下,搜索得到位于所述当前处理网格中的各像素点;
根据所述参考坐标系与图像坐标系之间的映射关系,以及所述当前处理网格中的各像素点在所述参考坐标系中的位置坐标,在所述图像坐标系中,确定出位于所述当前处理网格中的各像素点。
5.根据权利要求4所述的方法,其特征在于,在所述参考坐标系下,搜索得到所述当前处理网格中的各像素点,包括:
将所述第一顶点序列,映射至所述参考坐标系中;
根据映射结果,得到与所述当前处理网格匹配的三个边的表达式f1(x,y)、f2(x,y)以及f3(x,y);
在所述参考坐标系下,遍历所述外接矩形中的各像素点;
如果确定当前遍历点(xi,yi)满足:f1(xi,yi)*f2(xi,yi)*f3(xi,yi)<0,则将所述当前遍历点确定为所述当前处理网格中的一个像素点。
6.根据权利要求2所述的方法,其特征在于,根据所述第一顶点序列以及所述第二顶点序列,计算所述当前处理网格与所述配对网格之间的映射关系矩阵,包括:
将所述第一顶点序列,以及所述第二顶点序列,共同输入至OPENCV组件中,得到所述当前处理网格与所述配对网格之间的映射关系矩阵。
7.根据权利要求1-6任一项所述的方法,其特征在于,在响应于原始人脸图像的变形调整指令,建立空白图像之前,还包括:
获取人脸图像数据,并识别所述人脸图像数据中的人脸关键点;
根据所述人脸关键点,将所述人脸图像数据划分为多个网格,所述网格的顶点至少包括所述人脸关键点;
绘制所述网格,得到所述原始人脸图像进行显示,并将绘制出的各所述网格作为所述原始网格。
8.根据权利要求1-6任一项所述的方法,其特征在于,根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格,包括:
根据所述变形调整指令,在所述原始人脸图像中确定至少一个目标调整网格,以及所述目标调整网格的网格变换形式;
根据所述目标调整网格,以及所述目标调整网格的网格变换形式,确定出所述原始人脸图像中其他原始网格的联动网格变换形式;
根据所述目标调整网格的网格变换形式,以及所述其他原始网格的联动网格变换形式,在所述空白图像中,划分出与所述原始网格匹配的多个目的变形网格。
9.一种图像处理装置,其特征在于,包括:
图像建立模块,用于响应于对原始人脸图像的变形调整指令,建立空白图像,所述原始人脸图像由多个原始网格构成;
网格划分模块,用于根据与所述变形调整指令匹配的各所述原始网格的网格变形方式,在所述空白图像中,划分出与所述原始网格对应的多个目的变形网格;
像素点映射模块,用于根据所述原始网格与所述目的变形网格之间的位置对应关系,将所述原始网格中的各像素点映射至对应的目的变形网格中,得到调整后人脸图像。
10.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的图像处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910848557.3A CN112465692A (zh) | 2019-09-09 | 2019-09-09 | 图像处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910848557.3A CN112465692A (zh) | 2019-09-09 | 2019-09-09 | 图像处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112465692A true CN112465692A (zh) | 2021-03-09 |
Family
ID=74807277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910848557.3A Pending CN112465692A (zh) | 2019-09-09 | 2019-09-09 | 图像处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112465692A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991221A (zh) * | 2021-03-30 | 2021-06-18 | 珠海必要工业科技股份有限公司 | 用于对异形定制区域的uv展开图进行矫正的方法及装置 |
-
2019
- 2019-09-09 CN CN201910848557.3A patent/CN112465692A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991221A (zh) * | 2021-03-30 | 2021-06-18 | 珠海必要工业科技股份有限公司 | 用于对异形定制区域的uv展开图进行矫正的方法及装置 |
CN112991221B (zh) * | 2021-03-30 | 2022-10-18 | 必要鸿源(北京)科技有限公司 | 用于对异形定制区域的uv展开图进行矫正的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3204361A1 (en) | Image processing method, image processing apparatus, and non-transitory storage medium | |
CN110189336B (zh) | 图像生成方法、系统、服务器及存储介质 | |
US20220277481A1 (en) | Panoramic video processing method and apparatus, and storage medium | |
US11922568B2 (en) | Finite aperture omni-directional stereo light transport | |
CN112766027A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111340960B (zh) | 图像的建模方法、装置、存储介质和电子设备 | |
US11494961B2 (en) | Sticker generating method and apparatus, and medium and electronic device | |
WO2022121653A1 (zh) | 确定透明度的方法、装置、电子设备和存储介质 | |
JP7262530B2 (ja) | 位置情報の生成方法、関連装置及びコンピュータプログラム製品 | |
CN113538623A (zh) | 确定目标图像的方法、装置、电子设备及存储介质 | |
CN112528707A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111815748A (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111870953A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN113496506A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN107452046B (zh) | 三维城市模型的纹理处理方法及装置、设备及可读介质 | |
CN113920282B (zh) | 图像处理方法和装置、计算机可读存储介质、电子设备 | |
US20240046554A1 (en) | Presenting virtual representation of real space using spatial transformation | |
CN114596383A (zh) | 线条特效处理方法、装置、电子设备、存储介质及产品 | |
CN109887078B (zh) | 天空绘制方法、装置、设备和介质 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN112488909A (zh) | 多人脸的图像处理方法、装置、设备及存储介质 | |
CN115761123B (zh) | 三维模型处理方法、装置、电子设备以及存储介质 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
US11663752B1 (en) | Augmented reality processing device and method |
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 |