八月瓜首页 > 专利查询 > G06计算;推算;计数 >正文

一种图片主题色系智能提取方法及装置

基本信息

  • 申请号 CN202010594898.5 
  • 公开号 CN111488885A 
  • 申请日 2020/06/28 
  • 公开日 2020/08/04 
  • 申请人 成都四方伟业软件股份有限公司  
  • 优先权日期  
  • 发明人 查文宇 张艳清 韩威宏 李玮顾 徐祥 王国玉  
  • 主分类号 G06K9/34 
  • 申请人地址 610041 四川省成都市高新区科园三路4号1栋2层 
  • 分类号 G06K9/34;G06K9/46;G06K9/62;G06T7/90;G06T7/11;G06T7/194 
  • 专利代理机构  
  • 当前专利状态 发明专利申请公布 
  • 代理人  
  • 有效性 审查中-实审 
  • 法律状态 审查中-实审
  •  

摘要

本发明公开了一种图片主题色系智能提取方法及装置,通过统计各类别的像素个数,并按照像素个数从多到少进行排序,根据排序结果确定图片的背景色、文本色、辅助色和线条色。
当需要通过设计图或彩色图配置UE界面主题颜色时,此方法可以大幅度减少人工劳动力,缩短产品生产周期。
解决了现有方案需要人工提取主题设计,工作量较大且带有一定的主观性的问题。
避免了使用者还要使用第三方颜色提取工具提取各个主题颜色,然后还要在UE可视化设计界面进行颜色配置的繁琐过程。
展开

权利要求书


1.一种图片主题色系智能提取方法,其特征在于:包括以下步骤:S1、使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素;S2、计算步骤S1中背景像素的聚类中心点,该聚类中心点为原始图片的背景色;S3、将前景像素处理为文本部分和图像部分;S4、根据步骤S3的图像部分提取预设的图像色。
2.根据权利要求1所述的一种图片主题色系智能提取方法,其特征在于:所述步骤S1中使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素的方法为在RGB颜色空间中对图片所有像素进行KMeans聚类,将像素分成2个类别,其中像素数量最少的类别是前景像素,像素数量最多的类别是背景像素。
3.根据权利要求1所述的一种图片主题色系智能提取方法,其特征在于:还包括对原始图片使用光学字符识别引擎识别原始图片中的文本,得到已识别的文本及文本框边界,确定文本框在图片中的位置区域。
4.根据权利要求3所述的一种图片主题色系智能提取方法,其特征在于:步骤S3中将前景像素中位于文本框范围内的像素作为文本部分,前景像素中的其它像素作为图像部分。
5.根据权利要求3所述的一种图片主题色系智能提取方法,其特征在于:还包括识别文本色的方法:对每个文本框的边界进行扩大然后对文本框中的像素进行聚类,取聚类数量最少的像素的颜色作为该文本框的文字色,统计每种文字色对应的综合权重,选择综合权重最大的文字色作为最终的文本色。
6.根据权利要求1所述的一种图片主题色系智能提取方法,其特征在于:所述预设的图像色包括辅助色、高亮色、线条色中的至少一种颜色。
7.根据权利要求6所述的一种图片主题色系智能提取方法,其特征在于:所述辅助色的提取方法为:S401、将图像部分转换到HSB颜色空间,然后合并相似色;S402、利用ISOData聚类算法将图形区域内的像素分成N类;S403、在饱和度和明度维度统计各类的像素个数并从多到少排列类别,每个聚类中心点对应一种辅助色,一共得到N种辅助色。
8.根据权利要求7所述的一种图片主题色系智能提取方法,其特征在于:所述高亮色的提取方法为:S404、选择辅助色中像素数量最多的颜色,将该辅助色的饱和度和亮度设置为最大值的50%,得到高亮色。
9.根据权利要求6所述的一种图片主题色系智能提取方法,其特征在于:所述线条色的提取方法为:S405、对图片中图像部分进行灰度化和二值化处理,提取横线像素、纵线像素和轮廓线像素,然后遍历轮廓线像素的RGB值,计算轮廓线像素的RGB平均值,得到平均颜色作为线条色。
10.一种图片主题色系智能提取装置,其特征在于:包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令,实现如权利要求1所述的一种图片主题色系智能提取方法。
展开

