CN111161288B - 图像处理方法和装置 - Google Patents

图像处理方法和装置 Download PDF

Info

Publication number
CN111161288B
CN111161288B CN201911363014.9A CN201911363014A CN111161288B CN 111161288 B CN111161288 B CN 111161288B CN 201911363014 A CN201911363014 A CN 201911363014A CN 111161288 B CN111161288 B CN 111161288B
Authority
CN
China
Prior art keywords
pixel
matting
pixel blocks
boundary
determining
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
Application number
CN201911363014.9A
Other languages
English (en)
Other versions
CN111161288A (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.)
Zhengzhou Apas Digital Cloud Information Technology Co ltd
Original Assignee
Zhengzhou Apas Digital Cloud Information 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 Zhengzhou Apas Digital Cloud Information Technology Co ltd filed Critical Zhengzhou Apas Digital Cloud Information Technology Co ltd
Priority to CN201911363014.9A priority Critical patent/CN111161288B/zh
Publication of CN111161288A publication Critical patent/CN111161288A/zh
Application granted granted Critical
Publication of CN111161288B publication Critical patent/CN111161288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Abstract

本说明书一个实施例提供了一种图像处理方法和装置,其中方法包括:获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。通过本实施例,能够提高抠图的准确度,提高抠图效果,提升用户的抠图体验。

Description

