一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于OpenGLES架构的图片处理方法与流程

2022-04-09 05:25:18 来源:中国专利 TAG:

一种基于opengl es架构的图片处理方法
技术领域
1.本发明涉及一种图片处理方法,尤其是在opengl es架构下对图片进行多图层多效果叠加的处理方法。


背景技术:

2.在传统的桌面级计算机或笔记本计算机,均配备有运算能力强大的图形处理器(gpu),并辅以有较大容量的显卡内存(亦称帧缓存),使得传统的计算机能处理数据量巨大的图形文件,可对图片进行编辑、不同滤镜风格的叠加等操作并以较快的速度完成渲染并显示到输出设备上。但在手机、平板等移动终端上,受限于终端设备的体积、重量、电池容量等条件限制,gpu的性能、功率均受到了限制,如将传统的opengl架构直接应用于移动终端上对图形信息进行处理,移动终端将难以完成数据处理。针对移动终端gpu的特点,现有技术一般采用opengl架构的一个es子集为移动终端提供图像处理的解决方案。
3.由于早期的移动终端屏幕尺寸不大、分辨率普遍不高,人们对移动终端显示的图片质量、色彩等要求不高,opengl es能满足单一效果或多种效果叠合在单一图层上的图片编辑。随着移动终端的尺寸逐步提升、以及移动应用程序(app)的丰富,人们在移动终端上进行拍照、修饰美化图片的场景也日益增多,对图片修饰美化效果的要求也逐步提升。但与之对应gpu的性能提升并不明显,尤其是目前在移动终端中广泛采用的基于advanced risc machine(arm)架构的系统级芯片(soc),gpu被整合至soc中且没有配置单独的帧缓存单元,限制了gpu对数据量较大的图像文件的处理能力。因此,如何在有限的gpu性能上实现更为丰富的图片修饰美化效果,成为了值得关注的一个研究方向。


技术实现要素:

