CN106846440A - 一种图像智能选区方法、装置和计算设备 - Google Patents

一种图像智能选区方法、装置和计算设备 Download PDF

Info

Publication number
CN106846440A
CN106846440A CN201710010813.2A CN201710010813A CN106846440A CN 106846440 A CN106846440 A CN 106846440A CN 201710010813 A CN201710010813 A CN 201710010813A CN 106846440 A CN106846440 A CN 106846440A
Authority
CN
China
Prior art keywords
pixel
node
region
point
beeline
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
CN201710010813.2A
Other languages
English (en)
Other versions
CN106846440B (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.)
Xiamen Meitu Technology Co Ltd
Original Assignee
Xiamen Meitu 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 Xiamen Meitu Technology Co Ltd filed Critical Xiamen Meitu Technology Co Ltd
Priority to CN201710010813.2A priority Critical patent/CN106846440B/zh
Publication of CN106846440A publication Critical patent/CN106846440A/zh
Application granted granted Critical
Publication of CN106846440B publication Critical patent/CN106846440B/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种图像智能选区方法,适于在计算设备中执行,该方法包括步骤:确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点;计算相邻像素点之间的颜色差值作为所述相邻像素点之间的距离;将所述图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2;其中,所述像素点集合所覆盖的区域即为该用户画笔所选中的区域。本发明还公开了对应的图像智能选区装置和计算设备。

Description

