CN114296622B - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114296622B CN114296622B CN202011009834.0A CN202011009834A CN114296622B CN 114296622 B CN114296622 B CN 114296622B CN 202011009834 A CN202011009834 A CN 202011009834A CN 114296622 B CN114296622 B CN 114296622B
- Authority
- CN
- China
- Prior art keywords
- touch point
- offset
- image
- point
- grid point
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 12
- 238000011282 treatment Methods 0.000 abstract 1
- 238000007493 shaping process Methods 0.000 description 19
- 230000003796 beauty Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开关于一种图像处理方法、装置、电子设备及存储介质,涉及图像处理技术领域,其中,图像处理方法包括:获取针对待处理图像的开始触控点和结束触控点;根据开始触控点和结束触控点的位置信息确定液化区域;根据开始触控点和结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量;其中,调整半径用于控制每个网格点的偏移程度;根据每个网格点的偏移量移动每个网格点,得到中间处理图像;对中间处理图像添加对应纹理信息,以生成目标图像。由此,通过用户对图像中人体或者脸等需要调整的位置进行简单操作就可以对人体或者脸等调整位置进行美体、美型等处理,提高美型、美体效果和操作简单快速。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着图像处理技术和终端设备的不断发展,对于图片中的人体或脸等进行美体、美型的操作越来越普遍。
相关技术中,基于人体或人脸等关键点进行美体、美型,比如基于待处理图像的人脸关键点比如眼睛、鼻子等、美型后的人脸关键点比如眼睛、鼻子等对待处理图像进行变形,生成美型图像,由于关键点仅仅是整个身体的几个点,只能调整比较局限的身体部位,不能够完全对身体各部位进行美型、美体,调整策略比较单一,最终显示的图像处理效果也比较差。
发明内容
本公开提供一种图像处理方法、装置、电子设备及存储介质,以至少解决相关技术中不能够完全根据用户需求对整个图像的任一位置比如人体或者脸等调整位置进行自由美型、美体等图像处理,导致调整方式单一以及美型、美体的效果比较差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种图像处理方法,包括:
获取针对待处理图像的开始触控点和结束触控点;其中,所述待处理图像包括多个网格和所述多个网格对应的网格点;
根据所述开始触控点和所述结束触控点的位置信息确定液化区域;
根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和调整半径确定所述每个网格点的偏移量;其中,所述调整半径用于控制所述每个网格点的偏移程度;
根据所述每个网格点的偏移量移动所述每个网格点,得到中间处理图像;以及
对所述中间处理图像添加对应纹理信息,以生成目标图像。
在本公开的一种可能实现方式中,所述根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和预设半径确定所述每个网格点的偏移量,包括:
根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算所述每个网格点的偏移强度;其中,所述每个网格点的偏移强度用于表征所述每个网格点的调整幅度大小;
根据所述开始触控点的坐标信息和所述结束触控点的坐标信息计算偏移向量;其中,所述偏移向量的方向为所述开始触控点指向所述结束触控点的方向;
根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量。
在本公开的一种可能实现方式中,在所述获取针对待处理图的开始触控点和结束触控点之前,还包括:
获取所述待处理图像;
按照预设步长将所述待处理图像分割成包括多个网格点的待处理图像;其中,所述预设步长与所述待处理图像的像素个数相关。
在本公开的一种可能实现方式中,所述根据所述开始触控点和所述结束触控点确定液化区域,包括:
获取所述开始触控点的开始横坐标值和开始纵坐标值,以及获取所述结束触控点的结束横坐标值和结束纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第一顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第二顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第三顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第四顶点的横纵坐标值;
根据所述第一顶点、所述第二顶点、所述第三顶点和所述第四顶点的横纵坐标值得到所述液化区域。
在本公开的一种可能实现方式中,所述根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算每个网格点的偏移强度,包括:
计算所述开始触控点和所述液化区域中的各个网格点之间的距离;
计算每个所述距离与所述调整半径的比值,将所述比值作为所述每个网格点的偏移强度。
在本公开的一种可能实现方式中,所述根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量,包括:
计算所述偏移向量和所述每个网格点的偏移强度的乘积,将所述乘积作为所述每个网格点的偏移量。
在本公开的一种可能实现方式中,在所述控制所述每个网格点按照对应的偏移量进行移动,以生成中间处理图像之前,还包括:
获取所述距离大于所述调整半径的目标网格点;
在所述控制所述每个网格点按照对应的偏移量进行移动的过程中,所述目标网格点的位置不变。
根据本公开实施例的第二方面,提供一种图像处理装置,包括:
第一获取单元,被配置为获取针对待处理图像的开始触控点和结束触控点;其中,所述待处理图像包括多个网格和所述多个网格对应的网格点;
确定单元,被配置为根据所述开始触控点和所述结束触控点的位置信息确定液化区域;
生成单元,被配置为根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和调整半径确定所述每个网格点的偏移量;其中,所述调整半径用于控制所述每个网格点的偏移程度;
控制单元,被配置为根据所述每个网格点的偏移量移动所述每个网格点,得到中间处理图像;以及
处理单元,被配置为对所述中间处理图像添加对应纹理信息,以生成目标图像。
在本公开的一种可能实现方式中,所述生成单元,包括:
第一计算子单元,被配置为根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算所述每个网格点的偏移强度;其中,所述每个网格点的偏移强度用于表征所述每个网格点的调整幅度大小;
第二计算子单元,被配置为根据所述开始触控点的坐标信息和所述结束触控点的坐标信息计算偏移向量;其中,所述偏移向量的方向为所述开始触控点指向所述结束触控点的方向;
第三计算子单元,被配置为根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量。
在本公开的一种可能实现方式中,所述的图像处理装置,还包括:
第二获取单元,被配置为获取所述待处理图像;
分割单元,被配置为按照预设步长将所述待处理图像分割成包括多个网格点的待处理图像;其中,所述预设步长与所述待处理图像的像素个数相关。
在本公开的一种可能实现方式中,所述确定单元,具体被配置为:
获取所述开始触控点的开始横坐标值和开始纵坐标值,以及获取所述结束触控点的结束横坐标值和结束纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第一顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第二顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第三顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第四顶点的横纵坐标值;
根据所述第一顶点、所述第二顶点、所述第三顶点和所述第四顶点的横纵坐标值得到所述液化区域。
在本公开的一种可能实现方式中,所述第一计算子单元,,具体被配置为:
计算所述开始触控点和所述液化区域中的各个网格点之间的距离;
计算每个所述距离与所述调整半径的比值,将所述比值作为所述每个网格点的偏移强度。
在本公开的一种可能实现方式中,所述第三计算子单元,具体被配置为:
计算所述偏移向量和所述每个网格点的偏移强度的乘积,将所述乘积作为所述每个网格点的偏移量。
在本公开的一种可能实现方式中,所述的图像处理装置,还包括:
第三获取单元,被配置为获取所述距离大于所述调整半径的目标网格点;
维持单元,被配置为在所述控制所述每个网格点按照对应的偏移量进行移动的过程中,所述目标网格点的位置不变。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为所述指令,以实现第一方面实施例所述的图像处理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行第一方面实施例所述的图像处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,使得所述电子设备能够执行第一方面实施例所述的图像处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
获取针对待处理图像的开始触控点和结束触控点;其中,待处理图像包括多个网格和所述多个网格对应的网格点,根据开始触控点和结束触控点的位置信息确定液化区域;根据开始触控点和结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量;其中,调整半径用于控制每个网格点的偏移程度;根据每个网格点的偏移量移动每个网格点,得到中间处理图像;对中间处理图像添加对应纹理信息,以生成目标图像。由此,通过用户对图像中人体或者脸等需要调整的位置进行简单操作就可以对人体或者脸等调整位置进行美体、美型等图像处理,提高美型、美体效果和操作简单快速。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种图像处理方法的流程图;
图2是根据一示例性实施例示出的另一种图像处理方法的流程图;
图3a-3b是根据一示例性实施例示出的包括多个网格点的待处理图像确定的场景图;
图4是根据一示例性实施例示出的滑动操作的场景图;
图5是根据一示例性实施例示出的液化区域确定的场景图;
图6是根据一示例性实施例示出的图像处理效果的示例图;
图7是根据一示例性实施例示出的又一种图像处理方法的流程图;
图8是根据一示例性实施例示出的点击操作的场景图;
图9是根据一示例性实施例示出的一种图像处理装置框图;
图10是根据一示例性实施例示出的另一种图像处理装置框图;
图11是根据一示例性实施例示出的又一种图像处理装置框图;
图12是根据一示例性实施例示出的再一种图像处理装置框图;
图13是根据第一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
具体地,液化可用于推、拉和膨胀图像的任意区域即美体、美型等,针对现有技术中基于关键点进行美型、美体的方式不能适用于没有关键点的美型、美体等场景,以及不能够完全根据用户需求对整个图像的任一位置比如人体或者脸等调整位置进行自由美型、美体等图像处理,导致调整方式单一以及美型、美体等效果比较差的问题。
本申请提出的图像处理方法,可以对图像中的任一位置进行调整,主要是针对图像中人体或者脸等需要调整的位置,通过自由地滑动人体或人脸需要调整的位置进行自主美体、美型,以及美型、美体程度和美型、美体的位置完全是由用户自由把控,解决了现有的基于关键点进行美型不能更加自主地进行调整的局限性,也适用于没有关键点的美型场景,以及不能够完全根据用户需求对整个图像的任一位置比如人体或者脸等调整位置进行自由美型、美体等,导致调整方式单一以及美型、美体等效果比较差的问题。
需要说明的是,本申请的图像处理方法,可以对图像中的任一位置进行图像处理,比如图像中的景物图像、物品图像和动物、水果图像等等,具体根据实际应用场景进行选择设置,本申请后续实施例描述主要以人脸或者人体作为调整对象进行描述本申请提出的图像处理方法。
图1是根据一示例性实施例示出的一种图像处理方法的流程图,如图1所示,图像处理方法用于电子设备中,该电子设备可以是智能手机、平板电脑和智能终端(比如电视机等)等,包括以下步骤:
在步骤S101中,获取针对待处理图像的开始触控点和结束触控点;其中,待处理图像包括多个网格和多个网格对应的网格点。
在本公开实施例中,用户可以通过手指、触控笔和鼠标等一种或者多种方式发送操作指令,具体根据用户操作习惯进行选择。
在本公开实施例中,待处理图像指的是在获取图像后,按照预设步长将待处理图像分割成多个网格和多个网格具有对应的网格点的待处理图像;其中,预设步长与待处理图像的像素个数相关,预设步长的取值越小待处理图像分割的网格点越密集,美型、美体等效果更加自然。其中,图像可以是图片、视频中的每一帧图片等,其中,需要提前对视频进行处理得到每一帧图片。
在本公开实施例中,开始触控点为待处理图像中任一位置点,结束触控点为与待处理图像中任一位置点且与开始触控点对应的位置点不同。
在本公开实施例中,响应于用户的操作指令,获取待处理图像中的开始触控点和结束触控点的方式有很多种,举例说明如下:
第一种示例,响应于用户的滑动操作,获取用户开始触碰待处理图像时的触控点和用户移开待处理图像时的触控点。
第二种示例,响应于用户的点击操作,获取用户第一次点击操作待处理图像时的触控点和第二次点击待处理图像时的触控点。
在步骤S102中,根据开始触控点和结束触控点的位置信息确定液化区域。
在本公开实施例中,液化区域指的是需要液化(推,拉,膨胀等)的区域。
在本公开实施例中,在获取开始触控点和结束触控点后,可以基于开始触控点的位置信息、结束触控点的位置信息来确定液化区域,其中,开始触控点和结束触控点的位置信息可以通过坐标点来表示,坐标系可以选择为图像的宽为横轴,高为纵轴;开始触控点指的是需要开始液化的点(比如可以是用户滑动手指时的第一次触碰的点坐标,结束触控点是移开手指时的坐标点)。
可以理解的是,可以以开始触控点为起始点,记为(x0,y0),以结束触控点为结束点,记为(x1,y1),根据两个坐标点来确定液化区域,其中,(x0,y0)和(x1,y1) 的取值与原点有关,比如可以以开始触控点为原点来对(x0,y0)和(x1,y1)进行取值,也可以以待处理图像的任一顶点为原点来对(x0,y0)和(x1,y1),具体根据实际应用需要进行选择。
在本公开实施例中,根据开始触控点和结束触控点的位置信息确定液化区域的方式有很多种,举例说明如下:
作为一种可能实现方式,获取开始触控点的开始横坐标值和开始纵坐标值,以及获取结束触控点的结束横坐标值和结束纵坐标值,获取开始横坐标值和结束横坐标值中的最小横坐标值、开始纵坐标值和结束纵坐标值中的最小纵坐标值分别作为液化区域的第一顶点的横纵坐标值,获取开始横坐标值和结束横坐标值中的最大横坐标值、开始纵坐标值和结束纵坐标值中的最小纵坐标值分别作为液化区域的第二顶点的横纵坐标值,获取开始横坐标值和结束横坐标值中的最小横坐标值、开始纵坐标值和结束纵坐标值中的最大纵坐标值分别作为液化区域的第三顶点的横纵坐标值,获取开始横坐标值和结束横坐标值中的最大横坐标值、开始纵坐标值和结束纵坐标值中的最大纵坐标值分别作为液化区域的第四顶点的横纵坐标值,根据液化区域的第一顶点、第二顶点、第三顶点和第四顶点的的横纵坐标值得到液化区域。通过开始触控点和结束触控点的位置信息快速获取液化区,提高处理效率
作为另一种可能实现方式,根据多个开始触控点的横纵坐标值和多个结束触控点的横纵坐标值,以及历史液化区域中的四个顶点的横纵坐标值,进行求解,得到多个函数参数,最终建立目标函数,实现将开始触控点的横纵坐标值和结束触控点的横纵坐标值输入到目标函数得到四个顶点的横纵坐标值,从而根据四个顶点的横纵坐标值计算得到液化区域。
在步骤S103中,根据开始触控点和结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量;其中,调整半径用于控制每个网格点的偏移程度。
在本公开实施例中,以开始触控点为圆心画了一个圆,圆的半径可以为N个像素长其中,N为正整数,上述圆的半径也就是调整半径,可以针对网格点与开始触控点之间距离大于调整半径的网格点不进行移动,仅仅针对网格点与开始触控点之间距离小于等于调整半径的网格点进行移动,进一步提高液化处理效率。也就是说本公开优选调整半径对应的圆里面的网格点进行调整,以及调整半径用于控制每个网格点的偏移程度,其中,调整半径越大,圆包括的网格点越多,即需要调整的网格点越多,但是每一个网格点的偏移程度越小。调整半径可以按照实际应用需求设置。
在本公开实施例中,开始触控点和结束触控点为待处理图像中的不同位置点,因此,可以看到开始触控点到结束触控点的位置变化,可以理解的是,这个位置变化不仅仅具有距离而且具有方向,因此,可以基于开始触控点和结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量。
具体地,作为一种可能实现方式,根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息和调整半径计算每个网格点的偏移强度;其中,每个网格点的偏移强度用于表征每个网格点的调整幅度大小;根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向;根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量。由此,通过开始触控点和结束触控点的位置信息快速获取偏移向量,进一步提高图像处理的准确性和效率。
其中,根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移坐标,获取偏移坐标的模长,根据偏移坐标和模长的比值确定偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向。
在步骤S104中,根据每个网格点的偏移量移动每个网格点,得到中间处理图像。
在步骤S105中,对中间处理图像添加对应纹理信息,以生成目标图像。
在本公开实施例中,实现将液化区域中的各个网格点按照一定的方向移动一定的距离从而得到中间处理图像,最后对中间处理图像添加对应的纹理信息获取目标图像也就是已进行美型、美体等图像处理后的图像。
在本公开实施例中,控制每个网格点按照对应的偏移量进行移动,以生成中间处理图像的方式有很多种,可以根据应用场景需要进行选择设置。
作为一种示例,直接将整个液化区域中的每一个网格点都进行移动,更具体地,根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息、调整半径计算每个网格点的偏移强度,根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,得到中间处理图像。
作为另一种示例,获取开始触控点和液化区域中的各个网格点之间的距离大于调整半径应的目标网格点,在控制每个网格点按照对应的偏移量进行移动的过程中,目标网格点的位置不变,其它网格点按照对应的偏移量进行移动,得到中间处理图像,进一步提高调整效率。
综上,本公开实施例的图像处理方法,获取针对待处理图像的开始触控点和结束触控点;其中,待处理图像包括多个网格和所述多个网格对应的网格点;根据开始触控点和结束触控点的位置信息确定液化区域;根据开始触控点和结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量;其中,调整半径用于控制每个网格点的偏移程度;控制每个网格点按照对应的偏移量进行移动,以生成中间处理图像;对中间处理图像添加对应纹理信息,以生成目标图像。由此,通过用户对图像中人体或者脸等需要调整的位置进行简单操作就可以对人体或者脸等调整位置进行美体、美型等图像处理,提高美型、美体效果和操作简单快速。
基于上述实施例的描述,下面结合具体场景选择不同的方式进行图像处理进行描述。
图2是根据一示例性实施例示出的另一种图像处理方法的流程图,如图2所示,包括:
在步骤201中,获取待处理图像,按照预设步长将待处理图像分割成包括多个网格点的待处理图像;其中,预设步长与待处理图像的像素个数相关。
在本公开实施中,获取图像的方式有很多种方式,比如用户手动上传的图片或者视屏等,或者是下载的图片,还可以是本地存储的图片或视频等。
进一步地,在用户进行操作之前,预先按照预设步长将待处理图像分割成多个网格和多个网格对应的网格点的待处理图像,其中,预设步长与待处理图像的像素个数相关,可以理解的是,预设步长一般跟待处理图像的像素大小有关,一般取10个像素左右,预设步长的取值越小待处理图像分割的网格点越密集,美型、美体等效果更加自然。
举例而言,获取待处理图像的实际尺寸(例如:宽为w个像素,高为h个像素)将在横向和纵向两个方向直接以预设步长即n个像素为单位横向分割h/n个单位,纵向分割w/n 个单位,计算出(w/n)*(h/n)大小的网格,如图3a所示的待处理图像,在按照预设步长将待处理图像分割后如图3b所示,生成多个网格点的待处理图像。
在步骤202中,获取用户开始触碰待处理图像时的触控点和用户移开待处理图像时的触控点,获取开始触控点和结束触控点的位置信息确定液化区域的四个顶点的横纵坐标值,根据液化区域的四个顶点的横纵坐标值计算得到液化区域。
在本公开实施中,用户通过滑动操作来进行图像处理,执行滑动操作可以是手指也可以是触控笔等,如图4所示,用户通过手指滑动图片的示例图,如图4中的A点为用户开始触碰待处理图像时的触控点即开始触控点,以及图4中的B点为用户移开待处理图像时的触控点即结束触控点。
可以理解的是,用户可以根据实际应用操作需求对图像的任一位置进行操作,即图4 中的任一位置都可以为A点或者B点,进一步通过滑动的方式实现图像处理,提高图像处理操作的灵活性,满足用户使用需求。
在本公开实施例中,开始调整的坐标点即开始触控点可以作为起始点,调整结束的位置即结束触控点作为结束点,通过开始触控点的坐标点(x0,y0)和结束触控点的坐标点 (x1,y1)来确定需要液化的方形区域,通过开始触控点和结束触控点的位置信息快速获取液化区,提高处理效率。
举例而言,液化区域一个顶点的坐标点为左上顶点的x坐标是min(x0,x1),左上顶点的y坐标是min(y0,y1);一个顶点的坐标点为右上顶点的x坐标是max((x0,x1),右上顶点的y坐标是min(y0,y1);一个顶点的坐标点为左下顶点的x坐标是min(x0,x1),左下顶点的y坐标是max(y0,y1);一个顶点的坐标点为右下顶点的x坐标是max(x0,x1),右下顶点的y坐标是max(y0,y1)。其中,坐标点的取值与定的坐标系有关,比如左上顶点坐标是(0,0)。
进一步地,根据液化区域左上顶点、左下顶点、右上顶点和右下顶点这四个顶点的横纵坐标值计算得到液化区域,比如图5所示的开始触控点A、结束触控点B从而得到的液化区域X。
在步骤203中,根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向。
在本公开实施例中,如图5所示,可以看到开始触控点到结束触控点的位置变化,可以理解的是,这个位置变化不仅仅具有距离而且具有方向,因此,可以基于开始触控点和结束触控点的位置变化生成液化区域的偏移向量。
进一步地,通过预设公式或者算法计算开始触控点的坐标信息和结束触控点的坐标信息计算偏移坐标,获取偏移坐标的模长,根据偏移坐标和模长的比值确定偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向,由此,通过开始触控点和结束触控点的位置信息快速获取偏移向量,进一步提高图像处理的准确性和效率。
举例而言,偏移坐标为(x=x1-x0,y=y1-y0),接着计算x平方+y平方再开根号算模长,向量的x,y坐标除以这个模长得到偏移向量。
在步骤204中,根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息和调整半径计算每个网格点的偏移强度;其中,每个网格点的偏移强度用于表征每个网格点的调整幅度大小。
在步骤205中,根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,得到中间处理图像,对中间处理图像添加对应纹理信息,以生成目标图像。
在本公开实施例中,为了进一步提高调整的准确性,根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息、调整半径计算每个网格点的偏移强度,也就是说遍历液化区域中计算好的各个网格点,比如正在遍历的点记为point(px,py),计算point到开始触控点的距离,根据上述计算的距离与调整半径的比值,得到每个网格点的偏移强度,从而根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,得到中间处理图像。
其中,调整半径是预先设置,一般是按照需求设置,调整半径越大需要调整的网格点越多,但是每一个网格点的偏移程度越小。
需要说明的是,为了进一步提高调整效率,可以直接跳过上述计算的距离大于调整半径的网格点,即在控制每个网格点按照对应的偏移量进行移动的过程中,开始触控点和液化区域中的各个网格点之间的距离大于调整半径对应的网格点的位置不变。
在本公开实施例中,对中间处理图像添加对应纹理信息生成目标图像也就是已进行美型、美体等图像处理后的图像,其中、纹理信息描述了图像所对应景物的表面性质。
举例而言,如图6a所示的中间处理图像,并对中间处理图像添加对应纹理信息,获取目标图像入图6b所示。
综上,本公开实施例的图像处理方法,获取待处理图像,按照预设步长将待处理图像分割成包括多个网格和多个网格对应的多个网格点的待处理图像;其中,预设步长与待处理图像的像素个数相关,获取用户开始触碰待处理图像时的触控点和用户移开待处理图像时的触控点,获取开始触控点和结束触控点的位置信息确定液化区域的四个顶点的横纵坐标值,根据液化区域的四个顶点的横纵坐标值计算得到液化区域,根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向;根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息和调整半径计算每个网格点的偏移强度;其中,每个网格点的偏移强度用于表征每个网格点的调整幅度大小,根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,得到中间处理图像,对中间处理图像添加对应纹理信息,以生成目标图像。由此,通过开始触控点、结束触控点以及调整半径计算网格移动的幅度,并计算出调整后的网格点,最后对中间处理图像添加对应纹理信息获取目标图像,实现用户认为选择一部分需要调整的区域,不想调整的区域保持不动,不依赖与关键点从而更加自由的进行美型、美体等图像处理,提高美型、美体等图像处理效果和操作简单快速。
图7是根据一示例性实施例示出的又一种图像处理方法的流程图,如图7所示,包括:
在步骤301中,获取待处理图像,按照预设步长将待处理图像分割成包括多个网格点的待处理图像;其中,预设步长与待处理图像的像素个数相关。
在本公开实施中,获取图像的方式有很多种方式,比如用户手动上传的图片或者视屏等,或者是下载的图片,还可以是本地存储的图片或视频等。
进一步地,在用户进行操作之前,预先按照预设步长将待处理图像分割成包括多个网格的待处理图像,其中,预设步长与像素个数相关,可以理解的是,预设步长一般跟待处理图像大小有关,一般取10个像素左右,预设步长的取值越小网格越密集,美型、美体等效果更加自然。
举例而言,获取待处理图像的实际尺寸(例如:宽为w个像素,高为h个像素)将在横向和纵向两个方向直接以预设步长即n个像素为单位横向分割h/n个单位,纵向分割w/n 个单位,计算出(w/n)*(h/n)大小的网格,如图3a所示的待处理图像,在按照预设步长将待处理图像分割后如图3b所示,生成多个网格的待处理图像。
在步骤302中,获取用户第一次点击操作待处理图像时的触控点和第二次点击待处理图像时的触控点。
在本公开实施中,用户通过点击操作来进行图像处理,执行点击操作可以是手指也可以是触控笔等,如图8所示,用户通过手指点击图片的示例图,如图8中的A点为用户第一次点击操作待处理图像时的触控点即开始触控点,以及图8中的B点为第二次点击待处理图像时的触控点即结束触控点。
可以理解的是,用户可以根据实际应用操作需求对图像的任一位置进行操作,即图4 中的任一位置都可以为A点或者B点,进一步通过点击的方式实现图像处理,提高图像处理操作的灵活性,满足用户使用需求。
在步骤303中,获取开始触控点和结束触控点的位置信息确定液化区域的四个顶点的横纵坐标值,根据液化区域的四个顶点的横纵坐标值计算得到液化区域。
在本公开实施例中,开始调整的坐标点即开始触控点可以作为起始点,调整结束的位置即结束触控点作为结束点,通过开始触控点的坐标点(x0,y0)和结束触控点的坐标点 (x1,y1)来确定需要液化的方形区域,通过开始触控点和结束触控点的位置信息快速获取液化区,提高处理效率。
举例而言,液化区域一个顶点的坐标点为左上顶点的x坐标是min(x0,x1),左上顶点的y坐标是min(y0,y1);一个顶点的坐标点为右上顶点的x坐标是max((x0,x1),右上顶点的y坐标是min(y0,y1);一个顶点的坐标点为左下顶点的x坐标是min(x0,x1),左下顶点的y坐标是max(y0,y1);一个顶点的坐标点为右下顶点的x坐标是max(x0,x1),右下顶点的y坐标是max(y0,y1)。其中,坐标点的取值与定的坐标系有关,比如左上顶点坐标是(0,0)。
进一步地,根据液化区域四个顶点的横纵坐标值计算得到液化区域,比如图5所示的开始触控点A、结束触控点B从而得到的液化区域X。
在步骤304中,根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移坐标,获取偏移坐标的模长,根据偏移坐标和模长的比值确定偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向。
在本公开实施例中,如图5所示,可以看到开始触控点到结束触控点的位置变化,可以理解的是,这个位置变化不仅仅具有距离而且具有方向,因此,可以基于开始触控点和结束触控点的位置信息确定偏移向量。
进一步地,通过预设公式或者算法计算开始触控点的坐标信息和结束触控点的坐标信息计算偏移坐标,获取偏移坐标的模长,根据偏移坐标和模长的比值确定偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向,由此,通过开始触控点和结束触控点的位置信息确定偏移向量,进一步提高图像处理的准确性和效率。
举例而言,偏移坐标为(x=x1-x0,y=y1-y0),接着计算x平方+y平方再开根号算模长,向量的x,y坐标除以这个模长得到偏移向量。
在步骤305中,获取开始触控点和液化区域中的各个网格点之间的距离大于调整半径应的目标网格,计算开始触控点和液化区域中的各个网格点之间的距离,计算开始触控点和液化区域中的各个网格点之间的距离与调整半径的比值,得到每个网格点的偏移强度。
在步骤306中,根据偏移向量和偏移强度的乘积得到液化区域中的每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,在控制每个网格点按照对应的偏移量进行移动的过程中,目标网格的位置不变,得到中间处理图像。
在本公开实施例中,为了进一步提高调整的准确性,计算开始触控点和液化区域中的各个网格点之间的距离,计算开始触控点和液化区域中的各个网格点之间的距离与调整半径的比值,得到每个网格点的偏移强度,也就是说遍历液化区域中计算好的各个网格点,比如正在遍历的网格点记为point(px,py),计算point到开始触控点的距离,根据上述计算的距离与调整半径的比值,得到每个网格点的偏移强度,从而根据偏移向量和偏移强度乘积快速计算液化区域中的每个网格点的偏移量,从而快速精确获取每个网格点的偏移量,控制每个网格点按照对应的偏移量进行移动,得到中间处理图像,进一步提高图像处理效率。
需要说明的是,为了进一步提高调整效率,可以直接跳过上述计算的距离大于调整半径的网格点,即在控制每个网格点按照对应的偏移量进行移动的过程中,开始触控点和液化区域中的各个网格点之间的距离大于调整半径应的网格点的位置不变。
在步骤307中,对中间处理图像添加对应纹理信息,以生成目标图像。
在本公开实施例中,对中间处理图像添加对应纹理信息生成目标图像也就是已进行美型、美体等图像处理后的图像,其中、纹理信息描述了图像所对应景物的表面性质。
由此,通过用户操作的起始点和结束点以及调整半径计算液化区域中的每个网格点移动的幅度,并计算出调整后的网格点,最后根据调整后的网格点对应的纹理信息对调整后的网格点添加对应纹理信息获取目标图像,实现用户认为选择一部分需要调整的区域,不想调整的区域保持不动,不依赖与关键点从而更加自由的进行美型、美体等图像处理,提高美型、美体效果和操作简单快速。
图9是根据一示例性实施例示出的一种图像处理装置框图。参照图9,该装置包括第一获取单元121,确定单元122、生成单元123、控制单元124和处理单元125。
第一获取单元121,被配置为获取针对待处理图像的开始触控点和结束触控点;其中,待处理图像包括多个网格和多个网格对应的网格点。。
在本公开实施例中,用户可以通过手指、触控笔和鼠标等一种或者多种方式发送操作指令,具体根据用户操作习惯进行选择。
在本公开实施例中,待处理图像指的是在获取图像后,按照预设步长将图像分割成包括多个网格的待处理图像;其中,预设步长与像素个数相关。其中,图像可以是图片、视频中的每一帧图片等,其中,需要提前对视频进行处理得到每一帧图片。
在本公开实施例中,开始触控点为待处理图像中任一位置点,结束触控点为与待处理图像中任一位置点且与开始触控点对应的位置点不同。
在本公开实施例中,响应于用户的操作指令,获取待处理图像中的开始触控点和结束触控点的方式有很多种,举例说明如下:
第一种示例,第一获取单元121,具体被配置为获取用户开始触碰待处理图像时的触控点和用户移开待处理图像时的触控点。
第二种示例,第一获取单元121,具体被配置为获取用户第一次点击操作待处理图像时的触控点和第二次点击待处理图像时的触控点。
确定单元122,被配置为根据开始触控点和结束触控点的位置信息确定液化区域。
在本公开实施例中,液化区域指的是需要液化(推,拉,膨胀等)的区域。
在本公开实施例中,在获取开始触控点和结束触控点后,可以基于开始触控点的位置信息、结束触控点的位置信息来确定液化区域,其中,可以理解的是,可以以开始触控点为起始点,记为(x0,y0),以结束触控点为结束点,记为(x1,y1),根据两个坐标点来确定液化区域,其中,(x0,y0)和(x1,y1)的取值与原点有关,比如可以以开始触控点为原点来对(x0,y0)和(x1,y1)进行取值,也可以以待处理图像的任一顶点为原点来对(x0,y0)和(x1,y1),具体根据实际应用需要进行选择。
在本公开实施例中,根据开始触控点和结束触控点的位置信息确定液化区域的方式有很多种,举例说明如下:
作为一种可能实现方式,确定单元122,具体被配置为获取开始触控点的开始横坐标值和开始纵坐标值,以及获取结束触控点的结束横坐标值和结束纵坐标值;获取开始横坐标值和结束横坐标值中的最小横坐标值、开始纵坐标值结束纵坐标值中的最小纵坐标值分别作为液化区域的第一顶点的横纵坐标值;获取开始横坐标值和结束横坐标值中的最大横坐标值、开始纵坐标值和结束纵坐标值中的最小纵坐标值分别作为液化区域的第二顶点的横纵坐标值;获取开始横坐标值和结束横坐标值中的最小横坐标值、开始纵坐标值和结束纵坐标值中的最大纵坐标值分别作为液化区域的第三顶点的横纵坐标值;获取开始横坐标值和结束横坐标值中的最大横坐标值、开始纵坐标值结束纵坐标值中的最大纵坐标值分别作为液化区域的第四顶点的横纵坐标值;根据第一顶点、第二顶点、第三顶点和第四顶点的横纵坐标值得到液化区域。
作为另一种可能实现方式,确定单元122,具体被配置为根据多个开始触控点的横纵坐标值和多个结束触控点的横纵坐标值,以及历史液化区域中的四个顶点的横纵坐标值,进行求解,得到多个函数参数,最终建立目标函数,实现将开始触控点的横纵坐标值和结束触控点的横纵坐标值输入到目标函数得到四个顶点的横纵坐标值,从而根据四个顶点的横纵坐标值计算得到液化区域。
生成单元123,被配置为根据开始触控点和所述结束触控点的坐标信息、液化区域中每个网格点的坐标信息和调整半径确定每个网格点的偏移量;其中,调整半径用于用于控制每个网格点的偏移程度。
在本公开实施例中,开始触控点和结束触控点为待处理图像中的不同位置点,因此,可以看到开始触控点到结束触控点的位置变化,可以理解的是,这个位置变化不仅仅具有距离而且具有方向,因此,可以基于开始触控点和结束触控点的位置变化生成液化区域的偏移向量。
具体地,作为一种可能实现方式,生成单元123,具体被配置为根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息和调整半径计算每个网格点的偏移强度;其中,每个网格点的偏移强度用于表征每个网格点的调整幅度大小,计算开始触控点和结束触控点之间的距离,根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移坐标,根据偏移坐标和开始触控点和结束触控点之间的距离的比值确定偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向,根据偏移向量和偏移强度计算液化区域中的每个网格点的偏移量。
控制单元124,被配置为根据每个网格点的偏移量移动每个网格点,得到中间处理图像。
处理单元125,被配置为对中间处理图像添加对应纹理信息,以生成目标图像。
在本公开实施例中,实现将液化区域中的各个网格点按照一定的方向移动一定的距离从而得到中间处理图像,最后对中间处理图像添加对应纹理信息,以生成目标图像。
在本公开实施例中,控制每个网格点按照对应的偏移量进行移动,以生成中间处理图像的方式有很多种,可以根据应用场景需要进行选择设置。
作为一种示例,直接将整个液化区域中的每一个网格都进行移动,在公开的一个实施例中,如图10所示,在如图9所示的基础上,生成单元123,包括:第一计算子单元1231,被配置为根据开始触控点的坐标信息、液化区域中的各个网格点的坐标信息和所述调整半径计算所述每个网格点的偏移强度;其中,每个网格点的偏移强度用于表征所述每个网格点的调整幅度大小;第二计算子单元1232,被配置为根据开始触控点的坐标信息和结束触控点的坐标信息计算偏移向量;其中,偏移向量的方向为开始触控点指向结束触控点的方向;第三计算子单元1233,被配置为根据偏移向量和偏移强度计算所述液化区域中的每个网格点的偏移量。
在公开的一个实施例中,第一计算子单元1231,具体被配置为:计算开始触控点和液化区域中的各个网格点之间的距离;计算每个距离与调整半径的比值,将比值作为每个网格点的偏移强度。
在公开的一个实施例中,第三计算子单元1233,具体被配置为:计算偏移向量和每个网格点的偏移强度的乘积,将乘积作为所述每个网格点的偏移量。
在公开的一个实施例中,如图11所示,在如图9所示的基础上,图像处理装置,还包括:第二获取单元126和分割单元127。
第二获取单元126,被配置为获取待处理图像。
分割单元127,被配置为按照预设步长将待处理图像分割成包括多个网格点的待处理图像;其中,预设步长与待处理图像的像素个数相关。
在公开的一个实施例中,如图12所示,在如图9所示的基础上,图像处理装置,还包括:第三获取单元128和维持单元129。
第三获取单元128,被配置为获取距离大于调整半径的目标网格点。
维持单元129,被配置为在控制每个网格点按照对应的偏移量进行移动的过程中,目标网格点的位置不变。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
为了实现上述实施例,本公开还提出了一种电子设备。图13是根据本公开提出的一种电子设备的框图。
如图13所示,上述电子设备200包括:
存储器210及处理器220,连接不同组件(包括存储器210和处理器220)的总线230,存储器210存储有计算机程序,当处理器220执行程序时实现本公开实施例的图像处理方法。
总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构 (MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备200典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。电子设备200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图13未显示,通常称为“硬盘驱动器”)。尽管图 13中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本公开所描述的实施例中的功能和/或方法。
电子设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,电子设备 200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN) 和/或公共网络,例如因特网)通信。如图13所示,网络适配器293通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的图像处理方法的解释说明,此处不再赘述。
为了实现上述实施例,本公开还提出一种存储介质。
其中,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的图像处理方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的图像处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种图像处理方法,其特征在于,包括:
获取针对待处理图像的开始触控点和结束触控点;其中,所述待处理图像包括多个网格和所述多个网格对应的网格点;
根据所述开始触控点和所述结束触控点的位置信息确定液化区域;
根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和调整半径确定所述每个网格点的偏移量;其中,所述调整半径用于控制所述每个网格点的偏移程度;
根据所述每个网格点的偏移量移动所述每个网格点,得到中间处理图像;以及
对所述中间处理图像添加对应纹理信息,以生成目标图像;
所述根据所述开始触控点和所述结束触控点确定液化区域,包括:
获取所述开始触控点的开始横坐标值和开始纵坐标值,以及获取所述结束触控点的结束横坐标值和结束纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第一顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第二顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第三顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第四顶点的横纵坐标值;
根据所述第一顶点、所述第二顶点、所述第三顶点和所述第四顶点的横纵坐标值得到所述液化区域。
2.如权利要求1所述的图像处理方法,其特征在于,所述根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和预设半径确定所述每个网格点的偏移量,包括:
根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算所述每个网格点的偏移强度;其中,所述每个网格点的偏移强度用于表征所述每个网格点的调整幅度大小;
根据所述开始触控点的坐标信息和所述结束触控点的坐标信息计算偏移向量;其中,所述偏移向量的方向为所述开始触控点指向所述结束触控点的方向;
根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量。
3.如权利要求1所述的图像处理方法,其特征在于,在所述获取针对待处理图的开始触控点和结束触控点之前,还包括:
获取所述待处理图像;
按照预设步长将所述待处理图像分割成包括多个网格点的待处理图像;其中,所述预设步长与所述待处理图像的像素个数相关。
4.如权利要求2所述的图像处理方法,其特征在于,所述根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算每个网格点的偏移强度,包括:
计算所述开始触控点和所述液化区域中的各个网格点之间的距离;
计算每个所述距离与所述调整半径的比值,将所述比值作为所述每个网格点的偏移强度。
5.如权利要求2所述的图像处理方法,其特征在于,所述根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量,包括:
计算所述偏移向量和所述每个网格点的偏移强度的乘积,将所述乘积作为所述每个网格点的偏移量。
6.如权利要求4所述的图像处理方法,其特征在于,在所述控制所述每个网格点按照对应的偏移量进行移动,以生成已调整待处理图像之前,还包括:
获取所述距离大于所述调整半径的目标网格点;
在所述控制所述每个网格点按照对应的偏移量进行移动的过程中,所述目标网格点的位置不变。
7.一种图像处理装置,其特征在于,包括:
第一获取单元,被配置为获取针对待处理图像的开始触控点和结束触控点;其中,所述待处理图像包括多个网格和所述多个网格对应的网格点;
确定单元,被配置为根据所述开始触控点和所述结束触控点的位置信息确定液化区域;
生成单元,被配置为根据所述开始触控点和所述结束触控点的坐标信息、所述液化区域中每个网格点的坐标信息和调整半径确定所述每个网格点的偏移量;其中,所述调整半径用于控制所述每个网格点的偏移程度;
控制单元,被配置为根据所述每个网格点的偏移量移动所述每个网格点,得到中间处理图像;以及
处理单元,被配置为对所述中间处理图像添加对应纹理信息,以生成目标图像;
所述确定单元具体被配置为:
获取所述开始触控点的开始横坐标值和开始纵坐标值,以及获取所述结束触控点的结束横坐标值和结束纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第一顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最小纵坐标值分别作为所述液化区域的第二顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最小横坐标值、所述开始纵坐标值和所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第三顶点的横纵坐标值;
获取所述开始横坐标值和所述结束横坐标值中的最大横坐标值、所述开始纵坐标值所述结束纵坐标值中的最大纵坐标值分别作为所述液化区域的第四顶点的横纵坐标值;
根据所述第一顶点、所述第二顶点、所述第三顶点和所述第四顶点的横纵坐标值得到所述液化区域。
8.如权利要求7所述的图像处理装置,其特征在于,所述生成单元包括:
第一计算子单元,被配置为根据所述开始触控点的坐标信息、所述液化区域中的各个网格点的坐标信息和所述调整半径计算所述每个网格点的偏移强度;其中,所述每个网格点的偏移强度用于表征所述每个网格点的调整幅度大小;
第二计算子单元,被配置为根据所述开始触控点的坐标信息和所述结束触控点的坐标信息计算偏移向量;其中,所述偏移向量的方向为所述开始触控点指向所述结束触控点的方向;
第三计算子单元,被配置为根据所述偏移向量和所述偏移强度计算所述液化区域中的每个网格点的偏移量。
9.如权利要求7所述的图像处理装置,其特征在于,还包括:
第二获取单元,被配置为获取所述待处理图像;
分割单元,被配置为按照预设步长将所述待处理图像分割成包括多个网格点的待处理图像;其中,所述预设步长与所述待处理图像的像素个数相关。
10.如权利要求8所述的图像处理装置,其特征在于,所述第一计算子单元具体被配置为:
计算所述开始触控点和所述液化区域中的各个网格点之间的距离;
计算每个所述距离与所述调整半径的比值,将所述比值作为所述每个网格点的偏移强度。
11.如权利要求8所述的图像处理装置,其特征在于,所述第三计算子单元具体被配置为:
计算所述偏移向量和所述每个网格点的偏移强度的乘积,将所述乘积作为所述每个网格点的偏移量。
12.如权利要求10所述的图像处理装置,其特征在于,还包括:
第三获取单元,被配置为获取所述距离大于所述调整半径的目标网格点;
维持单元,被配置为在所述控制所述每个网格点按照对应的偏移量进行移动的过程中,所述目标网格点的位置不变。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的图像处理方法。
14.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的图像处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009834.0A CN114296622B (zh) | 2020-09-23 | 2020-09-23 | 图像处理方法、装置、电子设备及存储介质 |
PCT/CN2021/105024 WO2022062570A1 (zh) | 2020-09-23 | 2021-07-07 | 图像处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009834.0A CN114296622B (zh) | 2020-09-23 | 2020-09-23 | 图像处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114296622A CN114296622A (zh) | 2022-04-08 |
CN114296622B true CN114296622B (zh) | 2023-08-08 |
Family
ID=80846167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011009834.0A Active CN114296622B (zh) | 2020-09-23 | 2020-09-23 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114296622B (zh) |
WO (1) | WO2022062570A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114972560B (zh) * | 2022-05-11 | 2024-08-13 | 北京市真我本色科技有限公司 | 一种图像绘制方法、系统、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087239A (zh) * | 2018-07-25 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置及存储介质 |
CN109242765A (zh) * | 2018-08-31 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置和存储介质 |
CN109741277A (zh) * | 2018-12-29 | 2019-05-10 | 广州华多网络科技有限公司 | 图像处理方法、装置、存储介质和服务器 |
CN110415164A (zh) * | 2018-04-27 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 人脸变形处理方法、存储介质、电子设备及系统 |
CN110502993A (zh) * | 2019-07-18 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN111507925A (zh) * | 2020-04-29 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 修图处理方法、装置、设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6188452B2 (ja) * | 2013-06-28 | 2017-08-30 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
US9600713B2 (en) * | 2015-04-27 | 2017-03-21 | AprilAge Inc. | Identification and processing of facial wrinkles in a digital image |
CN105279732B (zh) * | 2015-10-16 | 2018-08-31 | 福建天晴数码有限公司 | 一种运用于平面图像快速形变的方法及系统 |
CN107977934B (zh) * | 2017-11-10 | 2022-04-01 | 北京小米移动软件有限公司 | 图像处理方法及装置 |
CN110223218B (zh) * | 2019-05-16 | 2024-01-12 | 北京达佳互联信息技术有限公司 | 人脸图像处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-23 CN CN202011009834.0A patent/CN114296622B/zh active Active
-
2021
- 2021-07-07 WO PCT/CN2021/105024 patent/WO2022062570A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110415164A (zh) * | 2018-04-27 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 人脸变形处理方法、存储介质、电子设备及系统 |
CN109087239A (zh) * | 2018-07-25 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置及存储介质 |
CN109242765A (zh) * | 2018-08-31 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置和存储介质 |
CN109741277A (zh) * | 2018-12-29 | 2019-05-10 | 广州华多网络科技有限公司 | 图像处理方法、装置、存储介质和服务器 |
CN110502993A (zh) * | 2019-07-18 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN111507925A (zh) * | 2020-04-29 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 修图处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114296622A (zh) | 2022-04-08 |
WO2022062570A1 (zh) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kartynnik et al. | Real-time facial surface geometry from monocular video on mobile GPUs | |
US11348314B2 (en) | Fast and deep facial deformations | |
Kawai et al. | Diminished reality based on image inpainting considering background geometry | |
Guo et al. | Image retargeting using mesh parametrization | |
CN111768477B (zh) | 三维人脸表情基建立方法及装置、存储介质及电子设备 | |
JP2018537755A (ja) | 中心窩ジオメトリテッセレーション | |
CN115082639A (zh) | 图像生成方法、装置、电子设备和存储介质 | |
KR20110099998A (ko) | 상호작용형 실시간 증강현실 시스템과 그 방법, 및 상기 방법을 구현하는 프로그램이 기록된 기록매체 | |
JP2024004444A (ja) | 3次元顔再構成モデルトレーニング、3次元顔イメージ生成方法及び装置 | |
US10803660B2 (en) | Real-time collision deformation | |
CN116977522A (zh) | 三维模型的渲染方法、装置、计算机设备和存储介质 | |
CN112766027A (zh) | 图像处理方法、装置、设备及存储介质 | |
JP7483979B2 (ja) | 多次元反応型映像を再生する方法及び装置 | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN114296622B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113920282B (zh) | 图像处理方法和装置、计算机可读存储介质、电子设备 | |
CN111652807B (zh) | 眼部的调整、直播方法、装置、电子设备和存储介质 | |
Gallea et al. | Physical metaphor for streaming media retargeting | |
Xu et al. | Texture-GS: Disentangling the Geometry and Texture for 3D Gaussian Splatting Editing | |
CN112528707A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN116228986A (zh) | 一种基于局部到全局补全策略的室内场景光照估计方法 | |
CN113064539B (zh) | 特效控制方法、装置、电子设备及存储介质 | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
CN111652023A (zh) | 嘴型的调整、直播方法、装置、电子设备和存储介质 | |
CN111581412B (zh) | 人脸形状库的构建方法、装置、设备及存储介质 |
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 |