4.本发明的目的在于针对移动终端的gpu性能特点和用户对移动终端图像处理的期待,提供一种基于opengl es架构对图片处理的方法,由以下技术方案实现:一种基于opengl es架构的图片处理方法,包括以下步骤:在opengl es架构中申请一份虚拟缓存空间;从储存器导入目标图片至虚拟缓存空间,使用边缘检测算法识别目标图片中的图像对象边界并抓取关键像素点,根据图像对象边界密度对目标图片进行分层生成多个分层边界组图;对多个分层边界组图进行rgb彩色图像分层,生成多个分层边界色彩组图和对应的多个分层边界色彩组图标签,并建立分层边界色彩组图与分层边界色彩组图标签的映射关系,多个分层边界色彩组图写入储存器中并从虚拟缓存空间内清除;在虚拟缓存空间中按照目标效果对分层边界色彩组图标签叠加目标纹理并渲染生成新的分层边界色彩组图标签,所述目标纹理数据通过映射关系写入储存器对应的分层边界色彩组图上叠加为新的分层边界色彩组图;重复上一步骤,直到多个目标纹理和多个分层边界色彩组图标签全部叠加完成。
5.根据叠加结果生成效果图片标签并渲染,渲染结果通过映射关系写入储存器中生成效果图片并输出至显示模块;清除储存器中多个分层边界色彩组图和虚拟缓存空间中多个分层边界色彩组图标签,在opengl es架构中关闭并释放虚拟缓存空间。
6.相较于现有技术,本发明的图片处理方法,通过利用opengl架构es子集的特性使移动终端能在运行内存(ram)中构建专属于图像处理的虚拟缓存,解决了移动终端gpu没有专属容量的帧缓存导致图像导致难以高效处理图像效果的技术问题,同时在虚拟缓存空间中使用包含关键像素点的组图标签作为渲染素材,减少了现有技术中需要使用原幅图片作为渲染素材而占用大量运存空间的缺陷,使得现有移动终端无需提升运存容量和gpu性能即可在终端中实现多图层多效果叠加的图片美化修饰效果,大大提升了用户使用移动终端进行图片编辑、图片美化的效率和质量,从而提升了用户体验。
7.进一步,所述步骤s2中边缘检测算法可以为canny边缘检测、sobel边缘检测、prewitt边缘检测或roberts边缘检测的一种或多种,经上述一种或多种边缘算法处理后生成多个具有相同关键像素点、不同图像对象边界密度的分层边界组图。
8.进一步,所述步骤s2中生成的多个分层边界组图具体为前景分层边界组图、人像分层边界组图和背景分层边界组图,。
9.进一步,所述步骤s3中进行rgb彩色图像分层具体分为二值分层边界色彩组图、红色分层边界色彩组图、绿色分层边界色彩组图和蓝色分层边界色彩组图。
10.进一步,所述步骤s3中建立的分层边界色彩组图标签包括了分层边界色彩组图的尺寸数据、关键像素点、图像对象边界。
11.进一步,所述步骤s3中建立的映射关系为所述尺寸数据、关键像素点、图像对象边界在分层边界色彩组图与多个分层边界色彩组图标签间的换算关系。
12.通过以上步骤,本发明申请可以实现基于opengl es架构占用最少ram资源对目标图片叠加目标纹理并生成效果图片。
13.在一个实施例中,根据效果图片的要求,叠加的目标纹理还可以为以下元素:所述目标纹理可以为所述分层边界色彩组图对应的清晰度、亮度、对比度、锐度、饱和度、色调、贴图、文字标签等元素中的一种或多种。
14.所述目标纹理可以为前述步骤中处理完毕的分层边界色彩组图标签中的一个或多个。
15.通过上述技术方案,本发明申请解决了在移动终端中难以完成多图层多效果的技术问题,实现多种不同效果的叠加在图片上的技术效果,进一步丰富用户可实现的图片美化效果。
16.在一个实施例中,根据用户的操作要求,完成纹理叠加和渲染的所述分层边缘色彩组图标签在gpu中完成纹理与分层边缘色彩组图的叠加并渲染到移动终端的显示模块向用户展示。
17.通过上述技术方案,本发明申请解决了用户在使用移动终端美化图片时不能按照意愿查看其中一部分图层渲染效果的技术问题,实现了便于及时调整纹理叠加的方式、数量、方位等参数,获得美化效果更好的图片的技术效果。
18.在一个实施例中,根据纹理和图层实际的叠加需要,当在所述步骤s4进行叠加的
目标纹理为抵消对应分层边界色彩组图标签时,删除叠加所述目标纹理后的分层边界色彩组图和对应标签,具体为在虚拟缓存空间中清除叠加所述目标纹理后的分层边界色彩组图标签、同时在储存器中清除该分层边界色彩组图。
19.通过上述技术方案,本发明申请解决了在渲染效果图片时需要叠加无效分层边界色彩组图标签和无效分层边界色彩组图的技术问题,实现了减少移动终端渲染效果图片所需处理的图层数和数据量的技术效果,提升移动终端美化图片的效率。
附图说明
20.图1是本发明的基于opengl es架构的图片处理方法的流程图。
具体实施方式
21.实施例1一种基于opengl es架构的图片处理方法,包括以下步骤:s111、在opengl es架构中申请一份虚拟缓存空间;s211、从储存器导入目标图片至虚拟缓存空间,使用roberts边缘检测和sobel边缘检测算法分别识别目标图片中的图像对象边界并抓取关键像素点,根据图像对象边界密度对目标图片进行分层生成人像分层边界组图和背景分层边界组图;s311、对前一步骤生成的人像分层边界组图和背景分层边界组图进行rgb彩色图像分层,生成对应的人像二值分层边界色彩组图、人像红色分层边界色彩组图、人像绿色分层边界色彩组图、人像蓝色分层边界色彩组图、背景二值分层边界色彩组图、背景红色分层边界色彩组图、背景绿色分层边界色彩组图和背景蓝色分层边界色彩组图;根据上述各组图的尺寸数据信息、关键像素点在组图中的坐标信息、图像对象边界在组图中的坐标信息在虚拟缓存空间中对应建立上述各组图标签,上述组图和组图标签之间建立尺寸数据、关键像素点、图像对象边界在各分层边界色彩组图与对应各分层边界色彩组图标签间的映射关系;随后将上述各组图写入储存器中保存并从虚拟缓存空间中清除,虚拟缓存空间仅保留上述各组图标签及映射关系;s411、在虚拟缓存空间中按照目标效果对人像二值分层边界色彩组图标签叠加对比度和亮度提升数据并在虚拟缓存空间中渲染生成新的人像二值分层边界色彩组图标签,所述对比度和亮度提升数据通过映射关系写入储存器对应的人像二值分层边界色彩组图并更新为对比度和亮度提升后的人像二值分层边界色彩组图;在虚拟缓存空间中按照目标效果对背景蓝色分层边界色彩组图标签叠加饱和度和锐度降低数据并在虚拟缓存空间中渲染生成新的背景蓝色分层边界色彩组图标签,所述饱和度和锐度降低数据通过映射关系写入储存器对应的背景蓝色分层边界色彩组图并更新为饱和度和锐度降低后的背景蓝色分层边界色彩组图;s511、根据效果图片的目标效果重复步骤s401对虚拟缓存空间中的各分层边界色彩组图标签进行叠加及渲染处理,并将渲染后结果通过映射关系写入到储存器中对应的分层边界色彩组图;s611、将步骤s501在虚拟缓存空间中完成叠加的各分层边界色彩组图标签进行叠加并渲染,渲染结果通过映射关系写入储存器中生成效果图片,同时将渲染结果输出至显
示模块;s711、清除储存器中各分层边界色彩组图和虚拟缓存空间中多个分层边界色彩组图标签,在opengl es架构中关闭并释放虚拟缓存空间。
22.其中,所述opengl es架构指在移动终端的ram(或运行内存)中正在运行的opengl es指令;所述虚拟缓存空间指在移动终端的ram(或运行内存)中建立的专属缓存字段,用于存放所需处理图片文件的数据;所述图像对象边界为图像中被所述边缘检测算法检测并标定为边缘的像素点集合;所述关键像素点包括灰度突变点、图片高宽比等分切割线交点、图片高宽比等分切割线与所述图像对象边界交点、不同边缘检测算法标记的图像对象边界的交点,以及上述各像素点的8邻域像素点;所述目标效果指用户期望目标图片达成的美化效果;所述叠加指关键像素点根据目标纹理对应的赋值进行修改的过程;通过以上步骤,本实施例可以实现在ram中占用较少的运存单元作为gpu帧缓存单元的虚拟缓存空间,并使用该虚拟缓存空间完成多图层多效果的叠加。
23.相较于现有技术,本发明的一种基于opengl es架构的图片处理方法,通过在虚拟缓存空间中使用边缘检测算法和rgb彩色图像分层生成各组图、建立对应的标签和映射关系,利用数据量小的组图标签进行纹理的叠加,大大减少了叠加和渲染过程中虚拟缓存空间所需的存储资源,使得在移动终端也能实现对图片进行多效果的叠加,满足用户随时随地需要美化修饰图片的需要。
24.实施例2实施例2为实施例1基础上的一种改进,主要针对目标纹理为图层时,包括以下步骤:s121、在opengl es架构中申请一份虚拟缓存空间;s221、从储存器导入目标图片至虚拟缓存空间,使用canny边缘检测算法识别目标图片中的图像对象边界并抓取关键像素点,根据图像对象边界密度对目标图片进行分层生成前景分层边界组图和背景分层边界组图;s321、对前一步骤生成的前景分层边界组图和背景分层边界组图进行rgb彩色图像分层,生成对应的前景二值分层边界色彩组图、前景红色分层边界色彩组图、前景绿色分层边界色彩组图、前景蓝色分层边界色彩组图、背景二值分层边界色彩组图、背景红色分层边界色彩组图、背景绿色分层边界色彩组图和背景蓝色分层边界色彩组图;根据上述各组图的尺寸数据信息、关键像素点在组图中的坐标信息、图像对象边界在组图中的坐标信息在虚拟缓存空间中对应建立上述各组图标签,上述组图和组图标签之间建立尺寸数据、关键像素点、图像对象边界在各分层边界色彩组图与对应各分层边界色彩组图标签间的映射关系;随后将上述各组图写入储存器中保存并从虚拟缓存空间中清除,虚拟缓存空间仅保留上述各组图标签及映射关系;s421、在虚拟缓存空间中按照目标效果对前景二值分层边界色彩组图标签叠加色调和亮度降低数据并在虚拟缓存空间中渲染生成新的前景二值分层边界色彩组图标签,所
述色调和亮度降低数据通过映射关系写入储存器对应的前景二值分层边界色彩组图并更新为色调和亮度降低后的前景二值分层边界色彩组图;在虚拟缓存空间中按照目标效果对背景蓝色分层边界色彩组图标签叠加清晰度和文字标签数据并在虚拟缓存空间中渲染生成新的背景蓝色分层边界色彩组图标签,所述清晰度和文字标签数据通过映射关系写入储存器对应的背景蓝色分层边界色彩组图并更新为叠加清晰度和文字标签后的背景蓝色分层边界色彩组图;s422、在虚拟缓存空间中按照目标效果对两个已添加目标纹理的组图标签进行叠加,具体为在虚拟缓存空间中的组图标签彼此添加对应的数据作为目标纹理,分别渲染生成新的组图标签,所述两个新的组图标签信息应为一致,所述两个新的复合组图标签数据通过映射关系写入储存器各自对应的组图并更新为复合组图,储存器内;s521、根据效果图片的目标效果重复步骤s421和s422对虚拟缓存空间中的各分层边界色彩组图标签进行叠加及渲染处理,并将渲染后结果通过映射关系写入到储存器中对应的分层边界色彩组图;s621、将步骤s521在虚拟缓存空间中完成叠加的各分层边界色彩组图标签进行叠加并渲染,渲染结果通过映射关系写入储存器中生成效果图片,同时将渲染结果输出至显示模块;s721、清除储存器中各分层边界色彩组图和虚拟缓存空间中多个分层边界色彩组图标签,在opengl es架构中关闭并释放虚拟缓存空间。
25.实施例2和实施例1的区别在于,实施例2可实现组图标签之间作为目标纹理进行叠加,并生成两个信息一致的复合组图标签,当使用组图标签作为目标纹理时,其数据量较大,因此保留两个信息一致的符合组图标签便于在进行后续步骤时可进行彼此校验,防止在叠合的过程中发生错漏导致图层的叠加出现偏差。
26.本实施例通过调用已添加目标纹理的组图标签作为目标纹理进行组图之间的叠加,使得组图之间叠加的渲染数据量大大减少,同时通过保留两个信息一致的符合组图标签用于后续校验,使得在移动终端也能实现对图片进行多图层多效果的叠加,增加了用户美化图片的可用手段。
27.实施例3实施例3为实施例1基础上的一种改进,主要针对在渲染过程中可以向显示模块输出渲染结果供用户或开发人员检视目标纹理的叠加效果,包括以下步骤:s131、在opengl es架构中申请一份虚拟缓存空间;s231、从储存器导入目标图片至虚拟缓存空间,使用prewitt边缘检测和sobel边缘检测算法分别识别目标图片中的图像对象边界并抓取关键像素点,根据图像对象边界密度对目标图片进行分层生成人像分层边界组图和背景分层边界组图;s331、对前一步骤生成的人像分层边界组图和背景分层边界组图进行rgb彩色图像分层,生成对应的人像二值分层边界色彩组图、人像红色分层边界色彩组图、人像绿色分层边界色彩组图、人像蓝色分层边界色彩组图、背景二值分层边界色彩组图、背景红色分层边界色彩组图、背景绿色分层边界色彩组图和背景蓝色分层边界色彩组图;根据上述各组图的尺寸数据信息、关键像素点在组图中的坐标信息、图像对象边界在组图中的坐标信息在虚拟缓存空间中对应建立上述各组图标签,上述组图和组图标签之间建立尺寸数据、关
键像素点、图像对象边界在各分层边界色彩组图与对应各分层边界色彩组图标签间的映射关系;随后将上述各组图写入储存器中保存并从虚拟缓存空间中清除,虚拟缓存空间仅保留上述各组图标签及映射关系;s431、在虚拟缓存空间中按照目标效果对人像红色分层边界色彩组图标签叠加对比度和饱和度提升数据并在虚拟缓存空间中渲染生成新的人像红色分层边界色彩组图标签,所述对比度和饱和度提升数据通过映射关系写入储存器对应的人像红色分层边界色彩组图并更新为对比度和亮度提升后的人像红色分层边界色彩组图;s432、根据用户或开发人员需要,在虚拟缓存空间中对上述对比度和亮度提升后的人像红色分层边界色彩组图标签进行渲染,并输出至显示模块;s433、在虚拟缓存空间中按照目标效果对背景二值分层边界色彩组图标签、背景红色分层边界色彩组图标签、背景绿色分层边界色彩组图标签和背景蓝色分层边界色彩组图标签叠加亮度、对比度降低数据,所述叠加亮度、对比度降低数据实现抵消上述组图标签中关键像素点及组图中所有像素点的效果时执行清除操作,具体为:在虚拟缓存空间中删除上述组图标签及映射关系,在储存器中删除上述组图;s531、根据效果图片的目标效果重复步骤s431、s432、s433对虚拟缓存空间中的各分层边界色彩组图标签进行叠加及渲染处理,并将渲染后结果通过映射关系写入到储存器中对应的分层边界色彩组图;s631、将步骤s531在虚拟缓存空间中完成叠加的各分层边界色彩组图标签进行叠加并渲染,渲染结果通过映射关系写入储存器中生成效果图片,同时将渲染结果输出至显示模块;s731、清除储存器中各分层边界色彩组图和虚拟缓存空间中多个分层边界色彩组图标签,在opengl es架构中关闭并释放虚拟缓存空间。
28.实施例3和实施例1的区别在于,实施例3可实现当叠加的纹理目的为抵消某一组图的图像时,通过清除虚拟缓存空间中的组图标签和储存器中的组图,减少后续步骤中多图层叠加所需渲染的数据量。同时可根据用户或开发人员的操作,对图像处理的任意一次纹理叠加结果进行渲染并输出至显示模块。
29.本实施例通过在清除虚拟缓存空间中删除图像效果被抵消的组图标签及映射关系,使得后续步骤中多图层叠加所需渲染的数据量大大减少,提升了移动终端处理图像数据的效率,减少所需占用的缓存资源。同时可根据用户或开发人员的操作渲染和显示美化图片过程中的任意一个组图,使得用户或开发人员可知晓当前图片的处理情况并根据目标效果对后续步骤进行调整或修改。
30.本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包括这些改动和变形。
31.上述实施例所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括 :u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献