图像处理方法和装置
技术领域
本文件涉及图像处理领域,尤其涉及一种图像处理方法和装置。
背景技术
抠图技术是指将用户选定的图像前景区域从图像背景中分类出来的技术。通过抠图技术能够将用户所需的区域提取出来,便于用户对图像关键信息进行后续操作。目前应用在计算机中的图像抠图技术主要过程是,接收用户划定的抠图分界线,以用户划定的抠图分界线为标准进行前景和背景的分离,从而实现抠图操作。然而,完全依赖用户划定的抠图分界线进行抠图的方式,抠图效果差,存在抠取出来的图像不够准确的问题。
发明内容
本说明书一个实施例的目的是提供一种图像处理方法和装置,以提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
为解决上述技术问题,本说明书一个实施例是这样实现的:
第一方面,本说明书一个实施例提供了一种图像处理方法,包括:
获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
第二方面,本说明书另一个实施例提供了一种图像处理装置,包括:
获取模块,用于获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
建立模块,用于根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
确定模块,用于在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
抠图模块,用于基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
第三方面,本说明书又一个实施例提供了一种图像处理设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的图像处理方法的步骤。
第四方面,本说明书再一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的图像处理方法的步骤。
本实施例中,在获取到标记有抠图区域的目标图像之后,首先根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于所述抠图区域的位置,构建目标图像对应的抠图有向图,然后根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版,其次在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,最后根据该边界在目标图像中对抠图区域进行抠图处理。本实施例中,通过确定抠图有向图、建立抠图蒙版、确定抠图边界并抠图的过程,相比于现有技术,能够生成更为准确的抠图蒙版和抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
附图说明
为了更清楚地说明本说明书一个或多个实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一实施例提供的图像处理方法的流程示意图;
图2为本说明书一实施例提供的标记有抠图区域的目标图像的示意图;
图3为本说明书一实施例提供的像素块之间的位置关系的示意图;
图4为本说明书一实施例提供的抠图有向图的示意图;
图5为本说明书一实施例提供的设置第三容量值和第四容量值的示意图;
图6为本说明书一实施例提供的四种目标像素块的示意图;
图7为本说明书一实施例提供的确定与目标边界相接的三条像素块边界的示意图;
图8为本说明书一实施例提供的确定下一条目标边界的示意图;
图9为本说明书一实施例提供的抠图边界的环绕方向的示意图;
图10为本说明书一实施例提供的确定抠图边界的环绕方向的示意图;
图11为本说明书一实施例提供的确定像素块是否位于抠图边界内部的示意图;
图12为本说明书一实施例提供的一种图像处理装置的模块组成示意图;
图13为本说明书一实施例提供的图像处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
图1为本说明书一实施例提供的图像处理方法的流程示意图,如图1所述,该流程包括以下步骤:
步骤S102,获取标记有抠图区域的目标图像,根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于抠图区域的位置,构建目标图像对应的抠图有向图;
步骤S104,根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版;抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
步骤S106,在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,将该边界确定为抠图边界;
步骤S108,基于抠图边界,在目标图像中对抠图区域进行抠图处理。
本实施例中,在获取到标记有抠图区域的目标图像之后,首先根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于所述抠图区域的位置,构建目标图像对应的抠图有向图,然后根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版,其次在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,最后根据该边界在目标图像中对抠图区域进行抠图处理。本实施例中,通过确定抠图有向图、建立抠图蒙版、确定抠图边界并抠图的过程,相比于现有技术,能够生成更为准确的抠图蒙版和抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
上述步骤S102中,首先获取标记有抠图区域的目标图像。该抠图区域可以由用户进行手动画定。图2为本说明书一实施例提供的标记有抠图区域的目标图像的示意图。如图2所示,该目标图像为包含花朵的图像,图2中的虚线边界所圈定的区域,即为用户在该目标图像中手动画定的椭圆形的抠图区域。
上述步骤S102中,确定目标图像中各个像素块之间的位置关系,具体可以为,确定目标图像中各个像素块之间的相邻关系,比如针对某个像素块而言,确定该像素块与其周围8个相邻的像素块之间的相邻关系,比如像素块A位于像素块B的左侧。图3为本说明书一实施例提供的像素块之间的位置关系的示意图,如图3所示,一个实施例中,只需要考虑每个像素块与其上方、右上方、右方、右下方四个方向上的像素块之间的相邻关系即可,对于边界上的像素块,如果其这四个方向上不存在相邻像素块,则可以不考虑相邻关系。
上述步骤S102中,还确定各个像素块的颜色值,具体地,可以确定各个像素块在RGB三个通道上的颜色值,比如像素块A的颜色值为(R:100,G:64,B:80)。上述步骤S102中,还确定各个像素块相对于抠图区域的位置,该位置包括抠图区域的内部和外部,具体地,可以确定各个像素块是位于抠图区域的内部还是外部。
上述步骤S102中,根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于抠图区域的位置,构建目标图像对应的抠图有向图。抠图有向图可以表示目标图像中各个像素块之间的位置关系和各个像素块的颜色信息。抠图有向图中包括像素节点、颜色池节点、像素节点之间的第一连接边、像素节点与颜色池节点之间的第二连接边,其中,第一连接边具有第一容量值,第二连接边具有第二容量值,像素节点具有第三容量值和第四容量值。
图4为本说明书一实施例提供的抠图有向图的示意图。图4中,矩形框处的各个节点为像素节点,图中右侧的三个节点为颜色池节点,如图4所示,像素节点之间具有第一连接边,像素节点与颜色池节点之间具有第二连接边。其中,第一连接边具有第一容量值,第二连接边具有第二容量值,像素节点具有第三容量值和第四容量值。图4中矩形框中的曲线轮廓表示抠图区域。图4中,三角形的像素节点对应三角形的颜色池节点,其他形状同理。
步骤S102中,根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于抠图区域的位置,构建目标图像对应的抠图有向图,具体为:
(a1)生成抠图有向图中的像素节点,根据目标图像中各个像素块之间的位置关系,建立各个像素节点之间的第一连接边;其中,像素块与像素节点一一对应;
(a2)根据各个像素块的颜色值,对各个像素块进行分组,生成各组像素块对应的颜色池节点,颜色池节点用于设置在抠图有向图中;根据各组像素块与各个颜色池节点之间的对应关系以及像素块与像素节点之间的对应关系,建立像素节点与对应的颜色池节点之间的第二连接边;
(a3)根据各个像素块的颜色值,确定抠图有向图中第一连接边的第一容量值,根据抠图区域处的像素块的颜色值,确定抠图有向图中第二连接边的第二容量值,根据各个像素块相对于抠图区域的位置,确定抠图有向图中像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
上述动作(a1)中,生成抠图有向图中的像素节点,像素节点与目标图像中的像素块一一对应。然后,根据目标图像中各个像素块之间的位置关系,建立各个像素节点之间的第一连接边,具体地,根据目标图像中各个像素块之间的相邻关系,在抠图有向图中相邻的像素节点之间设置第一连接边。比如,目标图像中,像素块A与像素块B相邻,则在抠图有向图中,像素块A对应的像素节点与像素块B对应的像素节点也相邻,在像素块A对应的像素节点与像素块B对应的像素节点之间设置第一连接边。
上述动作(a2)中,首先生成颜色池节点,颜色池节点用于设置在抠图有向图中。颜色池节点表示各个像素块按照颜色值进行分组的分组结果。每个颜色池节点对应一组像素块。上述动作(a2)中,根据各个像素块的颜色值,对各个像素块进行分组,生成各组像素块对应的颜色池节点,具体包括:
(a21)按照预设的归一化规则,对各个像素块的颜色值进行归一化处理,根据归一化结果,对各个像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
(a22)生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
本实施例中,首先,按照预设的归一化规则,对各个像素块的颜色值进行归一化处理。比如,设置RGB三个通道中每个通道包括N个颜色,对各个像素块的颜色值进行归一化处理具体为,将像素块的RGB值分别归一化到0-N之间,N为正整数。然后,将归一化结果相同的像素块分为到同一组内。接着,为每组像素块生成一个对应的颜色池节点,该颜色池节点与该组内的各个像素块相互对应。最后,根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
一个具体的实施例中,设置RGB三个通道中每个通道包括32个颜色,对于像素P,假设其颜色值为(R:100,G:64,B:80),则对其进行归一化处理,得到的归一化结果为(R:12,G:8,B:10)。本实施例中,可以将归一化结果为(R:12,G:8,B:10)的全部像素块都分到同一组中。然后,通过公式:12*32*32+8*32+10=12554,计算该组像素块对应的颜色池节点的序号。该实施例中,由于计算得到的颜色池的序号是不连续的,因此可以在确定完各个颜色池的序号后,将各个颜色池的序号连续化,其中,颜色池的序号的最小值可以等于像素节点的序号的最大值+1,像素节点的序号可以从0开始设置。
在通过动作(a2)生成得到各个颜色池节点后,根据各组像素块与各个颜色池节点之间的对应关系以及像素块与像素节点之间的对应关系,建立像素节点与对应的颜色池节点之间的第二连接边。具体地,比如像素块A对应像素节点1,像素块B对应像素节点2,像素块C对应像素节点3,并且,像素块A、像素块B和像素块C对应颜色池节点100,则在抠图有向图中,设置像素节点1、像素节点2、像素节点3对应颜色池节点100,并在抠图有向图中,在像素节点1与颜色池节点100之间设置第二连接边,在像素节点2与颜色池节点100之间设置第二连接边,在像素节点3与颜色池节点100之间设置第二连接边。
上述动作(a3)中,根据各个像素块的颜色值,确定抠图有向图中第一连接边的第一容量值。该动作具体包括:
(a31)根据各个像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定颜色差异的平均值;
(a32)针对任意两个相邻的像素块,确定该两个相邻的像素块在抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及上述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
上述动作(a31)中,相邻像素块指的是上下方向、左右方向、斜上方、斜下方相邻的像素块。计算像素块之间的颜色差异时,计算公式可以为S=(R1-R2)2+(G1-G2)2+(B1-B2)2,其中S表示颜色差异值,R1表示某个像素块的R值,R2表示该像素块相邻像素块的R值,G1表示某个像素块的G值,G2表示该像素块相邻像素块的G值,B1表示某个像素块的B值,B2表示该像素块相邻像素块的B值。计算完任意两个相邻像素块之间的颜色差异后,本实施例中,还统计该颜色差异的平均值sigma。
上述动作(a32)中,针对两个相邻像素块P和Q,计算P和Q之间的颜色差异值S1,通过公式W=S1/2*sigma,计算得到P和Q之间的权重W,再通过公式weight=W/Distance计算得到P所对应的像素节点与Q所对应的像素节点之间的第一连接边的权重值weight。其中,Distance表示像素P和Q之间的相对距离,若像素P和Q水平或垂直相邻,则Distance=1,若像素P和Q斜上方或斜下方相邻,则Distance=1.414。最后,通过公式Capacity=weight*MaxCapacity*Strength,计算得到P所对应的像素节点与Q所对应的像素节点之间的第一连接边的第一容量值Capacity,其中,MaxCapacity和Strength均为常量,MaxCapacity可以为1000,Strength可以为9。
上述动作(a3)中,根据抠图区域处的像素块的颜色值,确定抠图有向图中第二连接边的第二容量值,具体包括:
(a33)生成抠图区域对应的矩形选区,抠图区域位于矩形选区内部,确定位于抠图区域内的像素块为前景像素块,确定位于抠图区域外且位于矩形选区内的像素块为背景像素块;
(a34)遍历矩形选区内的各个像素块,若遍历得到前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
(a35)确定矩形选区内全部像素块对应的颜色池节点,根据确定的颜色池节点的第一参数值和第二参数值、以及矩形选区内全部像素块的数量,确定定抠图有向图中第二连接边的第二容量值。
首先,在目标图像中,生成抠图区域对应的矩形选区,抠图区域位于矩形选区内部。一个示例中,抠图区域为椭圆形,矩形选区为外切椭圆形的矩形框。然后,在目标图像中遍历矩形选区内的各个像素块,将位于抠图区域内的像素块确定为前景像素块,将位于抠图区域外且位于矩形选区内的像素块确定为背景像素块。
本实施例中,对每个颜色池节点设置有第一参数值和第二参数值,第一参数值和第二参数值的初始值均为0。然后,遍历矩形选区内的各个像素块,若遍历得到前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到背景像素块,则将该像素块对应的颜色池节点的第二参数值加1。由于之前确定过各组像素块对应的颜色池节点,因此这里可以确定遍历到的每个像素块所在的组,从而确定遍历到的每个像素块所对应的颜色池节点。
最后,确定矩形选区内全部像素块对应的颜色池节点,这里确定得到的颜色池节点为多个。对于确定的每个颜色池节点,从该颜色池节点的第一参数值和第二参数值中选取最小值,从而对于每个颜色池节点,确定得到一个最小值,将矩形选区内全部像素块对应的各个颜色池节点的最小值进行累加,得到惩罚值P。接着,利用公式,W=C/P*Strength计算W,W为权重值,C为矩形选区内全部像素块的数量,Strength为常量,默认设为0.9。接着,利用公式Capacity=W*MaxCapacity*Strength,计算抠图有向图中第二连接边的第二容量值。其中,Capacity为第二容量值,MaxCapacity和Strength均为常量,MaxCapacity可以为1000,Strength可以为9。
上述动作(a3)中,根据各个像素块相对于抠图区域的位置,确定抠图有向图中像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。具体地,当用户手动标记抠图区域后,可以根据抠图区域生成一个二值矩阵,从而判断目标图像中各个像素块是否位于抠图区域内部。若确定某个像素块位于抠图区域内部,则确定该像素块对应的像素节点属于前景区域的第三容量值为1000,确定该像素块对应的像素节点属于背景区域的第四容量值为0。若确定某个像素块位于抠图区域外部,则确定该像素块对应的像素节点属于前景区域的第三容量值为0,确定该像素块对应的像素节点属于背景区域的第四容量值为1000。
图5为本说明书一实施例提供的设置第三容量值和第四容量值的示意图,如图5所示,判断目标图像中各个像素块是否位于抠图区域内部,若位于内部,则该像素块对应的像素节点属于前景区域的第三容量值S为1000,该像素块对应的像素节点属于背景区域的第四容量值T为0,若位于外部,则该像素块对应的像素节点属于前景区域的第三容量值S为0,该像素块对应的像素节点属于背景区域的第四容量值T为1000。
本实施例中,在确定像素节点、颜色池节点、第一连接边、第二连接边、第一容量值、第二容量值、第三容量值和第四容量值之后,即可构建得到抠图有向图。在构建得到抠图有向图之后,通过步骤S104,根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版。具体地,可以通过MaxFlow-MinCut算法,根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版。MaxFlow算法可以将抠图有向图的顶点分成两个不相交的集合S和T,通过提取位图信息和标记抠图区域信息来找到T节点inFlow的最大值,即得到最优解,来完成对图的分割,从而建立抠图蒙版。
抠图蒙版可以理解为与目标图像尺寸大小相同的且像素块一一对应的图层,抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块。抠图保留像素块即为抠图处理时需要保留下来的像素块,抠图剔除像素块即为抠图处理时需要删除的像素块。
接着,通过上述步骤S106,在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,将该边界确定为抠图边界。本实施例中,可以通过以下过程确定该边界:
(b1)在抠图蒙版中查找目标像素块,目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个抠图保留像素块相对于目标像素块的位置,在目标像素块的四条边界中选取第一条目标边界;
(b2)按照预定的搜索方向,确定与目标边界相接的三条像素块边界,以及,确定与目标像素块相邻的三个相邻像素块,根据三个相邻像素块是否为抠图保留像素块的判断结果,在三条像素块边界中确定下一条目标边界;
(b3)重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到抠图保留像素块所组成的像素区域的边界。
上述动作(b1)中,首先,在抠图蒙版中查找目标像素块,目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,一个像素块为抠图剔除像素块。图6为本说明书一实施例提供的四种目标像素块的示意图,如图6所示,C为目标像素块,图6中(1)示出了目标像素块的上方为抠图剔除像素块的情况,图6中(2)示出了目标像素块的右方为抠图剔除像素块的情况,图6中(3)示出了目标像素块的下方为抠图剔除像素块的情况,图6中(4)示出了目标像素块的左方为抠图剔除像素块的情况。
然后,根据三个抠图保留像素块相对于目标像素块的位置,在目标像素块的四条边界中选取第一条目标边界。针对图6中的(1)所示的情况,(1,1)->(2,1)为第一条目标边界。针对图6中的(2)所示的情况,(2,1)->(2,2)为第一条目标边界。针对图6中的(3)所示的情况,(1,2)->(2,2)为第一条目标边界。针对图6中的(4)所示的情况,(1,1)->(1,2)为第一条目标边界。图6中的各个二维坐标值指的是各个像素块的左上角的坐标值。
上述动作(b2)中,首先,按照预定的搜索方向,确定与目标边界相接的三条像素块边界。搜索方向包括向上、向下、向左、向右四种情况。图7为本说明书一实施例提供的确定与目标边界相接的三条像素块边界的示意图。如图7(1)所示,搜索方向为自上而下,则与第一条目标边界(图中加粗的边界)相接的三条像素块边界如图所示。如图7(2)所示,搜索方向为自下而上,则与第一条目标边界(图中加粗的边界)相接的三条像素块边界如图所示。如图7(3)所示,搜索方向为自左而右,则与第一条目标边界(图中加粗的边界)相接的三条像素块边界如图所示。如图7(4)所示,搜索方向为自右而左,则与第一条目标边界(图中加粗的边界)相接的三条像素块边界如图所示。
然后,确定与目标像素块相邻的三个相邻像素块。以为图7为例,图7(1)中,若①为目标像素块,则与目标像素块相邻的三个相邻像素块为②、③、④。图7(2)中,若③为目标像素块,则与目标像素块相邻的三个相邻像素块为②、①、④。图7(3)和图7(4)不再描述。
最后,根据三个相邻像素块是否为抠图保留像素块的判断结果,在确定的三条像素块边界中确定下一条目标边界。图8为本说明书一实施例提供的确定下一条目标边界的示意图,图8中,深色表示抠图保留像素块,浅色表示抠图剔除像素块,如图8所示,目标像素块为(2,2)->(2,3)边界右侧的深色像素块,第一条目标边界为(2,2)->(2,3),与第一条目标边界相接的三条像素块边界分别为(2,3)->(1,3)、(2,3)->(3,3)和(2,3)->(2,4),与目标像素块相邻的三个相邻像素块为目标像素块左侧、下侧、左下侧的三个像素块,则图8中,根据三个相邻像素块是否为抠图保留像素块的判断结果,在确定的三条像素块边界中确定下一条目标边界为(2,3)->(3,3)。图8中的各个二维坐标值指的是各个像素块的左上角的坐标值。
上述动作(b3)中,重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,即可得到抠图保留像素块所组成的像素区域的边界。
在确定得到抠图保留像素块所组成的像素区域的边界之后,将该边界作为抠图边界。然后执行步骤S108,基于抠图边界,在目标图像中对抠图区域进行抠图处理。
该步骤具体为:在抠图蒙版中,确定抠图保留像素块相对于抠图边界的位置,或者,确定抠图剔除像素块相对于抠图边界的位置;其中,该位置包括抠图边界的内部或者外部;根据抠图边界和确定得到的位置,在目标图像中对抠图区域进行抠图处理。
由于某些情况下,抠图边界为多条曲线,这些曲线相互嵌套,比如抠图区域为花瓣且花瓣上存在空洞的情况下,花瓣的轮廓为一条抠图边界,花瓣上的空洞为另一条抠图边界,因此在确定各条抠图边界后,在目标图像中进行抠图时,还需要确定抠图保留像素块相对于抠图边界的位置,或者,确定抠图剔除像素块相对于抠图边界的位置,从而区分抠图边界内部的像素块是要保留还是删除,或者确定抠图边界外部的像素块是要保留还是删除,从而得到正确的抠图结果。
一个实施例中,可以确定抠图边界的环绕方向,若抠图边界的环绕方向为顺时针,则确定抠图边界内部的像素块为抠图保留像素块,确定抠图边界外部的像素块为抠图剔除像素块。若抠图边界的环绕方向为逆时针,则确定抠图边界内部的像素块为抠图剔除像素块,确定抠图边界外部的像素块为抠图保留像素块。
图9为本说明书一实施例提供的抠图边界的环绕方向的示意图。如图9所示,抠图边界的环绕方向为顺时针时,其内部的像素块为抠图保留像素块,抠图边界的环绕方向为逆时针时,其内部的像素块为抠图剔除像素块。计算机通过识别抠图边界的环绕方向,即可正确对其内部的像素块做出抠图处理。需要说明的时,抠图边界的环绕方向的有效性持续到下一个抠图边界为止。
一种确定抠图边界的环绕方向的方法为:确定抠图边界内部的与抠图边界相邻的一个像素块,若该像素块为抠图保留像素块,则抠图边界的环绕方向为顺时针,若该像素块为抠图剔除像素块,则抠图边界的环绕方向为逆时针。图10为本说明书一实施例提供的确定抠图边界的环绕方向的示意图,图10中,深色表示抠图保留像素块,浅色表示抠图剔除像素块,如图10所示,取抠图边界内部的与抠图边界相邻的一个像素块,从图10中可见,该像素块为抠图保留像素块,因此该抠图边界的环绕方向为顺时针。图10中边界的逆时针方向为边界的生成方向,即上述预设的搜索方向。
本实施例中,可以采用以下方式确定某个像素块是否位于抠图边界内部:通过像素块的任意顶点做任意方向的射线,若该射线与抠图边界的交点的数量为奇数,则该像素块位于抠图边界的内部,反之,若该射线与抠图边界的交点的数量为偶数,则该像素块位于抠图边界的外部。
图11为本说明书一实施例提供的确定像素块是否位于抠图边界内部的示意图,如图11所示,通过像素块A做竖直方向的射线,包括方向朝上和方向朝下的两条射线,任意一条射线与抠图边界的交点的数量为偶数(2个),因此像素块A位于抠图边界的外部。通过像素块B做竖直方向的射线,包括方向朝上和方向朝下的两条射线,任意一条射线与抠图边界的交点的数量为奇数(1个),因此像素块B位于抠图边界的内部。
在确定抠图保留像素块相对于抠图边界的位置之后,根据抠图边界和确定得到的位置,在目标图像中对抠图区域进行抠图处理。其中,在进行抠图处理时,可以先将抠图边界平滑为矢量曲线,从而使得抠图的效果更好。一个实施例中,将抠图边界平滑为矢量曲线后,根据平滑后的抠图蒙版,对目标图像进行抠图处理。本实施例中,可以通过各种已有的平滑算法对抠图边界进行平滑,这里不做限定。
一种推荐的平滑算法为:获取待平滑的图像边缘(即前述的抠图边界),在所述图像边缘中确定所述图像边缘的走势拐点,根据所述走势拐点对所述图像边缘进行分段;对分段得到的各段线条中的拐角进行倒角处理,并通过预设的冗余顶点删除算法在倒角处理后的所述图像边缘中删除冗余顶点;在顶点删除后的所述图像边缘中,判断新生成的各个拐角是否满足预设的平滑失真要求,得到判断结果;根据所述判断结果,通过预设的平滑算法将顶点删除后的所述图像边缘平滑为曲线。
其中,判断新生成的各个拐角是否满足预设的平滑失真要求,得到判断结果,包括:针对任意一个新生成的拐角,根据构成该拐角的三个顶点建立三角形,将所述三角形中与该拐角相对的边作为目标边;若该拐角的顶点到所述目标边的距离不大于预设距离,则确定该拐角满足预设的平滑失真要求,反之,确定该拐角不满足预设的平滑失真要求。
综上,通过本实施例中的方法,能够准确确定颜色池节点,从而准确建立抠图有向图,并且准确确定抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。在软件应用中,本实施例中的方法能够以容器的形式运行在计算机系统中,从而实现抠图处理。
图12为本说明书一实施例提供的一种图像处理装置的模块组成示意图,如图12所示,该装置包括:
获取模块1201,用于获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
建立模块1202,用于根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
确定模块1203,用于在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
抠图模块1204,用于基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
可选地,所述获取模块1202具体用于:
生成所述抠图有向图中的像素节点,根据所述目标图像中各个像素块之间的位置关系,建立各个所述像素节点之间的第一连接边;其中,所述像素块与所述像素节点一一对应;
根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,所述颜色池节点用于设置在所述抠图有向图中;根据各组像素块与各个所述颜色池节点之间的对应关系、所述像素块与所述像素节点之间的对应关系,建立所述像素节点与对应的所述颜色池节点之间的第二连接边;
根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,根据各个所述像素块相对于所述抠图区域的位置,确定所述抠图有向图中所述像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
可选地,所述获取模块1202还具体用于:
按照预设的归一化规则,对各个所述像素块的颜色值进行归一化处理,根据归一化结果,对各个所述像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
可选地,所述获取模块1201还具体用于:
根据各个所述像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定所述颜色差异的平均值;
针对任意两个相邻的像素块,确定该两个相邻的像素块在所述抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及所述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
可选地,所述获取模块1201还具体用于:
生成所述抠图区域对应的矩形选区,所述抠图区域位于所述矩形选区内部,确定位于所述抠图区域内的所述像素块为前景像素块,确定位于所述抠图区域外且位于所述矩形选区内的所述像素块为背景像素块;
遍历所述矩形选区内的各个所述像素块,若遍历得到所述前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到所述背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
确定所述矩形选区内全部像素块对应的颜色池节点,根据确定的所述颜色池节点的所述第一参数值和所述第二参数值、以及所述矩形选区内全部像素块的数量,确定定所述抠图有向图中所述第二连接边的第二容量值。
可选地,所述确定模块1203具体用于:
在所述抠图蒙版中查找目标像素块,所述目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个所述抠图保留像素块相对于所述目标像素块的位置,在所述目标像素块的四条边界中选取第一条目标边界;
按照预定的搜索方向,确定与所述目标边界相接的三条像素块边界,以及,确定与所述目标像素块相邻的三个相邻像素块,根据所述三个相邻像素块是否为抠图保留像素块的判断结果,在所述三条像素块边界中确定下一条目标边界;
重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到所述抠图保留像素块所组成的像素区域的边界。
可选地,所述抠图模块1204具体用于:
在所述抠图蒙版中,确定所述抠图保留像素块相对于所述抠图边界的位置,或者,确定所述抠图剔除像素块相对于所述抠图边界的位置;其中,所述位置包括所述抠图边界的内部或者外部;
根据所述抠图边界和确定得到的所述位置,在所述目标图像中对所述抠图区域进行抠图处理。
本实施例中,在获取到标记有抠图区域的目标图像之后,首先根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于所述抠图区域的位置,构建目标图像对应的抠图有向图,然后根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版,其次在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,最后根据该边界在目标图像中对抠图区域进行抠图处理。本实施例中,通过确定抠图有向图、建立抠图蒙版、确定抠图边界并抠图的过程,相比于现有技术,能够生成更为准确的抠图蒙版和抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
本说明书一实施例提供的图像处理装置能够实现前述图像处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书一个实施例还提供了一种图像处理设备,图13为本说明书一实施例提供的图像处理设备的结构示意图,如图13所示,该设备包括:存储器1301、处理器1302、总线1303和通信接口1304。存储器1301、处理器1302和通信接口1304通过总线1303进行通信,通信接口1304可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图13中,所述存储器1301上存储有可在所述处理器1302上运行的计算机可执行指令,所述计算机可执行指令被所述处理器1302执行时实现以下流程:
获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图,包括:
生成所述抠图有向图中的像素节点,根据所述目标图像中各个像素块之间的位置关系,建立各个所述像素节点之间的第一连接边;其中,所述像素块与所述像素节点一一对应;
根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,所述颜色池节点用于设置在所述抠图有向图中;根据各组像素块与各个所述颜色池节点之间的对应关系、所述像素块与所述像素节点之间的对应关系,建立所述像素节点与对应的所述颜色池节点之间的第二连接边;
根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,根据各个所述像素块相对于所述抠图区域的位置,确定所述抠图有向图中所述像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
可选地,所述计算机可执行指令被所述处理器执行时,根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,包括:
按照预设的归一化规则,对各个所述像素块的颜色值进行归一化处理,根据归一化结果,对各个所述像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
可选地,所述计算机可执行指令被所述处理器执行时,根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,包括:
根据各个所述像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定所述颜色差异的平均值;
针对任意两个相邻的像素块,确定该两个相邻的像素块在所述抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及所述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,包括:
生成所述抠图区域对应的矩形选区,所述抠图区域位于所述矩形选区内部,确定位于所述抠图区域内的所述像素块为前景像素块,确定位于所述抠图区域外且位于所述矩形选区内的所述像素块为背景像素块;
遍历所述矩形选区内的各个所述像素块,若遍历得到所述前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到所述背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
确定所述矩形选区内全部像素块对应的颜色池节点,根据确定的所述颜色池节点的所述第一参数值和所述第二参数值、以及所述矩形选区内全部像素块的数量,确定定所述抠图有向图中所述第二连接边的第二容量值。
可选地,所述计算机可执行指令被所述处理器执行时,在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,包括:
在所述抠图蒙版中查找目标像素块,所述目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个所述抠图保留像素块相对于所述目标像素块的位置,在所述目标像素块的四条边界中选取第一条目标边界;
按照预定的搜索方向,确定与所述目标边界相接的三条像素块边界,以及,确定与所述目标像素块相邻的三个相邻像素块,根据所述三个相邻像素块是否为抠图保留像素块的判断结果,在所述三条像素块边界中确定下一条目标边界;
重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到所述抠图保留像素块所组成的像素区域的边界。
可选地,所述计算机可执行指令被所述处理器执行时,基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理,包括:
在所述抠图蒙版中,确定所述抠图保留像素块相对于所述抠图边界的位置,或者,确定所述抠图剔除像素块相对于所述抠图边界的位置;其中,所述位置包括所述抠图边界的内部或者外部;
根据所述抠图边界和确定得到的所述位置,在所述目标图像中对所述抠图区域进行抠图处理。
本实施例中,在获取到标记有抠图区域的目标图像之后,首先根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于所述抠图区域的位置,构建目标图像对应的抠图有向图,然后根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版,其次在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,最后根据该边界在目标图像中对抠图区域进行抠图处理。本实施例中,通过确定抠图有向图、建立抠图蒙版、确定抠图边界并抠图的过程,相比于现有技术,能够生成更为准确的抠图蒙版和抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
本说明书一实施例提供的图像处理设备能够实现前述图像处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书另一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:
获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
可选地,所述计算机可执行指令被处理器执行时,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图,包括:
生成所述抠图有向图中的像素节点,根据所述目标图像中各个像素块之间的位置关系,建立各个所述像素节点之间的第一连接边;其中,所述像素块与所述像素节点一一对应;
根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,所述颜色池节点用于设置在所述抠图有向图中;根据各组像素块与各个所述颜色池节点之间的对应关系、所述像素块与所述像素节点之间的对应关系,建立所述像素节点与对应的所述颜色池节点之间的第二连接边;
根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,根据各个所述像素块相对于所述抠图区域的位置,确定所述抠图有向图中所述像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
可选地,所述计算机可执行指令被处理器执行时,根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,包括:
按照预设的归一化规则,对各个所述像素块的颜色值进行归一化处理,根据归一化结果,对各个所述像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
可选地,所述计算机可执行指令被处理器执行时,根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,包括:
根据各个所述像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定所述颜色差异的平均值;
针对任意两个相邻的像素块,确定该两个相邻的像素块在所述抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及所述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
可选地,所述计算机可执行指令被处理器执行时,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,包括:
生成所述抠图区域对应的矩形选区,所述抠图区域位于所述矩形选区内部,确定位于所述抠图区域内的所述像素块为前景像素块,确定位于所述抠图区域外且位于所述矩形选区内的所述像素块为背景像素块;
遍历所述矩形选区内的各个所述像素块,若遍历得到所述前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到所述背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
确定所述矩形选区内全部像素块对应的颜色池节点,根据确定的所述颜色池节点的所述第一参数值和所述第二参数值、以及所述矩形选区内全部像素块的数量,确定定所述抠图有向图中所述第二连接边的第二容量值。
可选地,所述计算机可执行指令被处理器执行时,在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,包括:
在所述抠图蒙版中查找目标像素块,所述目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个所述抠图保留像素块相对于所述目标像素块的位置,在所述目标像素块的四条边界中选取第一条目标边界;
按照预定的搜索方向,确定与所述目标边界相接的三条像素块边界,以及,确定与所述目标像素块相邻的三个相邻像素块,根据所述三个相邻像素块是否为抠图保留像素块的判断结果,在所述三条像素块边界中确定下一条目标边界;
重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到所述抠图保留像素块所组成的像素区域的边界。
可选地,所述计算机可执行指令被处理器执行时,基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理,包括:
在所述抠图蒙版中,确定所述抠图保留像素块相对于所述抠图边界的位置,或者,确定所述抠图剔除像素块相对于所述抠图边界的位置;其中,所述位置包括所述抠图边界的内部或者外部;
根据所述抠图边界和确定得到的所述位置,在所述目标图像中对所述抠图区域进行抠图处理。
本实施例中,在获取到标记有抠图区域的目标图像之后,首先根据目标图像中各个像素块之间的位置关系、各个像素块的颜色值、各个像素块相对于所述抠图区域的位置,构建目标图像对应的抠图有向图,然后根据目标图像对应的抠图有向图,建立目标图像对应的抠图蒙版,其次在抠图蒙版中确定抠图保留像素块所组成的像素区域的边界,最后根据该边界在目标图像中对抠图区域进行抠图处理。本实施例中,通过确定抠图有向图、建立抠图蒙版、确定抠图边界并抠图的过程,相比于现有技术,能够生成更为准确的抠图蒙版和抠图边界,从而提高抠图的准确度,提高抠图效果,提升用户的抠图体验。
本说明书一实施例提供的存储介质能够实现前述图像处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本说明书的实施例可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。

