CN114445819A - 一种字符过滤处理方法、系统、电子设备及存储介质 - Google Patents
一种字符过滤处理方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114445819A CN114445819A CN202011117974.XA CN202011117974A CN114445819A CN 114445819 A CN114445819 A CN 114445819A CN 202011117974 A CN202011117974 A CN 202011117974A CN 114445819 A CN114445819 A CN 114445819A
- Authority
- CN
- China
- Prior art keywords
- character
- image block
- filter
- function
- filtering processing
- 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.)
- Pending
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 96
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 title abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000005520 cutting process Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 95
- 230000008569 process Effects 0.000 claims description 22
- 238000004140 cleaning Methods 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000000712 assembly Effects 0.000 abstract description 2
- 238000000429 assembly Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 3
- 238000011423 initialization method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种字符过滤处理方法、系统、电子设备及存储介质,方法包括:对待过滤处理资源进行切割,获得切割后的每一个图像块;构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。本申请实施例能够将待过滤资源切割为图像块,并且利用字符过滤器组件批量对图像块进行处理,在实现对待过滤资源进行过滤处理的同时,还能够提高过滤处理的效率。
Description
技术领域
本申请涉及字符处理领域,尤其涉及一种字符过滤处理方法、系统、电子设备及存储介质。
背景技术
字符过滤是很多图片、视频、文件处理的基础,甚至还是发送弹幕的基础,很多是否对字符像素的显示都需要进行字符过滤,字符过滤可以实现更多的文字、视频、音频文件等各种各样的效果。
字符过滤通常利用字符过滤器完成,传统的字符过滤器借助第三方且是一个黑匣子操作,每一次只能对一个字符进行过滤处理,效率低下;并且一旦黑匣子内的程序固定,只能对特定格式的资源进行字符过滤。
发明内容
本申请实施例提供了一种字符过滤处理方法、系统、电子设备及存储介质,用于对不同格式的资源进行批量字符过滤处理,提高字符过滤效率。
本申请实施例的第一方面提供了一种字符过滤处理方法,包括:
对待过滤处理资源进行切割,获得切割后的每一个图像块;
构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;
通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
在一种可能的实施例中,所述对待过滤处理资源进行切割,获得切割后的每一个图像块包括:设置每一个图像块的区域大小;按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块。
在一种可能的实施例中,所述设置每一个图像块的区域大小包括:设置一个变量定义一个宽度值,所述宽度值为浮点型,其中,所述高度值与所述宽度值相同,构成图像块的区域大小;所述按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块包括:获取所述待过滤处理资源的每一个像素点的坐标值;根据每一个像素点的坐标值和宽度值,得到切割后的每一个图像块的纹理二维坐标值,所述纹理二维坐标值表示对应的图像块,其中,一个图像块为一个字符。
在一种可能的实施例中,还包括:对于每一个图像块,获取所述图像块的中心像素点坐标;获取所述图像块的中心像素点的亮度值,并将所述图像块区域的中心像素点的亮度值作为所述图像块的亮度值。
在一种可能的实施例中,所述构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器包括:利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器。
在一种可能的实施例中,每一个所述字符过滤器通过如下方式对每一个字符进行过滤处理:在类CharFilter中定义一初始化的init方法,在初始化init方法中创建同步处理队列SynchronousQueue;在同步处理队列SynchronousQueue中执行对字符的过滤处理:其中,所述在同步处理队列SynchronousQueue中执行对字符的过滤处理包括:通过NSBundle mainBundle方法获取相关文件夹,所述相关文件夹中存储字符纹理,使用pathForResource方法加载字符纹理,得到字符纹理路径textPath;使用textLoader函数调用txtWithContentsOfFile函数根据字符纹理路径去加载字符纹理数据;调用render函数对加载的字符纹理数据进行渲染,其中,向render函数中传入字符的纹理二维坐标。
在一种可能的实施例中,所述调用render函数对加载的字符纹理数据进行渲染包括:判断字符纹理的显示变量,如果显示变量为是,则设置所述字符纹理的过滤属性;调用buffForSize方法获取所述字符纹理的缓存,调用颜色清理函数clearColor,向颜色清理函数clearColor传入字符纹理数据的RGBA通道数据,完成对字符纹理数据的清理;调用bgCear函数对背景进行清理。
在一种可能的实施例中,所述利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器包括:在CharFilterGroup类中创建一个初始化init方法,在初始化init方法中调用super init方法获取字符过滤器CharFilter;调用CharFilter的分配内存函数alloc,再调用init方法对字符过滤器进行初始化,创建了字符串过滤器charImgFilter;使用addFil函数将创建的各个字符串过滤器charImgFilter添加到当前的CharFilterGroup类中;添加完毕之后对字符串过滤器使用initialFilters进行初始化,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,完成字符过滤器组件的构建。
本申请第二方面提供了一种字符过滤处理系统,包括:
切割模块,用于对待过滤处理资源进行切割,获得切割后的每一个图像块;
构建模块,用于构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;
过滤模块,用于通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
本申请第三方面提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如上述任意一项所述的字符过滤处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如上述任意一项所述的字符过滤处理方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:对待过滤处理资源进行切割,获得切割后的每一个图像块;构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。本申请实施例对于不同的资源,比如,图片、视频、gif图等,通过切割为图像块,以图像块为单位,对资源进行字符过滤,且利用字符过滤器组件对字符进行批量过滤处理,提高字符过滤效率。
附图说明
图1为本申请实施例提供的一种可能的字符过滤处理方法的流程图;
图2为本申请实施例提供的一种可能的字符过滤处理系统的结构示意图;
图3为本申请实施例提供的一种可能的电子设备的硬件结构示意图;
图4为本申请实施例提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
本申请实施例提供了一种视图对象的显示方法及相关装置,用于使视图对象的显示更加灵活且自动化。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,为本申请实施例提供的一种字符过滤处理方法的流程图,具体包括:
101、对待过滤处理资源进行切割,获得切割后的每一个图像块。
可以理解的是,传统的技术方案中,对资源的字符过滤只能针对一种特定的资源进行字符处理,而且在字符过滤处理中,只能对单个字符进行处理,处理效率比较慢。基于此,本申请实施例提供了一种字符过滤处理方法,能够批量快速过滤处理各种不同的资源。
对于不同格式的待过滤处理资源,比如图片、视频、gif图片等不同格式的资源,将待过滤处理资源进行切割,切割成多个图像块,后续的过滤处理的单位即为图像块,一个图像块也可以称为一个字符。将各种不同格式的资源切割为图像块单位,对图像块进行字符过滤,能够实现对不同资源的字符过滤处理。
102、构建字符过滤器组件,以及定义字符过滤器组件中包含的多个字符过滤器。
可以理解的是,对待过滤处理资源进行过滤处理时,定义字符过滤器组件,其中,一个字符过滤器组件中包括多个字符过滤器。在本申请实施例中,利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器。
一个字符过滤器能够对一个字符进行过滤处理,那么每一个字符过滤器组件能够通过时过滤处理过个字符,提高了字符过滤处理的效率。
103、通过字符过滤器组件对图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
可以理解的是,字符过滤器组件中包括多个字符过滤器,一个字符过滤器能够过滤处理一个字符,因此,利用字符过滤器组件能够对多个图像块进行批量过滤处理,提高各种不同资源字符处理的效率。
在一种可能的实施例方式中,对待过滤处理资源进行切割,获得切割后的每一个图像块包括:设置每一个图像块的区域大小;按照设置的每一个图像块的区域大小,将待过滤处理资源切割为大小相等的多个图像块。
可以理解的是,对于待过滤资源,可对待过滤资源进行切割,将其切割为不同的小图像块。其中,切割后的图像块的大小可以相同,也可以不同。本申请实施例将待过滤处理资源切割为大小相同的图像块。其中,可以设置一个变量,并在变量中定义一个宽度值,这个宽度值设置为浮点数width=10,将高度值设置为与宽度值相同。以宽度值和高度值作为一个区域对待过滤资源进行切割,切割后形成各个图像块,其中,切割后的一个图像块即为一个字符,后续以字符为单位,对待过滤资源进行过滤处理。
在一种可能的实施例方式中,按照设置的每一个图像块的区域大小,将待过滤处理资源切割为大小相等的多个图像块包括:获取待过滤处理资源的每一个像素点的坐标值;根据每一个像素点的坐标值和宽度值,得到切割后的每一个图像块的纹理二维坐标值,所述纹理二维坐标值表示对应的图像块,其中,一个图像块为一个字符。
可以理解的是,首先获取待过滤处理资源的每一个像素点的坐标值coordinate,然后通过mod函数来获得每一个图像块的纹理二维坐标值。其中,mod函数为mod:(CGPoint)coordinate,mod是函数的名字,CGPoint函数参coordinate的类型,coordinate为图像块中每一个像素点的坐标值。
向mod函数中输入每一个像素点的坐标值coordinate,即可得到每一个图像块的纹理二维坐标值,纹理二维坐标值表示图像块在待过滤资源中的位置,也就是将图像块从待过滤处理资源中切割出来,这样就完成了待过滤处理资源的切割过程。
在一种可能的实施方式中,还包括:对于每一个图像块,获取图像块的中心像素点坐标;获取图像块的中心像素点的亮度值,并将所述图像块区域的中心像素点的亮度值作为所述图像块的亮度值。
可以理解的是,对于通过mod函数切割后的图像块,也就是字符,对于每一个图像块区域,通过texture方法获取图像块区域的中心像素点坐标midCo,并利用text2方法获取中心像素点的亮度值,将图像块区域的中心像素点的亮度值作为整个图像块的亮度值。其中,texture和text2方法均为功能函数,texture函数是获取中心像素点坐标,text2函数是获取中心像素点的亮度值。
texture:(CGPoint)coordinate,textture为函数名字,CGPoint函数参数的类型,coordinate是函数的参数;text2(CGPoint)coordinate,text2是函数的名字,CGPoint函数参数的类型,coordinate是函数的参数。
其中,通过mod函数来完成待过滤处理资源的图像块的切割,通过texture方法获取每一个图像块的中心像素点的坐标,以及通过text2方法获取中心像素点的亮度值,本申请实施例中只需编写函数方法,并向编写的函数方法中输入对应的参数,即可输出目标值。不用关心各种过程,只需向函数方法中输出参数即可,降低了对操作人员的专业要求,普适性更强。
在一种可能的实施方式中,每一个字符过滤器通过如下方式对每一个字符进行过滤处理:在类CharFilter中定义一初始化的init方法,在初始化init方法中创建同步处理队列SynchronousQueue;在同步处理队列SynchronousQueue中执行对字符的过滤处理。
其中,在同步处理队列SynchronousQueue中执行对字符的过滤处理包括:通过NSBundle mainBundle方法获取相关文件夹,相关文件夹中存储字符纹理,使用pathForResource方法加载字符纹理,得到字符纹理路径textPath;使用textLoader函数调用txtWithContentsOfFile函数根据字符纹理路径去加载字符纹理数据;调用render函数对加载的字符纹理数据进行渲染,其中,向render函数中传入字符的纹理二维坐标。其中,render函数为render:(CGPoint)coordinate,render为函数名称,主要实现对字符纹理数据的渲染,CGPoint为函数参数的类型,coordinate为函数参数。
可以理解的是,设计字符过滤器的过程为,设计一个类CharFilter,这个类有一个初始化的init方法,在这个初始化的方法里面创建一个同步处理队列SynchronousQueue,后续的初始化操作都在这个同步处理队列里面执行,在这个同步处理队列中执行字符过滤处理的操作步骤如下:
通过NSBundle mainBundle方法获取应用程序的相关文件夹,相关文件夹中存储有字符纹理,也就是上述的各个图像块,获取到相关文件夹之后就可以使用pathForResource方法加载字符纹理,加载完字符纹理之后得到字符纹理的路径textPath。如果这个textPath存在,则使用textLoader函数调用txtWithContentsOfFile函数去加载字符纹理数据,即字符纹理的具体内容。
对字符纹理数据的渲染会调用render函数,这个函数有一个参数,这一个参数是纹理二维坐标值,调用render函数即可对字符纹理数据进行渲染,也就是对字符进行过滤处理。
在一种可能的实施方式中,调用render函数对加载的字符纹理数据进行渲染包括:判断字符纹理的显示变量,如果显示变量为是,则设置所述字符纹理的过滤属性;调用buffForSize方法获取所述字符纹理的缓存,调用颜色清理函数clearColor,向颜色清理函数clearColor传入字符纹理数据的RGBA通道数据,完成对字符纹理数据的清理;调用bgCear函数对背景进行清理。
可以理解的是,rend函数的内部实现过程如下:首先判断纹理的显示变量,如果这个显示变量的值为YES,那么获取这个字符纹理,并设置该字符纹理的过滤属性。
创建一个缓存,调用buffForSize方法获取字符纹理的缓存frameBuff,缓存frameBuff获取之后,调用lock函数对frameBuff进行加锁。调用颜色清理函数clearColor,颜色清理函数clearColor需要传入多个参数,多个参数为字符纹理对应的RGBA通道,即红色、绿色、颜色、透明多个通道。完成了通道的清理之后,需要对背景进行清理,对背景进行清理的函数是bgCear函数,传入的参数为背景的位图信息,然后对字符纹理的缓存frameBuff进行解锁。其中,clearColor的函数为clearColor:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha,red为红色通道数据、green为绿色通道数据、blue为蓝色通道数据、alpha为透明通道数据。
本申请实施例通过上述的步骤构建了字符过滤器,字符过滤器可以有效的对字符进行过滤和处理,可以对颜色通道进行处理,在每一次资源进行显示时都会进行字符过滤,本步骤的对字符的处理可以加载多种格式资源,比如,图片、视频或者gif动图等,只需将资源切割为图像块之后,以图像块为单位,对每一个图像块,也就是字符进行过滤处理。
在一种可能的实施方式中,利用CharFilterGroup类构建字符过滤器组件,字符过滤器组件中包括多个字符过滤器包括:在CharFilterGroup类中创建一个初始化init方法,在初始化init方法中调用super init方法获取字符过滤器CharFilter;调用CharFilter的分配内存函数alloc,再调用init方法对字符过滤器进行初始化,创建了字符串过滤器charImgFilter;使用addFil函数将创建的各个字符串过滤器charImgFilter添加到当前的CharFilterGroup类中;添加完毕之后对字符串过滤器使用initialFilters进行初始化,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,完成字符过滤器组件的构建。
可以理解的是,构建一个字符过滤器组件charFilterGroup,这个字符过滤器组件需要一个初始化的方法init,在这个初始化init方法里面需要调用super init方法,通过调用super init方法获取字符过滤器CharFilter,调用CharFilter的分配内存函数alloc对各个字符过滤器CharFilter进行内存分配,再调用init方法来对字符过滤器进行初始化,这样就创建了一个字符串过滤器charImgFilter,使用addFil函数将各个字符串过滤器charImgFilter添加到当前的字符过滤器组件charFilterGroup类中,这样就完成了字符串过滤器charImgFilter的添加。添加完毕之后需要进行各个字符串过滤器的初始化,初始化的函数是initialFilters,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,即可完成字符过滤器组件的构建。
其中,一个字符串过滤器可对一个字符进行过滤处理,一个字符过滤器组件中包括多个字符串过滤器,那么一个字符过滤器组件即可同时对多个字符进行过滤处理,可实现对字符的批量过滤处理,提升了对字符过滤处理得效率。
最后利用字符过滤器组件对字符进行批量过滤处理,具体过程为,首先加载需要处理的资源,文件或者视频通过imageNamed方法加载,加载完毕之后就可以获得一个UIImage类型的资源。
创建一个GPUPicture类,使用GPUPicture类调用内存分配方法alloc,为资源分配内存,再调用初始化init方法来初始化这个对象,这样构建了一个字符过滤器组件filterG,为这个字符过滤器组件filterG添加字符过滤器,调用字符过滤器组件的processmage方法就可以完成字符的过滤,有了字符的过滤就可以进行其他的处理,对字符进一步组装加工完成其它的效果。
本申请实施例通过构建字符过滤器组件,并在字符过滤器组建中构建多个字符过滤器,一个字符过滤器可对一个字符进行过滤处理,那么一个字符过滤器组件即可批量对多个字符进行过滤处理,提升了对字符过滤处理的效率。
上面从字符过滤处理方法的角度对本申请实施例进行了描述,下面从字符过滤处理系统对本申请实施例进行描述。
请参阅图2,图2为本申请实施例提供的一种字符过滤处理系统的实施例示意图,其中,该系统具体包括:
切割模块201,用于对待过滤处理资源进行切割,获得切割后的每一个图像块;
构建模块202,用于构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;
过滤模块203,用于通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
请参阅图3,图3为本申请实施例提供的电子设备的实施例示意图。
如图3所示,本申请实施例提供了一种电子设备,包括存储器310、处理器320及存储在存储器320上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:对待过滤处理资源进行切割,获得切割后的每一个图像块;构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;通过字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
可选的,在一种可能的实施例中,所述处理器320具体用于:设置每一个图像块的区域大小;按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块。
可选的,在一种可能的实施例中,所述处理器320具体用于:设置一个变量定义一个宽度值,所述宽度值为浮点型,其中,所述高度值与所述宽度值相同,构成图像块的区域大小;还用于获取待过滤处理资源的每一个像素点的坐标值;根据每一个像素点的坐标值和宽度值,得到切割后的每一个图像块的纹理二维坐标值,所述纹理二维坐标值表示对应的图像块,其中,一个图像块为一个字符。
可选的,在一种可能的实施例中,所述处理器320具体用于:对于每一个图像块,获取所述图像块的中心像素点坐标;获取图像块的中心像素点的亮度值,并将所述图像块区域的中心像素点的亮度值作为所述图像块的亮度值。
可选的,在一种可能的实施例中,所述处理器320具体用于:利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器。
可选的,在一种可能的实施例中,所述处理器320具体用于:在类CharFilter中定义一初始化的init方法,在初始化init方法中创建同步处理队列SynchronousQueue;在同步处理队列SynchronousQueue中执行对字符的过滤处理;
其中,在同步处理队列SynchronousQueue中执行对字符的过滤处理包括:通过NSBundle mainBundle方法获取相关文件夹,所述相关文件夹中存储字符纹理,使用pathForResource方法加载字符纹理,得到字符纹理路径textPath;
使用textLoader函数调用txtWithContentsOfFile函数根据字符纹理路径去加载字符纹理数据;调用render函数对加载的字符纹理数据进行渲染,其中,向render函数中传入字符的纹理二维坐标。
可选的,在一种可能的实施例中,所述处理器320具体用于:判断字符纹理的显示变量,如果显示变量为是,则设置所述字符纹理的过滤属性;调用buffForSize方法获取所述字符纹理的缓存,调用颜色清理函数clearColor,向颜色清理函数clearColor传入字符纹理数据的RGBA通道数据,完成对字符纹理数据的清理;调用bgCear函数对背景进行清理。
在一种可能的实施例中,所述处理器320具体用于:在CharFilterGroup类中创建一个初始化init方法,在初始化init方法中调用super init方法获取字符过滤器CharFilter;调用CharFilter的分配内存函数alloc,再调用init方法对字符过滤器进行初始化,创建了字符串过滤器charImgFilter;使用addFil函数将创建的各个字符串过滤器charImgFilter添加到当前的CharFilterGroup类中;添加完毕之后对字符串过滤器使用initialFilters进行初始化,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,完成字符过滤器组件的构建。
请参阅图4,图4为本申请实施例提供的一种计算机可读存储介质的实施例示意图。
如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现如下步骤:对待过滤处理资源进行切割,获得切割后的每一个图像块;构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:设置每一个图像块的区域大小;按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时还用于实现如下步骤:设置一个变量定义一个宽度值,所述宽度值为浮点型,其中,所述高度值与所述宽度值相同,构成图像块的区域大小;按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块包括:获取待过滤处理资源的每一个像素点的坐标值;根据每一个像素点的坐标值和宽度值,得到切割后的每一个图像块的纹理二维坐标值,所述纹理二维坐标值表示对应的图像块,其中,一个图像块为一个字符。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:对于每一个图像块,获取所述图像块的中心像素点坐标;获取所述图像块的中心像素点的亮度值,并将所述图像块区域的中心像素点的亮度值作为所述图像块的亮度值。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:在类CharFilter中定义一初始化的init方法,在初始化init方法中创建同步处理队列SynchronousQueue;在同步处理队列SynchronousQueue中执行对字符的过滤处理:其中,所述在同步处理队列SynchronousQueue中执行对字符的过滤处理包括:通过NSBundle mainBundle方法获取相关文件夹,所述相关文件夹中存储字符纹理,使用pathForResource方法加载字符纹理,得到字符纹理路径textPath;使用textLoader函数调用txtWithContentsOfFile函数根据字符纹理路径去加载字符纹理数据;调用render函数对加载的字符纹理数据进行渲染,其中,向render函数中传入字符的纹理二维坐标。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:判断字符纹理的显示变量,如果显示变量为是,则设置所述字符纹理的过滤属性;调用buffForSize方法获取所述字符纹理的缓存,调用颜色清理函数clearColor,向颜色清理函数clearColor传入字符纹理数据的RGBA通道数据,完成对字符纹理数据的清理;调用bgCear函数对背景进行清理。
可选的,在一种可能的实施例中,该计算机程序411被处理器执行时具体用于实现如下步骤:在CharFilterGroup类中创建一个初始化init方法,在初始化init方法中调用super init方法获取字符过滤器CharFilter;调用CharFilter的分配内存函数alloc,再调用init方法对字符过滤器进行初始化,创建了字符串过滤器charImgFilter;使用addFil函数将创建的各个字符串过滤器charImgFilter添加到当前的CharFilterGroup类中;添加完毕之后对字符串过滤器使用initialFilters进行初始化,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,完成字符过滤器组件的构建。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (10)
1.一种字符过滤处理方法,其特征在于,包括:
对待过滤处理资源进行切割,获得切割后的每一个图像块;
构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;
通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
2.根据权利要求1所述的字符过滤处理方法,其特征在于,所述对待过滤处理资源进行切割,获得切割后的每一个图像块包括:
设置每一个图像块的区域大小;
按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块。
3.根据权利要求2所述的字符过滤处理方法,其特征在于,所述设置每一个图像块的区域大小包括:
设置一个变量定义一个宽度值,所述宽度值为浮点型,其中,所述高度值与所述宽度值相同,构成图像块的区域大小;
所述按照设置的每一个图像块的区域大小,将所述待过滤处理资源切割为大小相等的多个图像块包括:
获取所述待过滤处理资源的每一个像素点的坐标值;
根据每一个像素点的坐标值和宽度值,得到切割后的每一个图像块的纹理二维坐标值,所述纹理二维坐标值表示对应的图像块,其中,一个图像块为一个字符。
4.根据权利要求1-3任一项所述的字符过滤处理方法,其特征在于,还包括:
对于每一个图像块,获取所述图像块的中心像素点坐标;
获取所述图像块的中心像素点的亮度值,并将所述图像块区域的中心像素点的亮度值作为所述图像块的亮度值。
5.根据权利要求1所述的字符过滤处理方法,其特征在于,所述构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器包括:
利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器。
6.根据权利要求5所述的字符过滤处理方法,其特征在于,每一个所述字符过滤器通过如下方式对每一个字符进行过滤处理:
在类CharFilter中定义一初始化的init方法,在初始化init方法中创建同步处理队列SynchronousQueue;
在同步处理队列SynchronousQueue中执行对字符的过滤处理:
其中,所述在同步处理队列SynchronousQueue中执行对字符的过滤处理包括:
通过NSBundle mainBundle方法获取相关文件夹,所述相关文件夹中存储字符纹理,使用pathForResource方法加载字符纹理,得到字符纹理路径textPath;
使用textLoader函数调用txtWithContentsOfFile函数根据字符纹理路径去加载字符纹理数据;
调用render函数对加载的字符纹理数据进行渲染,其中,向render函数中传入字符的纹理二维坐标。
7.根据权利要求6所述的字符过滤方法,其特征在于,所述调用render函数对加载的字符纹理数据进行渲染包括:
判断字符纹理的显示变量,如果显示变量为是,则设置所述字符纹理的过滤属性;
调用buffForSize方法获取所述字符纹理的缓存,调用颜色清理函数clearColor,向颜色清理函数clearColor传入字符纹理数据的RGBA通道数据,完成对字符纹理数据的清理;
调用bgCear函数对背景进行清理。
8.根据权利要求1所述的字符过滤方法,其特征在于,所述利用CharFilterGroup类构建字符过滤器组件,并利用CharFilter类构建字符过滤器组件中的每一个字符过滤器包括:
在CharFilterGroup类中创建一个初始化init方法,在初始化init方法中调用superinit方法获取字符过滤器CharFilter;
调用CharFilter的分配内存函数alloc,再调用init方法对字符过滤器进行初始化,创建了字符串过滤器charImgFilter;
使用addFil函数将创建的各个字符串过滤器charImgFilter添加到当前的CharFilterGroup类中;
添加完毕之后对字符串过滤器使用initialFilters进行初始化,将字符串过滤器charImgFilter包装成一个数组,放入到initialFilters函数中,完成字符过滤器组件的构建。
9.一种字符过滤处理系统,其特征在于,包括:
切割模块,用于对待过滤处理资源进行切割,获得切割后的每一个图像块;
构建模块,用于构建字符过滤器组件,以及定义所述字符过滤器组件中包含的多个字符过滤器;
过滤模块,用于通过所述字符过滤器组件对所述图像块进行批量过滤处理,其中,每一个字符过滤器能够对一个字符进行过滤处理。
10.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-8任意一项所述的字符过滤处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011117974.XA CN114445819A (zh) | 2020-10-19 | 2020-10-19 | 一种字符过滤处理方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011117974.XA CN114445819A (zh) | 2020-10-19 | 2020-10-19 | 一种字符过滤处理方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114445819A true CN114445819A (zh) | 2022-05-06 |
Family
ID=81357580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011117974.XA Pending CN114445819A (zh) | 2020-10-19 | 2020-10-19 | 一种字符过滤处理方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114445819A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770576A (zh) * | 2008-12-31 | 2010-07-07 | 北京新岸线网络技术有限公司 | 字符提取方法和装置 |
WO2014166224A1 (zh) * | 2013-04-07 | 2014-10-16 | 小米科技有限责任公司 | 一种对图像进行空间滤波处理的方法和装置 |
CN104573683A (zh) * | 2013-10-21 | 2015-04-29 | 富士通株式会社 | 字符串识别方法和装置 |
CN109948616A (zh) * | 2019-03-26 | 2019-06-28 | 北京迈格威科技有限公司 | 图像检测方法、装置、电子设备及计算机可读存储介质 |
CN111143590A (zh) * | 2019-12-25 | 2020-05-12 | 上海云从企业发展有限公司 | 图像过滤方法、系统、设备及机器可读介质 |
CN111209721A (zh) * | 2018-11-16 | 2020-05-29 | 北京京东尚科信息技术有限公司 | 位图字体实现方法、装置、电子设备及存储介质 |
US10671878B1 (en) * | 2019-01-11 | 2020-06-02 | Capital One Services, Llc | Systems and methods for text localization and recognition in an image of a document |
-
2020
- 2020-10-19 CN CN202011117974.XA patent/CN114445819A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770576A (zh) * | 2008-12-31 | 2010-07-07 | 北京新岸线网络技术有限公司 | 字符提取方法和装置 |
WO2014166224A1 (zh) * | 2013-04-07 | 2014-10-16 | 小米科技有限责任公司 | 一种对图像进行空间滤波处理的方法和装置 |
CN104573683A (zh) * | 2013-10-21 | 2015-04-29 | 富士通株式会社 | 字符串识别方法和装置 |
CN111209721A (zh) * | 2018-11-16 | 2020-05-29 | 北京京东尚科信息技术有限公司 | 位图字体实现方法、装置、电子设备及存储介质 |
US10671878B1 (en) * | 2019-01-11 | 2020-06-02 | Capital One Services, Llc | Systems and methods for text localization and recognition in an image of a document |
CN109948616A (zh) * | 2019-03-26 | 2019-06-28 | 北京迈格威科技有限公司 | 图像检测方法、装置、电子设备及计算机可读存储介质 |
CN111143590A (zh) * | 2019-12-25 | 2020-05-12 | 上海云从企业发展有限公司 | 图像过滤方法、系统、设备及机器可读介质 |
Non-Patent Citations (3)
Title |
---|
RELFLY: "solr学习日记......文本分析-charfilter", pages 1 - 5, Retrieved from the Internet <URL:https://blog.csdn.net/qq_19656425/article/details/78963673> * |
我是属车的: "一种字符过滤处理方法", pages 1 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/b078109/article/details/101774151> * |
陈敏, 唐溢键, 周新志: "用SERVLET过滤器简化中文的输入和输出", 成都信息工程学院学报, no. 02, 30 June 2005 (2005-06-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3627318B1 (en) | Game rendering method and apparatus, terminal, and non-transitory computer-readable storage medium | |
CN106657757B (zh) | 一种相机应用的图像预览方法、装置及相机应用系统 | |
CN111080780A (zh) | 虚拟角色模型的边缘处理方法和装置 | |
CN107133909B (zh) | 一种着色器重组的方法及装置 | |
US9734551B1 (en) | Providing depth-of-field renderings | |
KR20130089649A (ko) | 3차원 이미지에서 컨텐츠를 검열하는 방법 및 장치 | |
CN108665475A (zh) | 神经网络训练、图像处理方法、装置、存储介质和电子设备 | |
CN107123077B (zh) | 对象的渲染方法和装置 | |
JP2022500792A (ja) | 画像処理方法及び装置、電子機器並びに記憶媒体 | |
CN106162303A (zh) | 信息处理方法、信息处理装置及用户设备 | |
CN113327316A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
CN116206038A (zh) | 一种渲染方法、装置、电子设备及存储介质 | |
CN109493376A (zh) | 图像处理方法和装置、存储介质及电子装置 | |
CN114510523A (zh) | 系统间的数据传输方法、装置、终端设备及介质 | |
CN113470153B (zh) | 虚拟场景的渲染方法、装置及电子设备 | |
CN106454101A (zh) | 一种图像处理方法和终端 | |
CN112489103B (zh) | 一种高分辨率深度图获取方法及系统 | |
CN104853059B (zh) | 超分辨率图像处理方法及其装置 | |
CN114445819A (zh) | 一种字符过滤处理方法、系统、电子设备及存储介质 | |
CN111562869B (zh) | 截图方法及装置、存储介质、电子装置 | |
CN105094821A (zh) | 一种用于确定被调用的应用的背景信息的方法和装置 | |
CN111369690A (zh) | 积木模型的生成方法、装置、终端和计算机可读存储介质 | |
CN117911444A (zh) | 一种基于边缘处理的抠图方法及系统 | |
CN110992242A (zh) | 一种消除透明图片水波纹的方法和装置 | |
CN116503263A (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 |