说明书

技术领域
本发明涉及图像识别领域,特别涉及一种图片主题色系智能提取方法及装置。
背景技术
在计算机设计领域,经常需要提取已有图像的主图颜色来辅助进行设计,实现设计图主题颜色提取,需要实现的步骤有:第一步,打开图片颜色提取器,导入设计图。
第二步,确定要提取的主题,放大图片、移动鼠标,选中待截取区域,查看该区域的R、G、B颜色值。
第三步,依次选取图片中的背景、文本、线条及其他辅助色。
第四步,完成选取。
当设计图中可视化组件类型多样,颜色丰富时,使用第三方颜色提取工具进行设计图主题色系提取时,会产生颜色选取人员的主观性、人为误差。
提取完颜色数据后,还要在UE可视化设计界面进行相关配置,过程繁琐,可能要花费大量的时间才能完成配置。
发明内容
本发明的目的在于:提供了一种图片主题色系智能提取方法及装置,解决了现有方案需要人工提取主题设计,工作量较大且带有一定的主观性的问题。
本发明采用的技术方案如下:一种图片主题色系智能提取方法,包括以下步骤:S1、使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素;S2、计算步骤S1中背景像素的聚类中心点,该聚类中心点为原始图片的背景色;S3、将前景像素处理为文本部分和图像部分;S4、根据步骤S3的图像部分提取预设的图像色。
本方案提出一种使用聚类分析方法对图片像素分类方法,通过统计各类别的像素个数,并按照像素个数从多到少进行排序,根据排序结果确定图片的背景色、文本色、辅助色和线条色。
当需要通过设计图 或彩色图配置UE界面主题颜色时,此方法可以大幅度减少人工劳动力,缩短产品生产周期。
进一步的,所述步骤S1中使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素的方法为在RGB颜色空间中对图片所有像素进行KMeans聚类,将像素分成2个类别,其中像素数量最少的类别是前景像素,像素数量较最的类别是背景像素。
进一步的,还包括对原始图片使用光学字符识别引擎识别原始图片中的文本,得到已识别的文本及文本框边界,确定文本框在图片中的位置区域。
进一步的,步骤S3中将前景像素中位于文本框范围内的像素作为文本部分,前景像素中的其它像素作为图像部分。
进一步的,还包括识别文本色的方法:对每个文本框的边界进行扩大然后对文本框中的像素进行聚类,取聚类数量最少的像素的颜色作为该文本框的文字色,统计每种文字色对应的综合权重,选择综合权重最大的文字色作为最终的文本色。
进一步的,所述预设的图像色包括辅助色、高亮色、线条色中的至少一种颜色。
进一步的,所述辅助色的提取方法为:S401、将图像部分转换到HSB颜色空间,然后合并相似色;S402、利用ISOData聚类算法将图形区域内的像素分成N类;S403、在饱和度和明度维度统计各类的像素个数并从多到少排列类别,每个聚类中心点对应一种辅助色,一共得到N种辅助色。
进一步的,所述高亮色的提取方法为:S404、选择辅助色中像素数量最多的颜色,将该辅助色的饱和度和亮度设置为最大值的50%,得到高亮色。
进一步的,所述线条色的提取方法为:S405、对图片中图像部分进行灰度化和二值化处理,提取横线像素、纵线像素和轮廓线像素,然后遍历轮廓线像素的RGB值,计算轮廓线像素的RGB平均值,得到平均颜色作为线条色。
一种图片主题色系智能提取装置,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令,实现如上述的一种图片主题色系智能提取方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:1.本发明一种图片主题色系智能提取方法及装置,解决了现有方案需要人工提取主题设计,工作量较大且带有一定的主观性的问题;2.本发明一种图片主题色系智能提取方法及装置,可视化页面的主题颜色可以根据提取的设计图主题颜色进行自动配置,避免了使用者还要使用第三方颜色提取工具提取各个主题颜色,然后还要在UE可视化设计界面进行颜色配置的繁琐过程。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1是本发明的原始图片示意图;图2是本发明的背景色、文本色、线条色和高亮色的提取结果示意图;图3是本发明的辅助色的提取结果示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合图1至图3对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
OCR(Optical Character Recognition):光学字符识别,是指电子设备,例如扫描仪或数码相机,检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
Tesseract:一款开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后由Google进行改进、修改bug、优化,重新发布。
颜色空间:对色彩的一种描述方式,定义有很多种,区别在于面向不同的应用背景。
RGB颜色空间:基于物体发光定义的。
RGB正好对应光的三原色:R是红光Red,G是绿光Green,B是蓝光Blue。
HSB颜色空间:基于人视觉的直观反映提出的:H是色调Hue就是颜色名称如“红色”、“蓝色”;S是饱和度Saturation,即颜色的纯度;B是明度Brightness,即颜色的明亮程度。
聚类:一种寻找数据之间内在结构的技术。
聚类把全体数据实例组织成一些相似组,而这些相似组被称作簇。
处于相同簇中的数据实例彼此相同,处于不同簇中的实例彼此不同。
聚类分析:将数据对象的集合分组为由类似的对象组成的多个类的分析过程。
K-Means聚类算法:一种迭代求解的聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心,聚类中心以及分配给它们的对象就代表一个聚类。
每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。
这个过程将不断重复直到满足某个终止条件。
终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有或最小数目的聚类中心再发生变化,误差平方和局部最小。
ISODATA算法:在K-Means中,K的值需要预先人为地确定,并且在整个算法过程中无法更改。
而当遇到高维度、海量的数据集时,人们往往很难准确地估计出K的大小。
ISODATA就是针对这个问题进行了改进,它的思想也很直观:当属于某个类别的样本数过少时把这个类别去除,当属于某个类别的样本数过多、分散程度较大时把这个类别分为两个子类别。
图像灰度化:将彩色图像转化成为灰度图像的过程。
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0-255。
图像二值化:将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。
实施例1一种图片主题色系智能提取方法,包括以下步骤:S1、使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素;S2、计算步骤S1中背景像素的聚类中心点,该聚类中心点为原始图片的背景色;S3、将前景像素处理为文本部分和图像部分;S4、根据步骤S3的图像部分提取预设的图像色。
本方案提出一种使用聚类分析方法对图片像素分类方法,通过统计各类别的像素个数,并按照像素个数从多到少进行排序,根据排序结果确定图片的背景色、文本色、辅助色和线条色。
当需要通过设计图 或彩色图配置UE界面主题颜色时,此方法可以大幅度减少人工劳动力,缩短产品生产周期。
实施例2本实施例在实施例1的基础上进一步的,所述步骤S1中使用K-Means聚类对原始图片的像素进行前景背景分离得到前景像素和背景像素的方法为在RGB颜色空间中对图片所有像素进行KMeans聚类,将像素分成2个类别,其中像素数量最少的类别是前景像素,像素数量最多的类别是背景像素。
实施例3本实施例在实施例1的基础上进一步的,还包括对原始图片使用光学字符识别引擎识别原始图片中的文本,得到已识别的文本及文本框边界,确定文本框在图片中的位置区域。
进一步的,步骤S3中将前景像素中位于文本框范围内的像素作为文本部分,前景像素中的其它像素作为图像部分。
进一步的,还包括识别文本色的方法:对每个文本框的边界进行扩大然后对文本框中的像素进行聚类,取聚类数量最少的像素的颜色作为该文本框的文字色,统计每种文字色对应的综合权重,选择权重最大的文字色作为最终的文本色。
实施例4进一步的,所述预设的图像色包括辅助色、高亮色、线条色中的至少一种颜色。
进一步的,所述辅助色的提取方法为:S401、将图像部分转换到HSB颜色空间,然后合并相似色;S402、利用ISOData聚类算法将图形区域内的像素分成N类;S403、在饱和度和明度维度统计各类的像素个数并从多到少排列类别,每个聚类中心点对应一种辅助色,一共得到N种辅助色。
进一步的,所述高亮色的提取方法为:S404、选择辅助色中像素数量最多的颜色,将该辅助色的饱和度和亮度设置为最大值的50%,得到高亮色。
进一步的,所述线条色的提取方法为:S405、对图片中图像部分进行灰度化和二值化处理,提取横线像素、纵线像素和轮廓线像素,然后遍历轮廓线像素的RGB值,计算轮廓线像素的RGB平均值,得到平均颜色作为线条色。
实施例5一种图片主题色系智能提取装置,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令,实现如上述的一种图片主题色系智能提取方法。
实施例6本实施例一种应用本方法进行主题色提前的实例,原始图片如图1所示,使用聚类分析方法实现图片主题色系提取的步骤如下:第1步,识别文本的文本框边界:使用光学字符识别引擎Tesseract识别图1中的文本,得到已识别的文本及文本框边界。
剔除掉不是英文、数字和中文的识别结果。
此步骤完成后得到文本字符的文本框边界,即文本在图1中的位置区域。
第2步,图片前景背景分离:在RGB颜色空间中对图1的所有像素进行KMeans聚类,分成2个类别,其中像素数量少的是前景像素,像素数量多的是背景像素。
背景像素类别的聚类中心点的颜色为背景色。
通过剔除前景像素区域中的所有文本框的区域,得到图像部分。
此步骤完成后得到背景色和图像部分。
第3步,提取辅助色:将图像部分由RGB颜色空间转换到HSB颜色空间,然后合并相似色,再利用改进的ISOData聚类算法将图像部分的像素分成8类,并在饱和度和明度维度统计各类的像素的个数并从多到少排列类别,每个聚类中心点能得到一种辅助色,一共得到8种辅助色。
此步骤完成后得到辅助色。
第4步,提取高亮色:选择辅助色中像素数量最多的颜色,将该辅助色的饱和度和亮度设置为最大值的50%,得到高亮色。
此步骤完成后得到高亮色。
第5步,提取文本色:对每个文本框的边界进行扩大然后对文本框中的像素进行聚类,取数量少的作为文字色,取聚类数量少的像素的颜色作为该文本框的文字色,统计每种文字色对应的综合权重,选择综合权重最大的文字色作为最终的文本色。
其中综合权重包括文字个数、文本框个数、文字像素数等多个加权因子。
此步骤完成后得到文本色。
第6步,提取线条色:对图片中图形区域进行灰度化和二值化处理,提取横线、纵线和轮廓线,然后遍历轮廓线像素的颜色RGB值,计算RGB平均值,得到平均颜色。
此步骤完成后得到的RGB平均颜色即为线条色。
其中,背景色、文本色、线条色和高亮色的提取结果如图2所示,辅助色的提取结果如图3所示。
文本色及辅助色的提取代码为:// 文本色com.sefonsoft.tc.data.image.vo.Rectangle maxWeightWord =this.detectTextColor(wordRectangles, null);int[] textColorValues = null;if (maxWeightWord == null) {LOG.warn("detectTextColor 返回 maxWeightWord == null");} else {Stringtext=maxWeightWord.readProp("text");StringtextColor=maxWeightWord.readProp("textColor");Colorcolor=ColorTool.stringToColor(textColor);textColorValues=newint[]{color.getRed(),color.getGreen(),color.getBlue()};LOG.info("textColor="+textColor+"textColorValues="+Arrays.toString(textColorValues)+",text="+text);//文本色imageColors.setTextColor(textColor);BufferedImagemaxColorImage=ImageTool.drawRect(image,Collections.singletonList(maxWeightWord),null,null,"text");LOG.debug(fileName+"-1.1-maxColorText.jpg");ImageTool.writeImage(basePath+fileName+"-1.1-maxColorText.jpg",maxColorImage);}}//辅助色List<int[]>excludeColors=newArrayList<int[]>();excludeColors.add(newint[]{maxValue,maxValue,maxValue});MatminorColorMat;if(srcMat.width()<1000&&srcMat.height()<1000){minorColorMat=srcMat;LOG.info("使用原图提取辅助色");}else{minorColorMat=shapeMat;LOG.info("使用前景色图提取辅助色");}。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。
以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。
在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。
例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。
凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
因此,本发明的保护范围应所述以权利要求的保护范围为准。
展开

查看更多专利详情信息请先登录或注册会员

相关专利类别推荐

获取手机验证码,即可注册成为会员

专利详情咨询

咨询内容

姓名

手机

验证码

用户登录

手机号

手机验证码

提示

不能再减了!!!

提交成功

八月瓜客服中心已经收到您的信息,正在为您派遣知识产权顾问。知识产权顾问会携带贴心的服务以闪电搬的速度与您联系。

扫一扫关注八月瓜微信 创业一手掌握