Claims (14)

1.一种图像处理方法,其特征在于,包括:
获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
2.根据权利要求1所述的方法,其特征在于,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图,包括:
生成所述抠图有向图中的像素节点,根据所述目标图像中各个像素块之间的位置关系,建立各个所述像素节点之间的第一连接边;其中,所述像素块与所述像素节点一一对应;
根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,所述颜色池节点用于设置在所述抠图有向图中;根据各组像素块与各个所述颜色池节点之间的对应关系、所述像素块与所述像素节点之间的对应关系,建立所述像素节点与对应的所述颜色池节点之间的第二连接边;
根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,根据各个所述像素块相对于所述抠图区域的位置,确定所述抠图有向图中所述像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
3.根据权利要求2所述的方法,其特征在于,根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,包括:
按照预设的归一化规则,对各个所述像素块的颜色值进行归一化处理,根据归一化结果,对各个所述像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
4.根据权利要求2所述的方法,其特征在于,根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,包括:
根据各个所述像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定所述颜色差异的平均值;
针对任意两个相邻的像素块,确定该两个相邻的像素块在所述抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及所述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
5.根据权利要求2所述的方法,其特征在于,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,包括:
生成所述抠图区域对应的矩形选区,所述抠图区域位于所述矩形选区内部,确定位于所述抠图区域内的所述像素块为前景像素块,确定位于所述抠图区域外且位于所述矩形选区内的所述像素块为背景像素块;
遍历所述矩形选区内的各个所述像素块,若遍历得到所述前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到所述背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
确定所述矩形选区内全部像素块对应的颜色池节点,根据确定的所述颜色池节点的所述第一参数值和所述第二参数值、以及所述矩形选区内全部像素块的数量,确定定所述抠图有向图中所述第二连接边的第二容量值。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,包括:
在所述抠图蒙版中查找目标像素块,所述目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个所述抠图保留像素块相对于所述目标像素块的位置,在所述目标像素块的四条边界中选取第一条目标边界;
按照预定的搜索方向,确定与所述目标边界相接的三条像素块边界,以及,确定与所述目标像素块相邻的三个相邻像素块,根据所述三个相邻像素块是否为抠图保留像素块的判断结果,在所述三条像素块边界中确定下一条目标边界;
重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到所述抠图保留像素块所组成的像素区域的边界。
7.根据权利要求1至5任一项所述的方法,其特征在于,基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理,包括:
在所述抠图蒙版中,确定所述抠图保留像素块相对于所述抠图边界的位置,或者,确定所述抠图剔除像素块相对于所述抠图边界的位置;其中,所述位置包括所述抠图边界的内部或者外部;
根据所述抠图边界和确定得到的所述位置,在所述目标图像中对所述抠图区域进行抠图处理。
8.一种图像处理装置,其特征在于,包括:
获取模块,用于获取标记有抠图区域的目标图像,根据所述目标图像中各个像素块之间的位置关系、各个所述像素块的颜色值、各个所述像素块相对于所述抠图区域的位置,构建所述目标图像对应的抠图有向图;
建立模块,用于根据所述目标图像对应的抠图有向图,建立所述目标图像对应的抠图蒙版;所述抠图蒙版中的像素块被标记为抠图保留像素块和抠图剔除像素块;
确定模块,用于在所述抠图蒙版中确定所述抠图保留像素块所组成的像素区域的边界,将所述边界确定为抠图边界;
抠图模块,用于基于所述抠图边界,在所述目标图像中对所述抠图区域进行抠图处理。
9.根据权利要求8所述的装置,其特征在于,所述获取模块具体用于:
生成所述抠图有向图中的像素节点,根据所述目标图像中各个像素块之间的位置关系,建立各个所述像素节点之间的第一连接边;其中,所述像素块与所述像素节点一一对应;
根据各个所述像素块的颜色值,对各个所述像素块进行分组,生成各组像素块对应的颜色池节点,所述颜色池节点用于设置在所述抠图有向图中;根据各组像素块与各个所述颜色池节点之间的对应关系、所述像素块与所述像素节点之间的对应关系,建立所述像素节点与对应的所述颜色池节点之间的第二连接边;
根据各个所述像素块的颜色值,确定所述抠图有向图中所述第一连接边的第一容量值,根据所述抠图区域处的所述像素块的颜色值,确定所述抠图有向图中所述第二连接边的第二容量值,根据各个所述像素块相对于所述抠图区域的位置,确定所述抠图有向图中所述像素节点属于前景区域的第三容量值和属于背景区域的第四容量值。
10.根据权利要求9所述的装置,其特征在于,所述获取模块还具体用于:
按照预设的归一化规则,对各个所述像素块的颜色值进行归一化处理,根据归一化结果,对各个所述像素块进行分组;其中,位于同一组内的各个像素块的归一化结果相同;
生成各组像素块对应的颜色池节点,并根据各组像素块的颜色值的归一化结果,计算得到各组像素块对应的颜色池节点的序号。
11.根据权利要求9所述的装置,其特征在于,所述获取模块还具体用于:
根据各个所述像素块的颜色值,确定每两个相邻像素块之间的颜色差异,并确定所述颜色差异的平均值;
针对任意两个相邻的像素块,确定该两个相邻的像素块在所述抠图有向图中对应的两个相邻的像素节点,根据该两个相邻的像素块之间的颜色差异以及所述平均值,确定该两个相邻的像素节点之间的第一连接边的第一容量值。
12.根据权利要求9所述的装置,其特征在于,所述获取模块还具体用于:
生成所述抠图区域对应的矩形选区,所述抠图区域位于所述矩形选区内部,确定位于所述抠图区域内的所述像素块为前景像素块,确定位于所述抠图区域外且位于所述矩形选区内的所述像素块为背景像素块;
遍历所述矩形选区内的各个所述像素块,若遍历得到所述前景像素块,则将该像素块对应的颜色池节点的第一参数值加1,若遍历得到所述背景像素块,则将该像素块对应的颜色池节点的第二参数值加1;
确定所述矩形选区内全部像素块对应的颜色池节点,根据确定的所述颜色池节点的所述第一参数值和所述第二参数值、以及所述矩形选区内全部像素块的数量,确定定所述抠图有向图中所述第二连接边的第二容量值。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述确定模块具体用于:
在所述抠图蒙版中查找目标像素块,所述目标像素块上下左右四个相邻像素块中,三个像素块为抠图保留像素块,根据三个所述抠图保留像素块相对于所述目标像素块的位置,在所述目标像素块的四条边界中选取第一条目标边界;
按照预定的搜索方向,确定与所述目标边界相接的三条像素块边界,以及,确定与所述目标像素块相邻的三个相邻像素块,根据所述三个相邻像素块是否为抠图保留像素块的判断结果,在所述三条像素块边界中确定下一条目标边界;
重复按照预定的搜索方向确定下一条目标边界的步骤,直至确定得到的下一条目标边界与第一条目标边界相同为止,将确定得到的各条目标边界连接起来,得到所述抠图保留像素块所组成的像素区域的边界。
14.根据权利要求8至12任一项所述的装置,其特征在于,所述抠图模块具体用于:
在所述抠图蒙版中,确定所述抠图保留像素块相对于所述抠图边界的位置,或者,确定所述抠图剔除像素块相对于所述抠图边界的位置;其中,所述位置包括所述抠图边界的内部或者外部;
根据所述抠图边界和确定得到的所述位置,在所述目标图像中对所述抠图区域进行抠图处理。
CN201911363014.9A 2019-12-26 2019-12-26 图像处理方法和装置 Active CN111161288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911363014.9A CN111161288B (zh) 2019-12-26 2019-12-26 图像处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911363014.9A CN111161288B (zh) 2019-12-26 2019-12-26 图像处理方法和装置