一种图像智能选区方法、装置和计算设备
技术领域
本发明涉及图像处理领域,尤其涉及一种图像智能选区方法、装置和计算设备。
背景技术
21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。通常,用户获取到图像的难免会有一些瑕疵,这时只要通过使用一些简单的修图软件进行一些修饰就可以达到更好的效果。目前常见的图像处理软件有photoshop、美图秀秀等,这些软件既可以安装在手机、平板等移动终端中,也可以安装计算机中。用户将图片导入到修图软件后,即可对不理想的地方进行修饰,得到完美的图片。
大部分的图像处理软件都有马赛克或者画笔的功能,用户可以选择画笔形状、设置笔触大小对图像进行涂抹上色。由于笔触一般使用程序内置的固定形状(比如圆形、矩形等),不适用于不规则的涂抹区域,这使得用户在涂抹过程中经常需要不断切换笔触半径,即需要花大量的时间对涂抹区域进行修补。
因此,需要提供一种方法能够智能地判断哪些区域为该画笔应该选中的区域,从而快速而准确的完成区域图像的处理。
发明内容
鉴于上述问题,本发明提出了一种图像智能选区方法、装置和计算设备,以力图解决或者至少部分地解决上述问题。
根据本发明的一个方面,提供一种图像智能选区方法,适于在计算设备中执行,该方法包括步骤:确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点;计算相邻像素点之间的颜色差值作为相邻像素点之间的距离;将图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2;其中,像素点集合所覆盖的区域即为该用户画笔所选中的区域。
可选地,在根据本发明的方法中,还包括:以每个像素点为节点,以相邻量像素点的颜色差值为两个节点之间的距离值,构建像素点的距离无向图。
可选地,在根据本发明的方法中,从图像区域的像素点中选取一个像素点集合的步骤包括:创建一个初始为空的小根堆结构的优先队列;将中心像素点和所有外周线上的像素点加入优先队列中;分别以中心像素点和外周上的像素点为起点,根据最短路径算法遍历图像区域内的所有像素点;以及确定中心像素所走过的路径,并选取该路径上的所有点作为所述像素点集合。
可选地,在根据本发明的方法中,将中心像素点和所有外周线上的像素点所对应的节点的权值均设为初始值,根据最短路径算法遍历图像区域内的所有像素点的步骤包括:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,如果队列为空,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将相邻节点加入到所述优先队列中;步骤4:判断优先队列的头节点是否为从中心像素点出发后到达的节点,如果是,则将该头节点从优先队列中删除,并将其对应的像素点加入到像素点集合中;步骤5:重复步骤2-4,直到遍历完图像区域内的所有像素点。
可选地,在根据本发明的方法中,在图像区域的像素点中选取一个集合的步骤包括:创建一个初始为空的小根堆结构的优先队列;对于图像区域的任意一个像素点,将其加入到优先队列中;以该像素点为起点,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1,以及到外周线上每个像素点的第二最短距离L2;如果第一最短距离L1不大于任意一个第二最短距离L2,则将该像素点加入到像素点集合中。
可选地,在根据本发明的方法中,对于任意一个像素点,将其对应的节点的权值设为初始值,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1的步骤包括:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为中心像素点,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将相邻节点加入到优先队列中;步骤4:重复步骤2、3,直到中心像素点成为优先队列的头节点,此时该头节点的权值即为第一最短距离L1
可选地,在根据本发明的方法中,对于任意一个像素点,将其对应的节点的权值设为初始值,根据最短路径算法求得该像素点到外周线上每个像素点的第二最短距离L2的步骤包括:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为外周线上的像素点,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将相邻节点加入到优先队列中;步骤4:重复步骤2、3,直到外周线上的像素点成为优先队列的头节点,此时该头节点的权值即为到该外周像素点的第二最短距离L1
可选地,在根据本发明的方法中,若相邻像素点为X像素和Y像素,则其颜色差值=abs(RX–RY)+abs(GX–GY)+abs(BX–BY)。
可选地,在根据本发明的方法中,还包括:确定用户画笔所覆盖的图像区域的外接矩形区域;以及根据外接矩形区域内的像素点相对于图像区域的外周线的位置,生成一张黑白的遮罩图。
可选地,在根据本发明的方法中,若图像区域为圆形,则生成一张黑白的遮罩图的步骤包括:遍历外接矩形区域内的像素点,计算每个像素和圆心像素点之间的实际距离长度;若实际距离长度不大于该圆半径,则将该像素点所在位置设为白色,反之设为黑色。
根据本发明的另一个方面,提供一种图像智能选区装置,包括:区域确定单元,适于确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点;距离计算单元,计算相邻像素点之间的颜色差值作为所述相邻像素点之间的距离;集合选取单元,适于将图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2;其中,像素点集合所覆盖的区域即为该用户画笔所选中的区域。
根据本发明的又一方面,提供一种计算设备,包括存储器,被配置用于存储程序代码;处理器,被配置用于根据所述存储器中存储的所述程序代码中的指令,执行如上所述的图像智能选区方法。
根据本发明的技术方案,在确定用户画笔所点击的区域后,对该区域内的像素点进行计算和分析,得到其中每个相邻像素点之间的颜色差值作为这两个像素点之间的距离。之后,根据最短距离算法,在该区域内选出一个像素点集合,这个集合内的所有像素点均符合一个特征:它们与中心像素点在颜色上的“连续性差异值”要小于它与外周线任一像素点的“连续性差异值”,而这些选中的像素点所覆盖的位置即为该用户画笔所真正选中的区域。这种图像区域选择方法,相比传统的方法能更好的解决图像边缘需要反复涂抹的问题,提高了图像处理速度,也加强了用户体验。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;
图2示出了根据本发明一个实施例的图像智能选区方法200的流程图;
图3示出了根据本发明一个实施例的像素点集合的选取过程300的流程图;
图4示出了根据本发明一个实施例的构建的距离无向图的示意图;
图5示出了根据本发明另一个实施例的像素点集合的选取过程400的流程图;
图6a示出了根据本发明一个实施例的图像区域放大后的像素块,6b示出了用户画笔点击后生成的圆形遮罩图的示意图;
图7示出了根据本发明一个实施例的图像智能选区装置500的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了一种图像智能选区装置500,可以驻留在手机、平板等具有图像处理功能的移动终端中,也可以驻留在计算设备中,图1为布置为实现根据本发明的图像智能选区装置500的示例计算设备100的结构框图。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的图像智能选区方法200,其中应用122包括根据本发明的图像智能选区装置500。
图2示出了根据本发明一个实施例的图像智能选区方法200,适于在计算设备100中执行,如图2所示,该方法始于步骤S210。
在步骤S210中,确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点。若用户画笔是圆形,则中心像素点为圆心像素点,外周线上的像素点即为圆周像素点。
随后,在步骤S220中,计算相邻像素点之间的颜色差值作为相邻像素点之间的距离。其中,若相邻像素点为X像素点和Y像素点,(RX,GX,BX)和(RY,GY,BY)分别是其RGB值,则这两个像素的颜色差值=abs(RX–RY)+abs(GX–GY)+abs(BX–BY),其中abs为取绝对值的意思,abs(RX–RY)即为取(RX–RY)的绝对值。将X像素点和Y像素点都作为节点,则这个差值就代表这两个像素点之间的距离。
随后,在步骤S230中,将图像区域中的每个像素点作为节点,从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2。其中,像素点集合所覆盖的区域即为该用户画笔所选中的区域。这样得到的像素点集合的每一个点,相比来说都与中心像素点的颜色更为接近。其中,最短路径算法可以采用迪杰斯特拉(Dijkstra)算法,当然也可以采用其他现有方法,本发明对此不作限制。
具体地,关于上述步骤S230中像素点集合的选取过程,图3示出了根据本发明一个实施例的像素点集合的选取过程300的流程图。如图3所示,该过程始于步骤S310。
在步骤S310中,以每个像素点为节点,以相邻量像素点的颜色差值为两个节点之间的距离值,构建像素点的距离无向图。图4示出了根据本发明的一个实施例构建的距离无向图,应当理解,图4只是示例性地示出了图像区域内的部分像素点,最外层的几个点还可以连接其他像素点。其中,A2像素点和B2像素点都是图像区域内的像素点,根据其各自的RGB值计算得到这两个像素点之间的距离值为48。
随后,在步骤S320中,创建一个初始为空的小根堆结构的优先队列。小根堆是一个二叉树,这个树的特性是所有节点的权值都会比它的子节点要小。即树的根节点永远是最小的那个数。树会根据权值构成一个二叉树,在这里权值与距离相对应。节点包含当前节点的权值和位置信息,其中权值指从起始点节出发到达该节点所经过的距离。
随后,在步骤S330中,对于图像区域的任意一个像素点X,将其加入到优先队列中。此时X为起始点,其权值可设为初始值,如设为0。设起点X为点B3,中心像素点为A1,则得到的优先队列为:
节点 B3
权值 0
随后,在步骤S340中,以该像素点为起点,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1,以及到外周线上每个像素点的第二最短距离L2
随后,在步骤S350中,判断该第一最短距离L1是否不大于任意一个第二最短距离L2,如果是,则将该像素点加入到最终的像素点集合中。
根据一个实施例,上述步骤S340中的第一最短距离L1的计算过程可以为:
步骤1:取优先队列的队头,并删掉头节点,如将头节点B3从对列中删除。
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为中心像素点,则算法结束。
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将这些相邻节点加入到优先队列中。
按照上述例子,将B3向相邻的四个节点A3、C3、B2和B4移动,B3节点的权值0分别加上该节点与相邻节点的距离(102、29、9、4),得到A3、C3、B2和B4节点的权值分别为102、29、9、4,得到新的优先队列为:
节点 B4 B2 C3 A3
权值 4 9 29 102
步骤4:重复步骤2、3,直到中心像素点成为优先队列的头节点,此时该头节点的权值即为第一最短距离L1
继续按照上述例子,将头节点B4从队列中删除,判断其位置可达,将其向相邻的四个节点A4、C4和B5移动(B3已被取出后删除,不再向其移动)。B4节点的权值为4,分别加上该节点与相邻节点的距离(111、11、92),得到A4、C4和B5节点的权值分别为115、15、96,加上优先队列中的原有节点,得到新的优先队列为:
节点 B2 C4 C3 B5 A3 A4
权值 9 15 29 96 102 115
之后,继续将头节点B2从队列中删除,判断其位置可达,将其向相邻的四个节点A2、C2和B1移动(B3已被取出后删除,不再向其移动),并计算得到这三个节点的权值,与原有队列中的节点一起,按照由小到大的顺序得到新的优先队列。以此类推,直到中心像素点A1成为队列的头节点,此时该头节点A1的权值即为第一最短距离L1
根据另一个实施例,可以以类似方法计算得到图像内任一像素点到外周线上每个像素点的第二最短距离L2,具体为:
步骤1:取优先队列的队头,并删掉头节点。
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点;若当前节点为外周线上的像素点,则算法结束。
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将这些相邻节点加入到优先队列中。
步骤4:重复步骤2、3,直到外周线上的像素点成为优先队列的头节点,此时该头节点的权值即为第二最短距离L2
根据这种方法可以有效地从图像区域内选出用户画笔应该选中的区域,但在路径搜索的过程中,图像区域内的每个点都需要做完整的最短路径搜索数次,可能存在冗余计算。
因此,本发明提供了另一种像素点集合的选取方法,图5示出了根据本发明另一个实施例的像素点集合的选取过程400的流程图,如图5所示,该方法始于步骤S410。
在步骤S410中,构建像素点集合的距离无向图,其与步骤S310相同,在此不再赘述。
随后,在步骤S420中,创建初始为空的小根堆结构的优先队列,创该队列的每个元素是一个节点,包含当前节点的位置信息(坐标)、权值(从起点到达该节点所经过的距离),以及该节点是否为从中心像素点出发到达的点。
随后,在步骤S430中,将中心像素点和所有外周线上的像素点(简称外周像素点)加入到上述初始为空的优先队列中。这里,中心像素点和所有外周线上的像素点所对应的节点均可以作为起点,其权值可以设为初始值,如设置为0。
随后,在步骤S440中,分别以中心像素点和外周上的像素点为起点,根据最短路径算法遍历图像区域内的所有像素点。
随后,在步骤S450中,确定中心像素点所走过的路径,并选取该路径上的所有点作为该像素点集合。
根据一个实施例,在步骤S440中,根据最短路径算法遍历图像区域内的所有像素点的操作包括:
步骤1:取优先队列的队头,并删掉头节点;
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,如果队列为空,则算法结束;
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将相邻节点加入到优先队列中;
步骤4:判断优先队列的头节点是否为从中心像素点出发后到达的节点,如果是,则将该头节点从所述优先队列中删除,并将其对应的像素点加入到像素点集合中;
步骤5:重复步骤2-4,直到遍历完图像区域内的所有像素点。
这种方法将中心像素点和外周像素点都加入到优先队列中进行搜索,借助优先队列的优势,每搜索一步,都可以在首元素找到一个“以最短路径形式到达”的节点。在遍历过程中,每个遍历到的节点都标记有其是否从中心像素点出发。这样,就可以很快的筛选出中心像素点出发后所经过的点,这些点就是用户画笔所应选中的像素点。
此外,根据本发明的一个实施例,还可以包括:确定用户画笔所覆盖的图像区域的外接矩形区域;以及根据外接矩形区域内的像素点相对于图像区域的外周线的位置,生成一张黑白的遮罩图。具体地,对整个外接矩形区域,图像区域内(包括外周线)的点设置为白色,其他点则设置为黑色。
根据一个实施例,如果图像区域为圆形,则生成一张黑白的遮罩图的步骤包括:遍历外接矩形区域内的像素点,计算每个像素和圆心像素点之间的实际距离长度;若实际距离长度不大于该圆半径,则将该像素点所在位置设为白色,反之设为黑色。图6a和6b分别示出了图像区域的原始图片放大后的像素块,以及用户画笔点击后产生的圆形遮罩图。
图7示出了根据本发明一个实施例的图像智能选区装置500的结构框图。如图7所示,该装置包括:区域确定单元510、距离计算单元50和集合选取单元530。
区域确定单元510适于确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点。
距离计算单元520计算相邻像素点之间的颜色差值作为相邻像素点之间的距离。
集合选取单元530适于将图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2;其中,所述像素点集合所覆盖的区域即为该用户画笔所选中的区域。
根据一个实施例,集合选取单元530适于创建一个初始为空的小根堆结构的优先队列;将中心像素点和所有外周线上的像素点加入优先队列中;分别以该中心像素点和外周上的像素点为起点,根据最短路径算法遍历图像区域内的所有像素点;以及确定中心像素所走过的路径,并选取该路径上的所有点作为像素点集合。
根据另一个实施例,集合选取单元530还适于创建一个初始为空的小根堆结构的优先队列;对于图像区域中任意一个像素点,将其加入到优先队列中;以该像素点为起点,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1,以及到外周线上所有像素点的各个第二最短距离L2;如果第一最短距离L1不大于任意一个第二最短距离L2,则将该像素点加入到像素点集合中。
此外,根据本发明的装置500还可以包括无向图创建单元和遮罩图生成单元(图中均未示出)。其中,无向图创建单元适于以每个像素点为节点,以相邻量像素点的颜色差值为两个节点之间的距离,构建像素点的距离无向图。遮罩图生成单元(图中未示出),适于:确定用户画笔所覆盖的图像区域的外接矩形区域;以及根据外接矩形区域内的像素点相对于图像区域的外周线的位置,生成一张黑白的遮罩图。其中,如果该图像区域为圆形,则遮罩图生成单元适于:遍历外接矩形区域内的像素点,计算每个像素和圆心像素点之间的实际距离长度;若实际距离长度不大于该圆半径,则将该像素点所在位置设为白色,反之设为黑色。
根据本发明的图像智能选区装置500,其具体细节已在基于图1-图6的描述中详细公开,在此不再赘述。
根据本发明的技术方案,将区域涂抹中遇到的问题转化为求最短路径的模型,通过对比用户画笔区域内的像素点与中心像素点和外周线上的像素点在颜色上的“连续性差异”,优选出更接近中心像素点的那些点作为用户画笔所应选中的区域,这样能很好的解决图像边缘需要反复涂抹的问题,而且选取过程也非常精准便捷,提高了用户体验。
如用户想要对某张人脸图像中的牙齿部分进行涂抹修复,则用画笔逐个地点击牙齿区域,注意画笔所覆盖区域的中心像素点应该位于牙齿区域,就可以自动选出每个画笔的点击区域内应该选中的点。随着画笔的移动,就可以逐个的筛选出牙齿的每一分区,得到完整的牙齿区域,也不会误选到牙齿附近的嘴唇上的点,界限清楚区域完整,极大地提高了图像处理的速度和精度。
A9、如A1所述的方法,还包括:确定所述用户画笔所覆盖的图像区域的外接矩形区域;以及根据外接矩形区域内的像素点相对于所述图像区域的外周线的位置,生成一张黑白的遮罩图。
A10、如A9所述的方法,若所述图像区域为圆形,则所述生成一张黑白的遮罩图的步骤包括:遍历所述外接矩形区域内的像素点,计算每个像素和圆心像素点之间的实际距离长度;若实际距离长度不大于该圆半径,则将该像素点所在位置设为白色,反之设为黑色。
B12、如B11所述的装置,还包括:无向图创建单元,适于以每个像素点为节点,以相邻量像素点的颜色差值为两个节点之间的距离,构建所述像素点的距离无向图。
B13、如B11或B12所述的装置,所述集合选取单元适于:创建一个初始为空的小根堆结构的优先队列;将中心像素点和所有外周线上的像素点加入所述优先队列中;分别以所述中心像素点和外周上的像素点为起点,根据最短路径算法遍历所述图像区域内的所有像素点;以及确定所述中心像素所走过的路径,并选取该路径上的所有点作为所述像素点集合。
B14、如B13所述的装置,将所述中心像素点和所有外周线上的像素点所对应的节点的权值均设为初始值,所述集合选取单元适于根据以下方法遍历所述图像区域内的所有像素点:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,如果队列为空,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;步骤4:判断优先队列的头节点是否为从中心像素点出发后到达的节点,如果是,则将该头节点从所述优先队列中删除,并将其对应的像素点加入到所述集合中;步骤5:重复步骤2-4,直到遍历完所述图像区域内的所有像素点。
B15、如B11或B12所述的装置,所述集合选取单元适于:创建一个初始为空的小根堆结构的优先队列;对于所述图像区域中任意一个像素点,将其加入到所述优先队列中;以该像素点为起点,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1,以及到外周线上每个像素点的各个第二最短距离L2;如果所述第一最短距离L1不大于任意一个所述第二最短距离L2,则将该像素点加入到所述像素点集合中。
B16、如B15所述的装置,对于任意一个像素点,将其对应的节点的权值设为初始值,所述集合选取单元适于根据以下方法求得该像素点到中心像素点的第一最短距离L1:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为中心像素点,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;步骤4:重复步骤2、3,直到中心像素点成为优先队列的头节点,此时该头节点的权值即为为到该中心像素点的第一最短距离L1
B17、如B15所述的装置,对于任意一个像素点,将其对应的节点的权值设为初始值,所述集合选取单元适于根据以下方法求得该像素点到外周线上每个像素点的第二最短距离L2:步骤1:取优先队列的队头,并删掉头节点;步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为外周线上的像素点,则算法结束;步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;步骤4:重复步骤2、3,直到外周线上的像素点成为优先队列的头节点,此时该头节点的权值即为到该外周像素点的第二最短距离L1
B18、如B11所述的装置,若相邻像素点为X像素和Y像素,则其颜色差值=abs(RX–RY)+abs(GX–GY)+abs(BX–BY)。
B19、如B11所述的装置,还包括遮罩图生成单元,适于:确定所述用户画笔所覆盖的图像区域的外接矩形区域;以及根据外接矩形区域内的像素点相对于所述图像区域的外周线的位置,生成一张黑白的遮罩图。
B20、如B19所述的装置,若所述图像区域为圆形,则所述遮罩图生成单元适于:遍历所述外接矩形区域内的像素点,计算每个像素和圆心像素点之间的实际距离长度;若实际距离长度不大于该圆半径,则将该像素点所在位置设为白色,反之设为黑色。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的图像智能选区方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种图像智能选区方法,适于在计算设备中执行,该方法包括步骤:
确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点;
计算相邻像素点之间的颜色差值作为所述相邻像素点之间的距离;
将所述图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2
其中,所述像素点集合所覆盖的区域即为该用户画笔所选中的区域。
2.如权利要求1所述的方法,还包括:
以每个像素点为节点,以相邻量像素点的颜色差值为两个节点之间的距离值,构建所述像素点的距离无向图。
3.如权利要求1或2所述的方法,所述从所述图像区域的像素点中选取一个像素点集合的步骤包括:
创建一个初始为空的小根堆结构的优先队列;
将中心像素点和所有外周线上的像素点加入所述优先队列中;
分别以所述中心像素点和外周上的像素点为起点,根据最短路径算法遍历所述图像区域内的所有像素点;以及
确定所述中心像素所走过的路径,并选取该路径上的所有点作为所述像素点集合。
4.如权利要求3所述的方法,将所述中心像素点和所有外周线上的像素点所对应的节点的权值均设为初始值,所述根据最短路径算法遍历所述图像区域内的所有像素点的步骤包括:
步骤1:取优先队列的队头,并删掉头节点;
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,如果队列为空,则算法结束;
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;
步骤4:判断优先队列的头节点是否为从中心像素点出发后到达的节点,如果是,则将该头节点从所述优先队列中删除,并将其对应的像素点加入到所述集合中;
步骤5:重复步骤2-4,直到遍历完所述图像区域内的所有像素点。
5.如权利要求1或2所述的方法,所述在所述图像区域的像素点中选取一个集合的步骤包括:
创建一个初始为空的小根堆结构的优先队列;
对于所述图像区域的任意一个像素点,将其加入到所述优先队列中;
以该像素点为起点,根据最短路径算法求得该像素点到中心像素点的第一最短距离L1,以及到外周线上每个像素点的第二最短距离L2
如果所述第一最短距离L1不大于任意一个所述第二最短距离L2,则将该像素点加入到所述像素点集合中。
6.如权利要求5所述的方法,对于任意一个像素点,将其对应的节点的权值设为初始值,所述根据最短路径算法求得该像素点到中心像素点的第一最短距离L1的步骤包括:
步骤1:取优先队列的队头,并删掉头节点;
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为中心像素点,则算法结束;
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;
步骤4:重复步骤2、3,直到中心像素点成为优先队列的头节点,此时该头节点的权值即为到该中心像素点的第一最短距离L1
7.如权利要求5所述的方法,对于任意一个像素点,将其对应的节点的权值设为初始值,所述根据最短路径算法求得该像素点到外周线上每个像素点的第二最短距离L2的步骤包括:
步骤1:取优先队列的队头,并删掉头节点;
步骤2:判断所删掉的节点所在位置是否可达,如果不可达,重复步骤1,直到取出一个可达的节点,其中,若当前节点为外周线上的像素点,则算法结束;
步骤3:将取出的节点向相邻节点移动一步,计算起始节点到每个相邻节点的距离作为该相邻节点的权值,并将所述相邻节点加入到所述优先队列中;
步骤4:重复步骤2、3,直到外周线上的像素点成为优先队列的头节点,此时该头节点的权值即为到该外周像素点的第二最短距离L1
8.如权利要求1所述的方法,若相邻像素点为X像素和Y像素,则其颜色差值=abs(RX–RY)+abs(GX–GY)+abs(BX–BY)。
9.一种图像智能选区装置,包括:
区域确定单元,适于确定用户画笔所覆盖的图像区域,以及该图像区域的中心像素点和外周线上的像素点;
距离计算单元,计算相邻像素点之间的颜色差值作为所述相邻像素点之间的距离;
集合选取单元,适于将所述图像区域中的每个像素点作为节点,并从中选取一个像素点集合,使得该集合中的每个像素点根据最短路径算法到中心像素点的第一最短距离L1,不大于到外周线上任意像素点的第二最短距离L2;其中,所述像素点集合所覆盖的区域即为该用户画笔所选中的区域。
10.一种计算设备,包括:
存储器,被配置用于存储程序代码;
处理器,被配置用于根据所述存储器中存储的所述程序代码中的指令,执行如权利要求1-8中任一项所述的图像智能选区方法。
CN201710010813.2A 2017-01-06 2017-01-06 一种图像智能选区方法、装置和计算设备 Active CN106846440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710010813.2A CN106846440B (zh) 2017-01-06 2017-01-06 一种图像智能选区方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710010813.2A CN106846440B (zh) 2017-01-06 2017-01-06 一种图像智能选区方法、装置和计算设备

