CN110533742B - 一种图像填色方法、装置、设备及存储介质 - Google Patents

一种图像填色方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110533742B
CN110533742B CN201910829545.6A CN201910829545A CN110533742B CN 110533742 B CN110533742 B CN 110533742B CN 201910829545 A CN201910829545 A CN 201910829545A CN 110533742 B CN110533742 B CN 110533742B
Authority
CN
China
Prior art keywords
color filling
block
image
color
current
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
CN201910829545.6A
Other languages
English (en)
Other versions
CN110533742A (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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201910829545.6A priority Critical patent/CN110533742B/zh
Publication of CN110533742A publication Critical patent/CN110533742A/zh
Priority to PCT/CN2019/123244 priority patent/WO2021042607A1/zh
Application granted granted Critical
Publication of CN110533742B publication Critical patent/CN110533742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04845Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例公开了一种图像填色方法、装置、设备及存储介质,该方法包括:响应于作用在目标图像上的填色触发操作,从目标图像对应的图像块集中确定初始的当前填色块;检测到所确定当前填色块未执行过回读操作时,将当前填色块中各像素点回读至缓存块;基于当前填色块所对应缓存块中各像素点,对当前填色块进行填色;根据当前填色块的填色结果确定下一填色块,将下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定目标图像中不存在下一填色块。利用该方法,避免了填色前将整个目标图像到内存的回读,降低了填色过程内存资源占用,实现了图像填色时内存的动态优化,降低了图像填色的填色时间以及提高了填色效率。

Description

一种图像填色方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像填色方法、装置、设备及存储介质。
背景技术
随着智能设备的普及和图像技术的提升,智能设备也具备了数码相机的功效,用户在户外娱乐或日常生活中能够随时启动智能设备中的相机功能来代替特定的相机设备进行拍照,同时为了增强智能设备的趣味性和可玩性,智能设备中还集成了一些应用软件来支持图像处理,如美肤、图像拼接、图像色彩填色以及涂鸦等等。
一般地,进行图像处理的图像预先存放在图像处理器(Graphics ProcessingUnit,GPU)内存中,而且对图像进行色彩填色处理时,图像处理软件无法直接对预存在GPU内存中的图像进行填色操作,而是需要先将整个图像的像素信息回读到中央处理器(Central Processing Unit,CPU)对应的内存中,然后基于内存中的像素信息进行填色,并将填色后的像素信息更新到图像在GPU内存中的对应位置。
在实现本申请的过程中,申请人发现现有图像填色技术存在如下缺陷:首先将整个图像的像素信息到CPU对应的内存中耗时较长,影响填色的处理时间,同时,如果图像的尺寸信息很大,其回读后占用内存资源占用也很大,如果最终只是小范围图像被填色,则会造成了内存资源的浪费。
发明内容
有鉴于此,本申请实施例提供一种图像填色方法、装置、设备及存储介质,以提高图像填色处理的处理效率,减少内存资源的占用率。
第一方面,本申请实施例提供了一种图像处理方法,包括:
响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;
检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;
基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;
根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
进一步地,所述从所述目标图像对应的图像块集中确定初始的当前填色块,包括:
解析所述填色触发操作的操作数据,获得所述填色触发操作的操作类型;
确定所述目标图像在所述操作类型下对应的选中像素点;
确定所述选中像素点在所述图像块集中所属的目标图像块;
将所述目标图像块作为初始的当前填色块。
进一步地,所述基于所述缓存块中各像素点对所述当前填色块进行填色,包括:
将从所述当前填色块中选定的起始像素点作为初始的当前填色点,并将所述当前填色点加入对应所述当前填色块的候选点集;
根据选定的目标填色信息对所述当前填色点进行填色;
确定所述缓存块中与所述当前填色点邻接的溢出像素点,并将所述溢出像素点加入所述候选点集;
对所述当前填色点设置已填标签,并从所述候选点集中删除所述当前填色点;
从所述候选点集中选取一个溢出像素点作为新的当前填色点,返回执行当前填色点的填色操作操作,直至所述候选点集为空;
其中,所述溢出像素点为属于所述当前填色块、不具备已填标签且未包含与所述候选点集的有效像素点。
进一步地,所述根据所述当前填色块的填色结果确定下一填色块,包括:
监测到所述当前填色块填色结束后,确定预先获得的候选填色块集合不为空时,从所述候选填色块集合中选取一个候选填色块作为下一待填色块,将所述下一待填色块从所述候选填色块集合中删除;
其中,所述候选填色块集合中包含的候选填色块在对当前填色块进行填色时确定。
进一步地,监测到所述当前填色块填色结束后,还包括:
确定所述候选填色块集合为空,则确定所述目标图像中不存在下一填色块。
进一步地,在对当前填色块进行填色时确定候选填色块集合所包含候选填色块的方式包括:
监听所述当前填色块中的当前填色点;
如果所述当前填色点为填色块边缘点,则获得所述填色块边缘点对应的溢出方向;
从所述图像块集中确定与所述溢出方向关联的关联图像块,并当所述关联图像块符合集合加入条件时作为候选填色块加入所述候选填色块集合;
返回执行当前填色点的监听操作,直至完成所述当前填色块的填色;
其中,所述集合接入条件为:所述关联图像块中包含未填色点且当前未包含于所述候选填色块集合。
进一步地,在确定所述目标图像中不存在下一填色块之后,还包括:
将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
第二方面,本申请实施例还提供了一种图像填色装置,包括:
第一响应模块,用于响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;
回读确定模块,用于检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;
分块填色模块,用于基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;
循环确定模块,用于根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
第三方面,本申请实施例还提供了一种图像填色设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例第一方面提供的一种图像填色方法。
第四方面,本申请实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的图像填色方法。
上述提供的一种图像填色方法、装置、设备及存储介质,该填色方法包括:首先响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,然后检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;之后基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。本实施例的上述技术方案,在对目标图像待填色的区域进行填色前考虑先对目标图像进行分块,并每次确定一个当前填色块并只基于当前填色块对应的缓存块进行填色,如此循环执行直至目标图像中需要填色的区域均完成填色。该种填色思想避免了在填色前将整个目标图像回读到内存,从而降低了填色过程的内存资源占用,实现了图像填色时内存的动态优化,进而降低了图像填色的填色时间,提高了图像填色的填色效率;同时本实施例所提供方法的执行保证了每一轮填色都逐渐趋近最终填色结果,由此达到了提高界面交互度的效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一提供的一种图像填色方法的流程图;
图2给出了本申请实施例一中目标图像分块后的效果显示图;
图3为本申请实施例二提供的一种图像填色方法的流程示意图;
图4给出了本申请实施例二中从当前填色块中确定溢出像素点的效果展示图;
图5给出了本申请实施例二中确定候选填色块的效果展示图;
图6为本申请实施例三提供的一种图像填色装置的结构框图;
图7为本申请实施例四提供了一种图像填色设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请下述实施例的应用场景可以是存储在智能设备中任一张用户需要进行个性化填色处理的图像,智能设备可以是手机、平板、电脑以及交互智能平板等能够集成图像处理软件的设备。智能设备基于现有具备的图像处理软件进行图像填色等处理时,需要将整个待处理图像全部回读至内存,但实际应用中,图像中需要填色的区域可能仅占整个图像的一小部分,此外,整个图像到内存的回读也耗费较多时间,由此造成内存资源的浪费以及图像填色耗时长的问题。本申请实施例提供的一种图像填色方法能够克服上述问题,达到内存资源占用少,填色处理效率高的效果。
实施例一
图1为本申请实施例一提供的一种图像填色方法的流程图。该实施例适用于对图像进行填色处理的情况,该图像填色方法可以由图像填色设备执行,该图像填色设备可以通过软件和/或硬件的方式实现,该图像填色设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,本实施例的图像处理设备可以是电脑,手机,平板或交互智能平板等。
为了便于理解,实施例中以交互智能平板为图像填色设备进行示例性描述。其中,交互智能平板可以是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了投影机、电子白板、幕布、音响、电视机以及视频会议终端等一种或多种功能。一般而言,交互智能平板的显示屏可以是电容屏、电阻屏、红外屏或者电磁屏等。用户可以通过手指或者触控笔对交互智能平板进行触控操作。
进一步的,交互智能平板中安装有操作系统自带的应用软件,同时,也安装有从第三方设备或者服务器中下载的应用软件,其中,应用软件的具体类型及内容可以根据实际情况设定,如,图像处理软件,以及具有书写、绘图、批注、课件制作以及展示播放等功能的应用软件,对于任一实现相应功能的软件而言,其展现在显示屏中的各种元素(如文件、图像、书写笔迹及几何图形等)可以被用户选中并执行不同的功能,如可以是在相应的图像处理软件下选中任意图像后,基于本实施例提供的图像填色方法,能够快速有效的对选中图像的待填色区进行图像填色。
示例性地,参考图1,本申请实施例一提供的图像填色方法具体包括:
需要说明的是,本实施例可默认在执行下述步骤之前用户已通过给定的选中方式选定了所存储图像中的任一图像,本实施例记为目标图像,且可以知道的是,用户可以展示该目标图像的界面触发填色启动按钮,以使目标图像进入填色编辑模式,由此在该填色编辑模式下执行本实施例提供的下述步骤。
S101、响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块。
在本实施例中,所述目标图像具体可理解为用户预先选定的待进行填色处理的图像,所述目标图像可以是预先存储的图像,也可以是进行填色处理开始前实时捕获的图像。所述填色触发操作具体可理解为作用在目标图像上的触控操作,由此可在监测到用户对当前界面所展示目标图像进行点击、双击以及滑动选定等操作时,确定接收到填色触发操作,本步骤可响应所接收的填色触发操作。
需要说明的是,用户可以通过触控的方式,利用手指或者触控笔对目标对象进行填充触发,以使交互智能平板接收到并响应该填充触发操作。或者是,用户还可以通过与交互智能平板的外置设备,利用键控的方式进行填充触发,以使交互智能平板接收到并响应该填充触发操作。其中,外置设备包括但不限定于鼠标等。本实施优选以通过鼠标键控的方式为例进行说明。可以理解的是,本实施例中出现的所有操作均可以采用触控或者键控的方式执行,且均以鼠标键控的方式为例进行描述。
可以理解的是,本实施例在响应目标图像的填色触发操作后,可以在执行从所述目标图像对应的图像块集中确定初始的当前填色块之前,可以先执行对目标图像进行分块划分的划分操作,由此形成包含目标图像所对应各图像块的图像块集。
具体地,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块,所述图像块集具体可理解为响应目标图像的填色触发操作后,对目标图像进行分块划分形成的包含各图像块的集合。所述图像块集中的各图像块的大小可以是预先确定的设定尺寸,所述设定尺寸可以根据内存中预先确定的缓存块大小来确定,一般地,所述设定尺寸小于或等于内存中一个缓存块的大小。
需要说明的是,该设定尺寸具体可理解为一个对目标图像进行分块的单位分块尺寸,且该设定尺寸的尺寸信息可以是分块面积信息,也可以是分块长宽信息,理论上,本实施例不限定所形成图像块的分块形状,但在实际应用中,为保证目标图像各图像块的均匀划分,优选所述图像块的形状为矩形。
考虑到图像填色的填色过程在内存中完成,为节省填色处理占用的内存资源,本实施例考虑先确定一个待填色的当前填色块,之后仅将确定的当前填色块回读至在内存中对应的缓存块,然后对回读后的当前填色块进行填色。因此,本实施例可以基于对作用在目标图像上填色触发操作的响应,进一步从图像块集中确定待填色的当前填色块,且将确定的首个当前填色块记为初始的当前填色块。
示例性地,本实施例可以通过分析填充触发操作的操作类型,如操作类型可能是点击、双击或区域选中等,当操作类型为点击或双击时,实际对应的可能是目标图像上的一个像素点,此时可将该像素点作为选中像素点,并将包含该选中像素点的图像块看作首个当前填色块。此外,对于操作类型为区域选中的情况,可优选将区域选中时首个落在显示屏上的按下点作为选中像素点,由此再进一步基于该选中像素点确定首个当前填色块。
图2给出了本申请实施例一中目标图像分块后的效果显示图,如图2所示,选中进行填色操作的目标图像11为一个证件照图片,当用户想要替换证件照中人物的背景色时,可在目标图像11中背景色区域的任一位置进行点击或双击(该点击或双击相当于填色触发操作),之后,本执行终端通过对该点击或双击的响应,能够将目标图像11根据确定的设定尺寸进行区域划分由此形成包含28个图像块的图像块集,且本执行终端通过对该点击或双击的响应,能够确定出作为初始的当前填色块的图像块110,其中,可以知道的是,进行图像块划分时,若目标图像的宽高值不能被划分尺寸整分,则目标图像可以存在一些图像块的尺寸小于用于划分的设定尺寸。
S102、检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块。
在本实施例中,基于上述步骤确定当前填色块后,后续需要对当前填色块进行填色操作,且基于上述描述可知对当前填色块进行填色时,需要将当前填色块中包含的像素信息回读到在内存中对应设定的缓存块中,但将图像包含的像素信息回读到内存中需要耗费一定的时间,若一个填色块在确定成当前填色块之前已经进行过像素信息到内存的回读,则本实施例在其再次确定为当前填色块后,考虑不再重复对其进行像素信息的回读操作,只有在当前填色块从未进行过像素信息回读时再考虑基于本步骤的操作将当前填色块的像素信息回读至内存。
需要说明的是,本实施例可以在确定进行填色操作的目标图像后,根据目标图像的大小,预先在内存中创建一定空间用于进行目标图像的像素信息存储,且可对预先创建的空间进行分块,使得所创建的空间中包含至少一个缓存块,之后,本实施例可以在响应填充触发操作后,根据所划分缓存块的大小以及数量,确定可以将目标图像划分为多少个图像块,以及每个图像块具备什么样的尺寸。由此可知,内存中所开辟的缓存块能够满足将图像块集中各图像块的回读,所以本实施例可优选为图像块集中的图像块与内存中开辟的缓存块为一一对应的关系。
具体地,本实施例对当前填色块的回读操作分成两种情况,一种是基于本步骤确定当前填色块未进行过回读操作时,可以对当前填色块进行回读操作,即将当前填色块中各像素点回读到预先在内存中对应设定的缓存块里,另一种则是确定当前填色块已进行过回读操作时,可以忽略本步骤的操作直接进行下述S103的操作。可以理解的是,回读至缓存块中的各像素点的位置关系与其在当前填色块中的位置关系相同,排列组合的顺序不会发生改变。
需要说明的是,本实施例回读至缓存块的信息具体包括给像素点的位置信息以及各像素点的像素值等,所述像素值具体采用RGB色彩模式下对应的强度值来表示,该强度值的取值范围为0~255,因此,各像素点的像素值处于0~255的范围中
S103、基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色。
在本实施例中,确定当前填色块的各像素点均回读至在内存中对应的缓存块后,可以对该缓存块中的各像素点进行填色处理,由此实现当前填色块的填色处理。具体地,对缓存块中各像素点的填色处理,相当于对各像素点所对应像素值的调整,本步骤可以获得用户所期望填色的色彩在RGB色彩模式下对应的期望强度值,然后可采用该期望强度值替换像素点的当前像素值。
具体地,本步骤对当前填色块进行填色的实现过程可表述为先确定一个当前填色点,对当前填色点进行像素值替换后再基于当前填色点确定下一填色点最为新的当前填色点,之后继续对新确定的当前填色点进行填色以及确定下一填色点,如果循环直至当前填色块中属于待填色区域的像素点均进行了填色处理,从而完成当前填色块的填色。
S104、根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,返回执行S102,直至确定所述目标图像中不存在下一填色块。
在本实施例中,当前填色块的填色结果可以包括告知当前填色块完成该次填色的填色声明,还包括了当前填色块填色过程中确定的进行下一待填色块选定所需的参考信息,所述参考信息可优选为一个候选填色块集合,示例性的,当基于上述S103完成当前填色块的填色后,本步骤可以从该填色结果提供的候选填色块集合中选取一个候选填色块作为下一待填色块,之后本步骤可以将该下一待填色块作为新的当前填色块,返回继续执行S102有关当前填色块的回读判断操作。可以知道的是,候选填色块集合存在为空的情况,当候选填色块为空时,可认为已经完成了所有填充块的填色操作,不再存在需要填色的下一待填色块。
在本实施例中,所述当前填色块的填色结果中所包括的参考信息也可以是当前待填色过程中直接确定的下一待填色块信息,由此同样可在存在下一待填色块时返回S102再次执行当前填色块的回读判断操作,也可在不存在下一待填色块时结束本实施例的图像填色。
本申请实施例一提供的一种图像填色处理方法,能够在对目标图像待填色的区域进行填色前考虑先对目标图像进行分块,并每次确定一个当前填色块并只基于当前填色块对应的缓存块进行填色,如此循环执行直至目标图像中需要填色的区域均完成填色。该种填色思想避免了在填色前将整个目标图像回读到内存,从而降低了填色过程的内存资源占用,实现了图像填色时内存的动态优化,进而降低了图像填色的填色时间,提高了图像填色的填色效率;同时本实施例所提供方法的执行保证了每一轮填色都逐渐趋近最终填色结果,由此达到了提高界面交互度的效果。
在本实施例上述优化的基础上,作为本实施例的一个可选实施例,本实施例方法在确定所述目标图像中不存在下一填色块之后,还优化包括了:将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
可以理解的是,本实施例根据上述步骤结合分块填色的循环条件可以在内存中实现各待填色图像块的填色,且填色后各缓存块中包含的当前像素点信息可认为是所对应各当前填色块在填色后应当具备的信息,因此,本实施例可一将内存中各缓存块所包含像素点的当前像素点信息写入到目标图像关联的图像块上,且该目标图像具体存放在GPU中。
本可选实施例中能够在每一次循环填色后都实现当前填色块中可填色点的填色,然后进行下一轮所对应当前填色块的填色,由此迭代的确定了目标图像中的待填色区域,并保证了每轮填色后对待填色区域的填色都逐渐趋近最终填色结果,从而提高了图像填色处理过程中的交互度;同时,本实施例通过迭代对各填色块进行填色,保证了仅需要填色的图像块的像素信息到内存块的回读,以及仅填色后缓存块像素点信息到目标图像的写入反馈,进而减少了图像处理中内存资源的占用,提高了图像处理效率。
实施例二
图3为本申请实施例二提供的一种图像填色方法的流程示意图,本实施例二以上实施例为基础进行优化,在本实施例中,进一步地将从所述目标图像对应的图像块集中确定初始的当前填色块,具体化为:解析所述填色触发操作的操作数据,获得所述填色触发操作的操作类型;确定所述目标图像在所述操作类型下对应的选中像素点;确定所述选中像素点在所述图像块集中所属的目标图像块;将所述目标图像块作为初始的当前填色块。
同时,本实施例还将基于所述缓存块中各像素点对所述当前填色块进行填色,具体优选为:将从所述当前填色块中选定的起始像素点作为初始的当前填色点,并将所述当前填色点加入对应所述当前填色块的候选点集;根据选定的目标填色信息对所述当前填色点进行填色;确定所述缓存块中与所述当前填色点邻接的溢出像素点,并将所述溢出像素点加入所述候选点集;对所述当前填色点设置已填标签,并从所述候选点集中删除所述当前填色点;从所述候选点集中选取一个溢出像素点作为新的当前填色点,返回执行当前填色点的填色操作操作,直至所述候选点集为空;其中,所述溢出像素点为属于所述当前填色块、不具备已填标签且未包含与所述候选点集的有效像素点。
此外,本实施例进一步将根据所述当前填色块的填色结果确定下一填色块,具体化为:监测到所述当前填色块填色结束后,确定预先获得的候选填色块集合不为空时,从所述候选填色块集合中选取一个候选填色块作为下一待填色块,将所述下一待填色块从所述候选填色块集合中删除;其中,所述候选填色块集合中包含的候选填色块在对当前填色块进行填色时确定。
在上述优化的基础上,本实施例在监测到所述当前填色块填色结束后还包括:确定所述候选填色块集合为空,则确定所述目标图像中不存在下一填色块。
如图3所示,本申请实施例二提供的一种图像填色方法,具体包括如下操作:
S201、响应于作用在目标图像上的填色触发操作。
示例性地,填色触发操作作用在当前界面所展示的目标图像上,本步骤的操作为对目标图像的分块划分以及当前填色块确定的触发操作,即,当本步骤响应了该填色触发操作后,相当于触发了后续对目标图像按照适合内存缓存块大小的尺寸来进行图像分块以及从所获得图像块集中进行当前填色块确定的操作。
需要说明的是,本实施例未具体给出图像划分操作的操作过程,但本实施例可默认填色触发操作在确定当前填色块之前预先对目标图像进行的分块划分操作,且所划分形成图像块的尺寸信息可以根据预先针对内存中缓存块设置的缓存块尺寸以及数量来确定。
S202、解析所述填色触发操作的操作数据,获得所述填色触发操作的操作类型。
在本实施例中,S202至S204给出了图像块中当前填色块的具体确定过程,本步骤主要实现了填色触发操作所对应操作数据的解析,可以知道的是,用户在交互智能平板上通过手指、触控笔或外置设备进行填充触发操作后,相应生成了该填充触发操作对应的操作数据,所述操作数据中可以包括所述填充触发操作的操作类型,以及在所述操作类型下所产生各操作点的坐标位置信息等。本步骤可以获取到解析所述操作数据后包含的操作类型。
S203、确定所述目标图像在所述操作类型下对应的选中像素点。
在本实施例中,可预先设定采用不同操作类型进行填充触发操作时所对应选中像素点的确定规则,示例性地,所述操作类型可以包括在目标图像上的点击、双击、滑动以及区域选定等,当所述操作类型为点击或双击时,可认为填充触发操作在目标图像上对应的是一个像素点,由此可根据接收的操作数据中填充触发操作所对应像素点的坐标位置信息以将像素点作为选中像素点;当所述操作类型为滑动或区域选定时,可认为填充触发操作在目标图像上对应的是一组像素点,可根据接收的操作数据中填充触发操作所对应一组像素点的坐标位置信息确定一个中间像素点作为选中像素点。
S204、确定所述选中像素点在所述图像块集中所属的目标图像块,并将所述目标图像块作为初始的当前填色块。
在本实施例中,确定出选中像素点后,相当于获得了该选中像素点在目标图像中的坐标位置信息,本实施例对目标图像进行划分形成图像块时,相当于确定了每个图像块所包含各像素点的坐标位置信息,因此,本步骤可以根据获得的选中像素点的坐标位置系以及图像块集中每个图像块所包含像素点的坐标位置信息,确定出选中像素点属于那个图像块,本实施例记包含选中像素点的图像块为目标图像块,并将该目标图像块确定为初始的当前填色块。
S205、检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块。
需要说明的是,所选定的当前填色块可能为在此之前已被选中过作为当前填色块的图像块,且之前那次选中可能并未完成当前填色块中所有填色点的填色,因此后续可能会被再次选中作为当前填色块,本实施例中,若之前已被选中,则相当于之前已根据需要执行过像素点的回读操作,此种情况,则可忽略本步骤进行回读的操作,若当前是首次选中作为当前填色块,则可认为该图像块未执行过回读操作,由此可执行本步骤将像素点信息回读至内存中预先对应设定的缓存块的回读操作。
本步骤中检测当前填色块是否进行过回读的操作具体可以是检测该当前填色块在内存对应的缓存块中是否已包含有像素点信息,若已包含,则可认为已执行过回读操作,若未包含,及所对应的缓存块当前为空,则可认为未执行过回读操作。
本实施例下述S206至S212给出了当前填色块进行填色的具体实现过程。
S206、将从所述当前填色块中选定的起始像素点作为初始的当前填色点,并将所述当前填色点加入对应所述当前填色块的候选点集。
在本实施例中,选定当前填色块后,开始对该当前填色块进行填色时,需要基于本步骤先确定一个起始像素点作为该当前填色块中初始的当前填色点。所述起始像素点具体可理解为属于所述当前填色块的,预先确定出的对应该当前填色块进行填色时作为其实填色点的像素点。
可以理解的是,若该当前填色块为从图像块集中所选定初始的当前填色块,则可将上述确定出的选中像素点作为该当前填色块的起始填色点,此外,该起始像素点还可以是默认设置的处于当前填色块左上角起始位置的像素点,也可以是前一个当前填色块中像素点对应的溢出像素点,本实施例不限定所述起始像素点的确定方法。
示例性地,本步骤可以优选将上述默认设置的像素点作为起始像素点,并由此将该起始像素点作为初始的当前填色点,同时将当前填色点加入对应当前填色块形成的候选点集,其中,所述候选点集也相当于一个对应当前填色块预先设定的初始为空的集合,该集合中主要存放当前填色块中用来选为当前填色点的像素点。
S207、根据选定的目标填色信息对所述当前填色点进行填色。
在本实施例中,所述目标填色信息具体可理解为包含用户期望的填色后所显示色彩的信息,所述目标填色信息可以是RGB色彩模式下的一个色彩强度值,所述目标填色信息可以由用户预先选定,示例性地,可以在用户期望进行图像填色触发填色启动按钮使目标图像处于填色编辑模式后,弹出一个色彩选择框,以供用户在该色彩选择框中选定待填色的色彩强度值来作为本实施例的目标填色信息。具体地,本步骤可以根据用户预先选定的目标填色信息来替换中当前填色点原始具备的像素信息,以此来实现对当前填色点的填色。
需要说明的是,本实施例对当前填色块的填色为一个循环迭代的过程,需要不断从当前填色块中选取当前填色点进行填色,本实施例下述S3207至S211具体给出了当前填色块中确定后续当前填色点的确定过程.
S208、确定所述缓存块中与所述当前填色点邻接的溢出像素点,并将所述溢出像素点加入所述候选点集。
在本实施例中,替换上述当前填色点的像素值实现对当前填色点的填色后,需要从当前填色块中确定新的当前填色点,具体地,本步骤可以确定处于缓存块中与上述当前填色点邻接的邻接像素点,然后从各邻接像素点中确定能够作为新的当前填色点的溢出像素点,因此,所述溢出像素点为所述当前填色点的邻接像素点中满足一定筛选条件的像素点,本步骤要满足的筛选条件可以是该邻接像素点应该为之前未填色过的像素点,且该邻接像素点也应该为之前未被选中的有效像素点。
其中,所述溢出像素点为属于所述当前填色块、不具备已填标签且未包含与所述候选点集的有效像素点。
可以理解的是,在确定待填色的当前填色块的同时,基于现有的边界点的确定算法,可以确定出当前填色块中不能进行填色的无效像素点,与之对应的,可将当前填色块中能够进行填色的像素点称作有效像素点,本步骤进行溢出像素点确定时,首先要保证该溢出像素点为能够进行填色的有效像素点。此外,本步骤相对一个当前填色点可以确定出多个溢出填色点,本实施例可以将确定出的溢出填色点添加到候选点集中。
在本实施例中,根据上述描述可知加入候选点集的溢出像素点均为有效像素点,本实施例优选所述溢出像素点的判定首先是当前填色点的邻接像素点,且像素点需要满足其属于当前填色块,同时该像素点当前未包含在候选点集中,并且不具备已填标签。
图4给出了本申请实施例二中从当前填色块中确定溢出像素点的效果展示图,如图4所示,首先给出了一个当前填色块21,所给出的当前填色块21为尺寸大小为3*3的矩形,每个单元格代表当前填色块21中的一个像素点,假设第一像素点22为当前进行填色的当前像素点,则相对第一像素点22,可以确定出第二像素点23、第三像素点24、第四像素点25均为该第一像素点22的邻接像素点,但这些像素点中,第三像素点24具备已填标签,为一个已填像素点,第四像素点25采用符号“×”进行了标记,该标记表示第四像素点25为确定出的无效像素点,因此,相对第一像素点22的溢出像素点包括了第二像素点23,本实施例可将确定出的溢出像素点(第二像素点23)加入候选点集。
S209、对所述当前填色点设置已填标签,并从所述候选点集中删除所述当前填色点。
在本实施例中,采用上述步骤完成当前填色点的填色后,可以针对该当前填色点设定一个用来标记已完成该像素点填色的已填标签,并将该当前填色点从候选点集中删除。
S210、判定所述候选点集是否为空,若否,则执行S211;若是,则执行S212。
在本实施例中,所述候选点集是否空可以作为一个是否继续对当前填色块进行填色的判定条件,当候选点集为空时,可认为基于当前填色点选定的有效像素点均已完成了作为当前填色点后的填色操作,不再具备可以作为新的当前填色点的像素点,由此相当于完成了当前填色块的填色。当候选点集不为空时,表明当前填色块中还存在需要进行填色的像素点,由此需要执行S211的操作,来继续对当前填色块进行填色。
S211、从所述候选点集中选取一个溢出像素点作为新的当前填色点,并返回执行S207。
在本实施例中,候选点集中可能包含多个溢出像素点,此时需要从中选取一个溢出像素点作为新的当前填色点,本步骤优选将候选点集看作一个数据结构为队列形式的数据表,包含在其中的有效像素点则满足先进先出的原则,因此,本步骤进行新的当前填色点选取时,每次都可以最早加入候选点集的那个溢出像素点作为当前填色点。需要说明的是,本实施例不限定当前填色点的具体选择顺序,上述采用先进先出的选取仅作为一个优选方式来实现。
本步骤选取新的当前填色点后,就可以返回S207再次执行当前填色点的填色操作。
S212、结束所述当前填色块的填色。
可以理解的是,当判定当前填色块对应的候选点集为空时,相当于完成了当前填色块在此次填色操作中的填色,由此可执行本步骤的操作来接收该次循环下对该当前填色块的填色。
需要说明的是,本实施例下述S213至S215具体给出了由当前填色块的填色结果确定下一填色块的实现过程.
S213、监测到所述当前填色块填色结束后,确定预先获得的候选填色块集合是否为空,若否,则执行S214,若是,则执行S215。
根据上述描述,可知当前填色块的填色结果包括填色完成,以及在填色过程中确定的用于下一待填色块选定所需的候选填色集合,可以知道的是,所述候选填色块集合中包含的候选填色块在对当前填色块进行填色时确定。本步骤在监测到当前填色块的填色结束后,可以先判定一下预先获得的候选填色集合是否为空,并可在候选填色集合为空时,确定本实施例完成了对整个待填色区域的填色处理,由此可跳转至S215结束本实施例对填色块的填色操作;在候选填色集合不为空时,可确定目标图像中还存在需要填色的区域,由此可执行下述S214,继续进行填色处理。
进一步地,本实施例在对当前填色块进行填色时确定候选填色块集合所包含候选填色块的方式可以包括:监听所述当前填色块中的当前填色点;如果所述当前填色点为填色块边缘点,则获得所述填色块边缘点对应的溢出方向;从所述图像块集中确定与所述溢出方向关联的关联图像块,并当所述关联图像块符合集合加入条件时作为候选填色块加入所述候选填色块集合;返回执行当前填色点的监听操作,直至完成所述当前填色块的填色;其中,所述集合接入条件为:所述关联图像块中包含未填色点且当前未包含于所述候选填色块集合。
在本实施例中,根据上述描述,可以在上述对当前填色块进行填色时监听所选中的每个当前填色点,如果监听到所选定的当前填色点为当前填色块中的填色块边缘点,则可获得该填色块边缘点对应的溢出方向,其中,所述填色边缘点具体可理解为位于所在当前填色块的分块边上的像素点。
对于一个填色边缘点而言,其存在一个可以向其他图像块溢出的溢出方向,示例性地,假设该填色边缘点位于当前填色块的上边缘,则该填色边缘点的溢出方向为上。本实施例通过填色边缘点对应的溢出方向,结合当前填色块在目标图像中所处的位置,可以从图像块集中确定出当前填色块邻接的各邻接图像块,且可知当前填色块相对每个邻接图像块邻接方向,本实施例可将该溢出方向确定为当前填色块对应的其中一个邻接方向,并由此获得与该邻接方向关联的邻接图像块,本实施例记该邻接图像块为与该溢出方向关联的关联图像块。
可以知道的是,当关联图像块满足结合加入条件是,就可将该关联图像块加入在候选填色块集合中,其中,所述集合加入条件可以为:关联图像块中包含未填色点且当前未包含于所述候选填色块集合。
示例性地,图5给出了本申请实施例二中确定候选填色块的效果展示图。如图5所示,图中显示出了属于目标图像所对应图像块集的9块图像块(并为显示图像块集中的全部图像块),图中示例性地给出了所显示各图像块的分块编号,且从左至右,从上之下分别为编号①~⑨,图中假设分块编号⑤为当前填色块,则在对该当前填色块进行填色的过程中,结合其中包含的每个作为当前填色点的像素点,可以确定4个图像块来作为分块编号⑤对应的候选填色块,且4个候选填色块分别为:分块编号为②、④、⑥以及⑧的图像块。
S214、从所述候选填色块集合中选取一个候选填色块作为下一填色块,将所述下一填色块从所述候选填色块集合中删除,并将所述下一填色块作为新的当前填色块,返回执行S205。
在本实施例中,所述候选填色块集合相当于一个全局变量,可以在确定首个当前填色块时创建,之后针对每个当前填色块都可以确定出与之对应的候选填色块,因此,候选填色块集合中可能包含有多个候选填色块,同理,本实施例可以将候选填色块集合看作一个先进先出的队列,从而将先加入进去的候选填色块选做下一待填色块。
本实施例从候选填色块中确定了下一待填色块后,可以为该下一待填色块设置已选标签,并将该下一待填色块从候选填色块集合中删除。此外,本步骤相当于实现了当前填色块循环执行,从而通过多次循环结合一个缓存块实现目标图像中待填色区域的迭代填色。
S215、确定所述目标图像中不存在下一填色块,结束填色循环。
在本实施例中,结合上述判定条件,在确定候选填色块集为空时,可认为目标图像中已经不存在可继续进行填色操作的填色块,由此本实施例可以执行本步骤的操作确定目标图像中已经不存在下一填色块,从而可结束上面的填色循环。
S216、将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
示例性地,本实施例结束目标图像中图像块的填色操作后,可以将在缓存块中以进行了填色的各图像块的像素点信息全部写入在位于GPU的目标图像中,由此完成整个目标图像中可填色区域的填色。
本申请实施例二提供的一种图像填色方法,具体化了进行分块填色时所需的首个当前填色块的确定过程;还具体化了对当前填色块的填充过程,以及具体化了下一待填色块的确定过程。本实施例进一步优化的技术方案,能够缓存块中的一个像素点开始进行填色,并以设定规则确定溢出像素点作为之后的待填色点,通过该种方法遍历缓存块中的像素点最终实现当前填色块的有效填色,同时,本实施例还能够以设定规则基于当前填色块确定下一填色块,由此保证待填色区域的有效填色。本实施例上述技术方案,避免了待填色图像到内存全部回读,从而降低了填色过程的内存资源占用,实现了图像填色时内存的动态优化,进而降低了图像填色的填色时间,提高了图像填色的填色效率;同时分块填色的执行保证了每一轮填色都逐渐趋近最终填色结果,由此达到了提高界面交互度的效果。
实施例三
图6为本申请实施例三提供的一种图像填色装置的结构框图,该实施例适用于对图像进行填色处理的情况,该图像填色装置可以集成在图像填色设备中,该图像填色设备可以通过软件和/或硬件的方式实现,该图像填色设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,本实施例的图像处理设备可以是电脑,手机,平板或交互智能平板等。如图6所示,该装置包括:第一响应模块31、回读确定模块32、分块填色模块33以及循环确定模块34。
第一响应模块31,用于响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;
回读确定模块32,用于检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;
分块填色模块33,用于基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;
循环确定模块34,用于根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
本申请实施例三提供的一种图像填色装置,能够在对目标图像待填色的区域进行填色前考虑先对目标图像进行分块,并每次确定一个当前填色块并只基于当前填色块对应的缓存块进行填色,如此循环执行直至目标图像中需要填色的区域均完成填色。该种填色思想避免了在填色前将整个目标图像回读到内存,从而降低了填色过程的内存资源占用,实现了图像填色时内存的动态优化,进而降低了图像填色的填色时间,提高了图像填色的填色效率;同时本实施例所提供方法的执行保证了每一轮填色都逐渐趋近最终填色结果,由此达到了提高界面交互度的效果。
进一步地,第一响应模块31具体用于:响应于作用在目标图像上的填色触发操作,解析所述填色触发操作的操作数据,获得所述填色触发操作的操作类型;确定所述目标图像在所述操作类型下对应的选中像素点;确定所述选中像素点在所述图像块集中所属的目标图像块,并将所述目标图像块作为初始的当前填色块。
进一步地,分块填色模块33具体用于:将从所述当前填色块中选定的起始像素点作为初始的当前填色点,并将所述当前填色点加入对应所述当前填色块的候选点集;根据选定的目标填色信息对所述当前填色点进行填色;确定所述缓存块中与所述当前填色点邻接的溢出像素点,并将所述溢出像素点加入所述候选点集;对所述当前填色点设置已填标签,并从所述候选点集中删除所述当前填色点;从所述候选点集中选取一个溢出像素点作为新的当前填色点,返回执行当前填色点的填色操作操作,直至所述候选点集为空;其中,所述溢出像素点为属于所述当前填色块、不具备已填标签且未包含与所述候选点集的有效像素点。
进一步地,循环确定模块34包括:
第一确定单元,用于监测到所述当前填色块填色结束后,确定预先获得的候选填色块集合不为空时,从所述候选填色块集合中选取一个候选填色块作为下一待填色块,将所述下一待填色块从所述候选填色块集合中删除;
其中,所述候选填色块集合中包含的候选填色块在对当前填色块进行填色时确定。
在上述优化的基础上,循环确定模块34还包括:
第二确定单元,用于监测到所述当前填色块填色结束后,确定所述候选填色块集合为空,则确定所述目标图像中不存在下一填色块。
进一步地,在对当前填色块进行填色时确定候选填色块集合所包含候选填色块的方式包括:监听所述当前填色块中的当前填色点;如果所述当前填色点为填色块边缘点,则获得所述填色块边缘点对应的溢出方向;从所述图像块集中确定与所述溢出方向关联的关联图像块,并当所述关联图像块符合集合加入条件时作为候选填色块加入所述候选填色块集合;返回执行当前填色点的监听操作,直至完成所述当前填色块的填色;其中,所述集合接入条件为:所述关联图像块中包含未填色点且当前未包含于所述候选填色块集合。
进一步地,该装置还包括:
填色写入模块,用于在确定所述目标图像中不存在下一填色块之后,将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
本实施例提供的一种图像填色装置可以用于执行上述任意实施例提供的图像填色方法,具备相应的功能和有益效果。
实施例三
图7为本申请实施例四提供了一种图像填色设备的结构示意图。如图7所示,图像填色设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个图像填色设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行图像填色设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(RandomAccess Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及交互智能设备的操作应用程序。在图7所示的图像填色设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的交互智能设备的操作应用程序,并具体执行以下操作:
响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
进一步地,在确定所述目标图像中不存在下一填色块之后,还包括:
将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
本申请实施例三提供的一种交互智能设备执行上述实施例一和实施例二提供的图像填色方法时,具备与该图像填色方法相应的功能和有益效果。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图像填色方法,包括:
响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述图像填色方法的操作,还可以执行本申请任意实施例所提供的图像填色方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本申请任意实施例所述的图像填色方法。
值得注意的是,上述图像填色装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种图像填色方法,其特征在于,包括:
响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;
检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;
基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;
根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标图像对应的图像块集中确定初始的当前填色块,包括:
解析所述填色触发操作的操作数据,获得所述填色触发操作的操作类型;
确定所述目标图像在所述操作类型下对应的选中像素点;
确定所述选中像素点在所述图像块集中所属的目标图像块,并将所述目标图像块作为初始的当前填色块。
3.根据权利要求1所述的方法,其特征在于,所述基于所述缓存块中各像素点对所述当前填色块进行填色,包括:
将从所述当前填色块中选定的起始像素点作为初始的当前填色点,并将所述当前填色点加入对应所述当前填色块的候选点集;
根据选定的目标填色信息对所述当前填色点进行填色;
确定所述缓存块中与所述当前填色点邻接的溢出像素点,并将所述溢出像素点加入所述候选点集;
对所述当前填色点设置已填标签,并从所述候选点集中删除所述当前填色点;
从所述候选点集中选取一个溢出像素点作为新的当前填色点,返回执行当前填色点的填色操作操作,直至所述候选点集为空;
其中,所述溢出像素点为属于所述当前填色块、不具备已填标签且未包含与所述候选点集的有效像素点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前填色块的填色结果确定下一填色块,包括:
监测到所述当前填色块填色结束后,确定预先获得的候选填色块集合不为空时,从所述候选填色块集合中选取一个候选填色块作为下一待填色块,将所述下一待填色块从所述候选填色块集合中删除;
其中,所述候选填色块集合中包含的候选填色块在对当前填色块进行填色时确定。
5.根据权利要求4所述的方法,其特征在于,监测到所述当前填色块填色结束后,还包括:
确定所述候选填色块集合为空,则确定所述目标图像中不存在下一填色块。
6.根据权利要求4所述的方法,其特征在于,在对当前填色块进行填色时确定候选填色块集合所包含候选填色块的方式包括:
监听所述当前填色块中的当前填色点;
如果所述当前填色点为填色块边缘点,则获得所述填色块边缘点对应的溢出方向;
从所述图像块集中确定与所述溢出方向关联的关联图像块,并当所述关联图像块符合集合加入条件时作为候选填色块加入所述候选填色块集合;
返回执行当前填色点的监听操作,直至完成所述当前填色块的填色;
其中,集合接入条件为:所述关联图像块中包含未填色点且当前未包含于所述候选填色块集合。
7.根据权利要求1-6任一项所述的方法,其特征在于,在确定所述目标图像中不存在下一填色块之后,还包括:
将内存中各缓存块所包含像素点的当前像素点信息分别写入所述目标图像中对应的各图像块,完成图像填色。
8.一种图像填色装置,其特征在于,包括:
第一响应模块,用于响应于作用在目标图像上的填色触发操作,从所述目标图像对应的图像块集中确定初始的当前填色块,其中,所述图像块集中包含按照设定尺寸划分所述目标图像后形成的各图像块;
回读确定模块,用于检测到所确定当前填色块未执行过回读操作时,将所述当前填色块中各像素点回读至预先在内存中对应设定的缓存块;
分块填色模块,用于基于所述当前填色块所对应缓存块中各像素点,对所述当前填色块进行填色;
循环确定模块,用于根据所述当前填色块的填色结果确定下一填色块,将所述下一填色块作为新的当前填色块,并返回执行当前填色块的回读检测操作,直至确定所述目标图像中不存在下一填色块。
9.一种图像填色设备,其特征在于,存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的图像填色方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的图像填色方法。
CN201910829545.6A 2019-09-03 2019-09-03 一种图像填色方法、装置、设备及存储介质 Active CN110533742B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910829545.6A CN110533742B (zh) 2019-09-03 2019-09-03 一种图像填色方法、装置、设备及存储介质
PCT/CN2019/123244 WO2021042607A1 (zh) 2019-09-03 2019-12-05 一种图像填色方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910829545.6A CN110533742B (zh) 2019-09-03 2019-09-03 一种图像填色方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110533742A CN110533742A (zh) 2019-12-03
CN110533742B true CN110533742B (zh) 2021-05-11

Family

ID=68666493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910829545.6A Active CN110533742B (zh) 2019-09-03 2019-09-03 一种图像填色方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110533742B (zh)
WO (1) WO2021042607A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533742B (zh) * 2019-09-03 2021-05-11 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650820A (zh) * 2009-09-24 2010-02-17 浙江大学 基于多核架构的大图像实时浏览方法
CN101739704A (zh) * 2008-11-21 2010-06-16 台达电子工业股份有限公司 多边形快速填色方法
CN104268169A (zh) * 2014-09-11 2015-01-07 浙江中测新图地理信息技术有限公司 一种基于ps软件的遥感影像数据快速处理方法
CN104599257A (zh) * 2013-10-30 2015-05-06 重庆伟渡医疗设备股份有限公司 一种图像融合显示方法
CN105233498A (zh) * 2015-09-23 2016-01-13 网易(杭州)网络有限公司 游戏角色染色方法、装置、用户终端及游戏系统
CN105528758A (zh) * 2016-01-12 2016-04-27 武汉精测电子技术股份有限公司 基于可编程逻辑器件的图像重映射方法及装置
CN107341774A (zh) * 2017-06-16 2017-11-10 广东欧珀移动通信有限公司 人脸图像美颜处理方法及装置
CN107507260A (zh) * 2016-09-04 2017-12-22 广东小天才科技有限公司 一种基于动画的填图处理方法及装置、终端设备
CN107945098A (zh) * 2017-11-24 2018-04-20 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
CN108334879A (zh) * 2018-02-11 2018-07-27 深圳市朗驰欣创科技股份有限公司 一种区域提取方法、系统及终端设备
CN109448078A (zh) * 2018-10-19 2019-03-08 珠海金山网络游戏科技有限公司 一种图像编辑系统、方法及设备
CN109636714A (zh) * 2018-08-30 2019-04-16 沈阳聚声医疗系统有限公司 一种超声宽景成像的图像拼接方法
CN109741421A (zh) * 2019-01-23 2019-05-10 东北大学 一种基于gpu的动态图着色方法
CN109902059A (zh) * 2019-02-28 2019-06-18 苏州浪潮智能科技有限公司 一种cpu与gpu之间的数据传输方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299277B (zh) * 2008-06-25 2011-04-06 北京中星微电子有限公司 一种黑白图像彩色化处理的方法和系统
US9483815B2 (en) * 2013-10-23 2016-11-01 Cornell University Systems and methods for computational lighting
CN104766082B (zh) * 2015-03-20 2018-08-14 福建天晴数码有限公司 基于安卓系统的图像识别方法和装置
CN104765614B (zh) * 2015-04-24 2018-04-10 广东小天才科技有限公司 填色处理方法及装置
US10062191B2 (en) * 2016-03-28 2018-08-28 Nurulize, Inc. System and method for rendering points without gaps
CN108304069B (zh) * 2018-01-31 2019-10-18 京东方科技集团股份有限公司 基于脑电信号的图像处理方法及系统
CN109934886B (zh) * 2019-03-07 2023-06-02 广州视源电子科技股份有限公司 图形的填充方法、装置及交互智能设备
CN110533742B (zh) * 2019-09-03 2021-05-11 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739704A (zh) * 2008-11-21 2010-06-16 台达电子工业股份有限公司 多边形快速填色方法
CN101650820A (zh) * 2009-09-24 2010-02-17 浙江大学 基于多核架构的大图像实时浏览方法
CN104599257A (zh) * 2013-10-30 2015-05-06 重庆伟渡医疗设备股份有限公司 一种图像融合显示方法
CN104268169A (zh) * 2014-09-11 2015-01-07 浙江中测新图地理信息技术有限公司 一种基于ps软件的遥感影像数据快速处理方法
CN105233498A (zh) * 2015-09-23 2016-01-13 网易(杭州)网络有限公司 游戏角色染色方法、装置、用户终端及游戏系统
CN105528758A (zh) * 2016-01-12 2016-04-27 武汉精测电子技术股份有限公司 基于可编程逻辑器件的图像重映射方法及装置
CN107507260A (zh) * 2016-09-04 2017-12-22 广东小天才科技有限公司 一种基于动画的填图处理方法及装置、终端设备
CN107341774A (zh) * 2017-06-16 2017-11-10 广东欧珀移动通信有限公司 人脸图像美颜处理方法及装置
CN107945098A (zh) * 2017-11-24 2018-04-20 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
CN108334879A (zh) * 2018-02-11 2018-07-27 深圳市朗驰欣创科技股份有限公司 一种区域提取方法、系统及终端设备
CN109636714A (zh) * 2018-08-30 2019-04-16 沈阳聚声医疗系统有限公司 一种超声宽景成像的图像拼接方法
CN109448078A (zh) * 2018-10-19 2019-03-08 珠海金山网络游戏科技有限公司 一种图像编辑系统、方法及设备
CN109741421A (zh) * 2019-01-23 2019-05-10 东北大学 一种基于gpu的动态图着色方法
CN109902059A (zh) * 2019-02-28 2019-06-18 苏州浪潮智能科技有限公司 一种cpu与gpu之间的数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Digital design of a dedicated graphics processing unit (GPU) architecture for microcontrollers;Saad Zafar等;《IEEE Xplore》;20140908;第1-7页 *
超大图像分割技术及在医学图像中应用研究;刘平刚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110515;第2011年卷(第05期);第I138-1029页 *

Also Published As

Publication number Publication date
WO2021042607A1 (zh) 2021-03-11
CN110533742A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN105843494B (zh) 一种实现区域屏幕截图的方法、装置和终端
KR20200027004A (ko) 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기
EP2464093B1 (en) Image file generation device, image processing device, image file generation method, and image processing method
CN111770288B (zh) 视频编辑方法、装置、终端及存储介质
CN111443863A (zh) 页面操控方法、装置、存储介质及终端
KR20150038518A (ko) 사진을 이용한 운영체제 색상 세팅
CN109146991B (zh) 一种图片格式转换方法、装置、设备和存储介质
CN112099686B (zh) 图标显示控制方法、装置和电子设备
CN107943363B (zh) 背景图像的配置方法及装置、交互智能平板及存储介质
CN109324722B (zh) 思维导图的节点添加方法、装置、设备及存储介质
US20220417417A1 (en) Content Operation Method and Device, Terminal, and Storage Medium
CN110928614B (zh) 界面显示方法、装置、设备及存储介质
WO2015184736A1 (zh) 一种触屏设备背景图变换的方法及终端
CN107133909B (zh) 一种着色器重组的方法及装置
CN106033334B (zh) 绘制界面元素的方法和装置
WO2017215542A1 (zh) 展示图片的方法及装置
CN111450529A (zh) 游戏地图的获取方法、装置、存储介质及电子装置
CN110533742B (zh) 一种图像填色方法、装置、设备及存储介质
CN107391148B (zh) 视图元素保存方法、装置、电子设备及计算机存储介质
CN106998489B (zh) 一种焦点越界搜索方法及装置
CN112783595A (zh) 交互书写的显示方法、装置及电子设备
CN110618975A (zh) 图像分享方法、装置以及电子设备
US9483171B1 (en) Low latency touch input rendering
US20120042268A1 (en) Processing user interfaces
CN111273826A (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