Publications (2)

Publication Number Publication Date
CN111161288A CN111161288A (zh) 2020-05-15
CN111161288B true CN111161288B (zh) 2023-04-14

Family

ID=70558045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911363014.9A Active CN111161288B (zh) 2019-12-26 2019-12-26 图像处理方法和装置

Country Status (1)

Country Link
CN (1) CN111161288B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885306B (zh) * 2020-07-28 2021-12-07 重庆虚拟实境科技有限公司 目标对象调整方法、计算机装置及存储介质
CN112465734A (zh) * 2020-10-29 2021-03-09 星业(海南)科技有限公司 一种图片图层的分离方法和装置
CN112767312A (zh) * 2020-12-31 2021-05-07 湖南快乐阳光互动娱乐传媒有限公司 一种图像处理方法、装置、存储介质及处理器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109389611A (zh) * 2018-08-29 2019-02-26 稿定(厦门)科技有限公司 交互式抠图方法、介质及计算机设备
CN110148102A (zh) * 2018-02-12 2019-08-20 腾讯科技(深圳)有限公司 图像合成方法、广告素材合成方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300928B2 (en) * 2008-01-25 2012-10-30 Intermec Ip Corp. System and method for locating a target region in an image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110148102A (zh) * 2018-02-12 2019-08-20 腾讯科技(深圳)有限公司 图像合成方法、广告素材合成方法及装置
CN109389611A (zh) * 2018-08-29 2019-02-26 稿定(厦门)科技有限公司 交互式抠图方法、介质及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李娜 ; 王丹 ; .基于采样抠图和自适应颜色的图像合成算法.液晶与显示.2018,(02),全文. *

