抠图修正方法和设备
【技术领域】
1.本发明涉及图像处理领域,尤其涉及一种抠图修正方法和设备。
背景技术:2.图像中的色彩空间通常可以采用rgba方式描述,其中,r(red)表示红色空间通道值,g(green)表示绿色空间通道值,b(blue)表示蓝色空间通道值,a(alpha)表示不透明度参数值。在对图像抠图时,可以通过调整图像中不同区域的rgba通道值实现对图像的抠图。例如,对于图像中的目标区域可以保留rgba通道值,对于图像中的非目标区域可以将rgba通道值均设置为0。
3.但是,如果抠图图像存在缺陷,例如将图像中本该是目标区域的部分像素的rgba通道值也设置为0,此时如果想修复抠图图像存在的缺陷,只能对原来的图像重新进行抠图,这就造成了抠图图像资源和时间的浪费。
技术实现要素:4.有鉴于此,本发明实施例提供了一种抠图修正方法和设备,无需对原图图像重新进行抠图,避免了抠图图像资源和时间的浪费。
5.第一方面,本发明实施例提供了一种抠图修正方法,包括:
6.获取抠图图像和所述抠图图像对应的原图图像;
7.提取所述抠图图像中所有像素的a通道值;
8.提取所述原图图像中所有像素的rgb通道值;
9.根据提取的所述a通道值和所述rgb通道值,对所述抠图图像和所述原图图像进行像素合成,得到合成图像;
10.对所述合成图像中目标像素的a通道值进行调整,以实现对抠图图像目标区域的修改。
11.其中一种可能的实现方式中,在获取抠图图像和所述抠图图像对应的原图图像之前,所述方法还包括:
12.在所述原图图像确定目标区域;
13.将所述原图图像中除所述目标区域之外的区域确定为非目标区域,并将所述非目标区域中像素的rgba通道值设置为0,得到所述抠图图像。
14.其中一种可能的实现方式中,所述合成图像中所有像素的rgb通道值与所述原图图像相同,所述合成图像中所有像素的a通道值与所述抠图图像相同。
15.其中一种可能的实现方式中,对所述合成图像中目标像素的a通道值进行调整,以实现对抠图图像目标区域的修改,包括:
16.根据所述目标像素在所述原图图像中对应的a通道值,对所述合成图像中目标像素的a通道值进行调整。
17.其中一种可能的实现方式中,对所述合成图像中目标像素的a通道值进行调整,以
实现对抠图图像目标区域的修改,包括:
18.根据所述目标像素在所述原图图像中对应的a通道值,增大所述合成图像中目标像素的a通道值,以实现对所述目标区域的增大;
19.将所述合成图像中目标像素的a通道值设置为0,以实现对所述目标区域的减小。
20.第二方面,本发明实施例一种抠图修正装置,包括:
21.获取模块,用于获取抠图图像和所述抠图图像对应的原图图像;
22.提取模块,用于提取所述抠图图像中所有像素的a通道值;提取所述原图图像中所有像素的rgb通道值;
23.合成模块,用于根据提取的所述a通道值和所述rgb通道值,对所述抠图图像和所述原图图像进行像素合成,得到合成图像;
24.调整模块,用于对所述合成图像中目标像素的a通道值进行调整,以实现对抠图图像目标区域的修改。
25.其中一种可能的实现方式中,所述装置还包括:
26.抠图模块,用于在所述原图图像确定目标区域;将所述原图图像中除所述目标区域之外的区域确定为非目标区域,并将所述非目标区域中像素的rgba通道值设置为0,得到所述抠图图像。
27.其中一种可能的实现方式中,所述抠图模块,包括:
28.区域确定子模块,用于在所述原图图像确定目标区域;将所述原图图像中除所述目标区域之外的区域确定为非目标区域;
29.通道值设置子模块,用于将所述非目标区域中像素的rgba通道值设置为0,得到所述抠图图像。
30.第三方面,本发明实施例提供一种电子设备,包括:
31.至少一个处理器;以及
32.与所述处理器通信连接的至少一个存储器,其中:
33.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
34.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面所述的方法。
35.应当理解的是,本发明实施例的第二~第四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
36.发明实施例提供的抠图修正方法和设备,无需对原图图像重新抠图,避免了抠图图像资源和时间的浪费。
【附图说明】
37.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
38.图1为本发明实施例提供的一种抠图修正方法的流程图;
39.图2为本发明实施例提供的另一种抠图修正方法的流程图;
40.图3为本发明实施例提供的一种抠图修正装置的示意图;
41.图4为本发明实施例提供的另一种抠图修正装置的示意图;
42.图5为本发明实施例提供的再一种抠图修正装置的示意图;
43.图6为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
44.为了更好的理解本发明的技术方案,下面结合附图对本说明书实施例进行详细描述。
45.应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
46.在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
47.在现有技术中,如果抠图图像存在缺陷,例如将图像中本该是目标区域的部分像素的rgba通道值也设置为0,此时如果想修复抠图图像存在的缺陷,只能对原来的图像重新进行抠图,这就造成了抠图图像资源和时间的浪费。本发明实施例提供了一种抠图修正方法和设备,同时导入抠图图像和原图图像;分别提取抠图图像中所有像素的a通道值,和原图图像中所有像素的rgb通道值,进行像素合成,得到合成图像;可以通过调整合成图像中目标像素的a通道值,对抠图图像目标区域进行修正,无需对原图图像重新抠图,避免了抠图图像资源和时间的浪费。
48.图1为本发明实施例提供的一种抠图修正方法的流程图。如图1所示,上述抠图修正方法可以包括:
49.步骤101,获取抠图图像和抠图图像对应的原图图像。
50.步骤102,提取抠图图像中所有像素的a通道值。
51.步骤103,提取原图图像中所有像素的rgb通道值。
52.步骤104,根据提取的所述a通道值和所述rgb通道值,对所述抠图图像和所述原图图像进行像素合成,得到合成图像。
53.步骤105,对所述合成图像中目标像素的a通道值进行调整,以实现对抠图图像目标区域的修改。
54.同时导入抠图图像和对应的原图图像。其中,抠图图像为对原图图像执行抠图操作后得到的图像。
55.抠图图像中目标区域的rgba通道值与原图图像对应区域的rgba通道值相同,抠图图像中非目标区域的rgba通道值均为0。其中,目标区域为对原图图像执行抠图操作后保留的区域,非目标区域即除目标区域之外的区域。
56.抠图图像中只有目标区域被显示,而与抠图图像对应的原图图像中目标区域和非目标区域都被显示。
57.在获取抠图图像和抠图图像对应的原图图像后,分别从抠图图像中提取所有像素的a通道值,从原图图像中提取所有像素的rgb通道值;根据上述提取的通道值对抠图图像和原图图像进行像素合成,得到合成图像。
58.其中,合成图像中所有像素的rgb通道值与原图图像相同,而合成图像中所有像素的a通道值与抠图图像相同。由于合成图像中非目标区域各像素的a通道值均为0,因此,合成图像中只有目标区域被显示。
59.需要说明的是,合成图像中非目标区域虽然不被显示,但该非目标区域中各像素的rgb值与原图中对应像素的rgb通道值相同,该非目标区域仅有a通道值为0。在此基础上,可以通过对合成图像中目标像素的a通道值进行调整,来实现对抠图图像目标区域的修改。其中,目标像素为待修改区域内的像素。待修改区域可以是,本应属于目标区域,却被作为非目标区域的区域;或者,本应属于非目标区域,却被作为目标区域的区域。
60.具体地,可以将合成图像中目标像素的a通道值调整为与原图图像中对应像素a通道值相同的大小,以实现对目标区域的增大;也可以将合成图像中目标像素的a通道值设置为0,以实现对目标区域的减小,进而实现对抠图图像的修正。
61.步骤101
‑
步骤105说明了对存在缺陷的抠图图像进行修正的过程,同时导入抠图图像和原图图像;分别提取抠图图像中所有像素的a通道值,和原图图像中所有像素的rgb通道值,进行像素合成,得到合成图像;通过调整合成图像中目标像素的a通道值,对抠图图像目标区域进行修正,无需对原图图像重新抠图,避免了抠图图像资源和时间的浪费。可选地,修正后的图像可以作为训练数据集,用于模型训练。
62.图2为图1为本发明实施例提供的另一种抠图修正方法的流程图。如图2所示,上述抠图修正方法在图1的步骤101之前,还可以包括:
63.步骤201,在原图图像确定目标区域。
64.步骤202,将原图图像中除目标区域之外的区域确定为非目标区域,并将非目标区域中像素的rgba通道值设置为0,得到抠图图像。
65.步骤201
‑
步骤202说明了对原图图像进行抠图,得到抠图图像的过程。具体地,可以通过开源抠图软件,例如阿里云sdk,从原图图像中确定待保留的目标区域,将目标区域之外的区域确定为非目标区域,并将非目标区域中各像素的rgba值设置为0,得到抠图图像。
66.图3为本发明实施例提供的一种抠图图像修正装置的示意图。如图5所示,上述抠图图像修正装置,可以包括:
67.获取模块31,用于获取抠图图像和所述抠图图像对应的原图图像;
68.提取模块32,用于提取所述抠图图像中所有像素的a通道值;提取所述原图图像中所有像素的rgb通道值;
69.合成模块33,用于根据提取的所述a通道值和所述rgb通道值,对所述抠图图像和所述原图图像进行像素合成,得到合成图像;
70.调整模块34,用于对所述合成图像中目标像素的a通道值进行调整,以实现对抠图图像目标区域的修改。
71.图3所示实施例提供的抠图修正装置可用于执行本发明图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
72.图4为本发明实施例提供的另一种抠图修正装置的示意图。如图4所示,上述抠图修正装置还可以包括:
73.抠图模块35,用于在所述原图图像确定目标区域;将所述原图图像中除所述目标区域之外的区域确定为非目标区域,并将所述非目标区域中像素的rgba通道值设置为0,得到所述抠图图像。
74.图4所示实施例提供的抠图修正装置可用于执行本发明图1
‑
图2所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
75.图5为本发明实施例提供的再一种抠图修正装置的示意图。如图5所示,抠图模块35还可以包括:
76.区域确定子模块41,用于在所述原图图像确定目标区域;将所述原图图像中除所述目标区域之外的区域确定为非目标区域;
77.通道值设置子模块42,用于将所述非目标区域中像素的rgba通道值设置为0,得到所述抠图图像。
78.图6为本发明实施提供的一种电子设备的结构示意图。图6显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
79.如图6所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本发明图1
‑
图2所示实施例提供的抠图修正方法。电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,以及连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
80.通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture;以下简称:isa)总线,微通道体系结构(micro channel architecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association;以下简称:vesa)局域总线以及外围组件互连(peripheral component interconnection;以下简称:pci)总线。
81.电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
82.存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory;以下简称:ram)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
83.具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明所描述的实施例中的功能和/或方法。
84.处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据
处理,例如实现本发明图1
‑
图2所示实施例提供的图片方法。
85.本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行本发明图1
‑
图2所示实施例提供的抠图修正方法。
86.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
87.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
88.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(local area network;以下简称:lan)或广域网(wide area network;以下简称:wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
89.上述对本发明特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
90.在本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本发明中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
91.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
92.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
93.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
94.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
95.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
96.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。