Publications (2)

Publication Number Publication Date
CN106846440A true CN106846440A (zh) 2017-06-13
CN106846440B CN106846440B (zh) 2020-09-01

Family

ID=59117982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710010813.2A Active CN106846440B (zh) 2017-01-06 2017-01-06 一种图像智能选区方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN106846440B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934896A (zh) * 2019-02-25 2019-06-25 广东智媒云图科技股份有限公司 一种绘画方法、装置、终端设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510304A (zh) * 2009-03-30 2009-08-19 北京中星微电子有限公司 一种分割获取前景图像的方法、装置和摄像头
US8125493B2 (en) * 2007-09-20 2012-02-28 Microsoft Corporation Generating a texture from multiple images
CN103020596A (zh) * 2012-12-05 2013-04-03 华北电力大学 一种基于块模型的电力生产中异常人体行为识别方法
CN103035000A (zh) * 2012-12-06 2013-04-10 天津师范大学 一种基于cnn的彩色图像边缘提取方法
CN104182950A (zh) * 2013-05-22 2014-12-03 浙江大华技术股份有限公司 一种图像处理方法及其装置
CN105160679A (zh) * 2015-09-01 2015-12-16 南京理工大学 基于自适应权重与图像分割相结合的局部立体匹配算法
CN106097375A (zh) * 2016-06-27 2016-11-09 湖南大学 一种扫描图像的折痕检测方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8125493B2 (en) * 2007-09-20 2012-02-28 Microsoft Corporation Generating a texture from multiple images
CN101510304A (zh) * 2009-03-30 2009-08-19 北京中星微电子有限公司 一种分割获取前景图像的方法、装置和摄像头
CN103020596A (zh) * 2012-12-05 2013-04-03 华北电力大学 一种基于块模型的电力生产中异常人体行为识别方法
CN103035000A (zh) * 2012-12-06 2013-04-10 天津师范大学 一种基于cnn的彩色图像边缘提取方法
CN104182950A (zh) * 2013-05-22 2014-12-03 浙江大华技术股份有限公司 一种图像处理方法及其装置
CN105160679A (zh) * 2015-09-01 2015-12-16 南京理工大学 基于自适应权重与图像分割相结合的局部立体匹配算法
CN106097375A (zh) * 2016-06-27 2016-11-09 湖南大学 一种扫描图像的折痕检测方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
莫建文 等: "结合L*a*b*彩色空间改进的Graph-Based图像分割方法", 《计算机应用与软件》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934896A (zh) * 2019-02-25 2019-06-25 广东智媒云图科技股份有限公司 一种绘画方法、装置、终端设备及计算机可读存储介质
CN109934896B (zh) * 2019-02-25 2022-11-15 广东智媒云图科技股份有限公司 一种绘画方法、装置、终端设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN106846440B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
JP7072640B2 (ja) 畳み込み効率を向上させる方法、システム、及び装置
US20180181838A1 (en) Convolutional neural network system and operation method thereof
JP6441980B2 (ja) 教師画像を生成する方法、コンピュータおよびプログラム
CN107729996A (zh) 零系数跳过卷积神经网络引擎
US20240062054A1 (en) Storage of input values across multiple cores of neural network inference circuit
KR20060048802A (ko) 동적 프로그래밍에 의한 경계선 매팅 제공 방법
JP2005129065A (ja) 色及び視覚的テクスチャに基づいたオブジェクト抽出
CN108304814A (zh) 一种文字类型检测模型的构建方法和计算设备
GB2552260A (en) Tessellation method
Gerstner et al. Pixelated image abstraction with integrated user constraints
CN107424184B (zh) 一种基于卷积神经网络的图像处理方法、装置及移动终端
WO2016062259A1 (zh) 基于透明度的抠图方法和装置
KR102055411B1 (ko) 적응적 기준 범위 선택에 따른 디모자이킹 방법
CN111047563A (zh) 一种应用于医学超声图像的神经网络构建方法
CN110930443A (zh) 图像配准方法、装置及终端设备
CN108537208A (zh) 一种多尺度的人脸检测方法及计算设备
Celebi et al. Colour quantisation using the adaptive distributing units algorithm
CN107481203A (zh) 一种图像导向滤波方法及计算设备
CN106846440A (zh) 一种图像智能选区方法、装置和计算设备
CN109271499A (zh) 一种知识问答中答题用户的推荐方法、装置和终端设备
CN110097525A (zh) 一种图像渲染方法、装置和计算设备
US8761543B2 (en) Image processing using bounds adjustment
US11645786B2 (en) Compressing digital images utilizing deep perceptual similarity
CN116363154A (zh) 图像处理方法及装置
US20160093061A1 (en) Method, apparatus and computer program product for segmentation of objects in images

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