Also Published As

Publication number Publication date
CN111161288A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111161288B (zh) 图像处理方法和装置
CN112163251B (zh) 建筑模型单体化方法、装置、存储介质及电子设备
CN113822890A (zh) 一种微裂纹检测方法、装置、系统及存储介质
CN105513054B (zh) 基于三维扫描的拓印方法
CN111598796B (zh) 图像处理方法及装置、电子设备、存储介质
CN111563908B (zh) 一种图像处理方法及相关装置
CN110188778B (zh) 基于影像提取结果的居民区要素轮廓规则化方法
CN112348836A (zh) 一种自动提取建筑物轮廓的方法及装置
CN106097313B (zh) 图像分割方法及装置
CN111783721A (zh) 一种激光点云的车道线提取方法及电子设备
CN105786957A (zh) 一种基于单元格邻接关系与深度优先遍历的表格排序方法
CN114926849A (zh) 一种文本检测方法、装置、设备及存储介质
JPH07103734A (ja) ステレオ対応探索装置
CN111985507A (zh) 一种岩体三维点云节理迹线提取方法
JP4967045B2 (ja) 背景判別装置、方法及びプログラム
JP2020173584A (ja) 物体検出装置
CN113256484B (zh) 一种对图像进行风格化处理的方法及装置
CN114693546A (zh) 图像去噪方法、装置、电子设备和计算机可读存储介质
CN116579968A (zh) 用于食材图像的识别方法及装置、蒸烤设备、存储介质
CN113781512A (zh) 图像边界识别方法、装置、设备、系统和存储介质
CN109215049B (zh) 基于多尺度三维先验信息的屋顶分割方法、系统与设备
CN113139975B (zh) 一种基于道路特征的路面分割方法及装置
CN111222514A (zh) 一种基于视觉定位的局部地图优化方法
CN112258561A (zh) 针对图像拼接的匹配点获取方法
CN116452615B (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