本公开涉及显示,具体而言,涉及一种图像处理的方法及装置。
背景技术:
1、现阶段,可以通过窗口技术渲染显示图像。例如在安卓(android)平台中,可以基于glsurfaceview控件绘制窗口,并在绘制的窗口中渲染以显示图像。
2、在相关技术中,若要对待显示的图像进行高复杂度、高客制化的渲染处理(如图像增强处理等),通常需要开发人员通过较为底层的编程语言(如java语言)编写渲染处理对应的具体代码。但是开发人员可能并不擅长使用这类编程语言进行开发,导致开发效率较低。
技术实现思路
1、有鉴于此,本公开的实施例提出了一种图像处理的方法及装置,以解决相关技术中存在的不足。
2、根据本公开实施例的第一方面,提出一种图像处理的方法,应用于图像处理系统,所述图像处理系统包括算法组件、渲染组件和接口组件,所述方法包括:
3、根据待处理任务从所述算法组件中确定目标算法组件,所述待处理任务用于处理目标图像,所述目标算法组件包含预设的渲染算法,所述渲染算法被采用第一编程语言编程实现;
4、所述目标算法组件将所述目标图像传递至所述渲染组件,并由所述渲染组件按照所述渲染算法生成针对所述目标图像的第一渲染指令,所述第一渲染指令适用于所述第一编程语言的编程环境;
5、所述接口组件将所述第一渲染指令转换成第二渲染指令,所述第二渲染指令适用于第二编程语言的编程环境,所述第二编程语言区别于所述第一编程语言;以及,将所述第二渲染指令发送至图形控件,以触发所述图形控件按照所述第二渲染指令绘制所述目标图像对应的处理后图像。
6、根据本公开实施例的第二方面,提出一种图像处理系统,所述图像处理系统包括算法组件、渲染组件和接口组件,其中:
7、根据待处理任务从所述算法组件中确定的目标算法组件用于将目标图像传递至所述渲染组件,所述待处理任务用于处理所述目标图像,所述目标算法组件包含预设的渲染算法,所述渲染算法被采用第一编程语言编程实现;
8、所述渲染组件用于按照所述渲染算法生成针对所述目标图像的第一渲染指令,所述第一渲染指令适用于所述第一编程语言的编程环境;
9、所述接口组件用于将所述第一渲染指令转换成第二渲染指令,所述第二渲染指令适用于第二编程语言的编程环境,所述第二编程语言区别于所述第一编程语言;以及,将所述第二渲染指令发送至图形控件,以触发所述图形控件按照所述第二渲染指令绘制所述目标图像对应的处理后图像。
10、根据本公开实施例的第三方面,提出一种图像处理的装置,应用于图像处理系统,所述图像处理系统包括算法组件、渲染组件和接口组件,所述装置包括一个或多个处理器,所述处理器被配置为:
11、根据待处理任务从所述算法组件中确定目标算法组件,所述待处理任务用于处理目标图像,所述目标算法组件包含预设的渲染算法,所述渲染算法被采用第一编程语言编程实现;
12、所述目标算法组件将所述目标图像传递至所述渲染组件,并由所述渲染组件按照所述渲染算法生成针对所述目标图像的第一渲染指令,所述第一渲染指令适用于所述第一编程语言的编程环境;
13、所述接口组件将所述第一渲染指令转换成第二渲染指令,所述第二渲染指令适用于第二编程语言的编程环境,所述第二编程语言区别于所述第一编程语言;以及,将所述第二渲染指令发送至图形控件,以触发所述图形控件按照所述第二渲染指令绘制所述目标图像对应的处理后图像。
14、根据本公开实施例的第四方面,提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现上述第一方面中任一项所述的图像处理的方法。
15、根据本公开实施例的第五方面,提出一种非瞬态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的图像处理的方法中的步骤。
16、根据本公开的实施例,图像处理系统中包括算法组件、渲染组件和接口组件。图像处理系统根据用于处理目标图像的待处理任务确定目标算法组件,该组件包含的预设的渲染算法被采用第一编程语言编程实现。进而,所述目标算法组件将所述目标图像传递至所述渲染组件,并由所述渲染组件按照前述渲染算法生成针对目标图像的第一渲染指令,所述第一渲染指令适用于所述第一编程语言的编程环境;所述接口组件将所述第一渲染指令转换成第二渲染指令,所述第二渲染指令适用于第二编程语言的编程环境,所述第二编程语言区别于所述第一编程语言;以及,将所述第二渲染指令发送至图形控件,以触发所述图形控件按照所述第二渲染指令绘制所述目标图像对应的处理后图像。
17、可见,本方案提出了一种针对图像处理的算法框架,开发人员可以基于所述算法框架开发针对图像的渲染算法。具体的,开发人员可以采用第一编程语言编程实现所述渲染算法,并将该渲染算法包含在基于上述算法框架生成的算法组件中。开发完成的上述算法组件可以与渲染组件和接口组件构成所述图像处理系统,基于该系统可以实现针对目标图像的渲染处理:在渲染组件按照前述渲染算法生成针对目标图像、适用于第一编程语言的编程环境的第一渲染指令后,所述接口组件可以将该指令转换为适用于第二编程语言的编程环境的第二渲染指令,并将其发送至图形控件用于触发后者绘制所述目标图像对应的处理后图像,而上述第一编程语言与第二编程语言是不同的编程语言。
18、通过上述方案,开发人员可以通过采用自身擅长的第一编程语言(如c/c++等)编程实现高复杂度、高客制化的渲染算法,相对于直接采用较为底层的第二编程语言(如java等)进行编程,能够显著提升图像处理系统的开发效率;并且,利用上述图像处理系统,可以基于前述渲染算法实现针对目标图像的渲染处理。
19、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种图像处理的方法,其特征在于,应用于图像处理系统,所述图像处理系统包括算法组件、渲染组件和接口组件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据待处理任务从所述算法组件中确定目标算法组件,包括:
3.根据权利要求2所述的方法,其特征在于,所述图像处理系统包括多个算法组件,在所述需求信息包括所述待处理任务的发起方配置信息的情况下,所述根据待处理任务的需求信息从所述图像处理系统包含的各个算法组件中确定目标算法组件,包括:
4.根据权利要求1所述的方法,其特征在于,所述图像处理系统还包括算法源组件,所述算法源组件是基类,通过下述方式生成任一算法组件:
5.根据权利要求1所述的方法,其特征在于,所述图像处理系统中的各个算法组件被分别注册至所述渲染组件。
6.根据权利要求1所述的方法,其特征在于,所述渲染组件中的算法传递函数用于封装所述目标算法组件中的算法函数,所述渲染组件按照所述渲染算法生成针对所述目标图像的第一渲染指令,包括:
7.根据权利要求1所述的方法,其特征在于,所述目标算法组件包含初始化函数,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述目标算法组件根据所述待处理任务和所述渲染算法配置所述初始化函数的输入参数,包括:
9.根据权利要求7所述的方法,其特征在于,所述图像处理系统包括多个算法组件,各个算法组件分别包含相应的初始化函数;其中,
10.根据权利要求1所述的方法,其特征在于,所述图像处理系统运行于安卓android平台,所述接口组件包括java本地接口jni组件,所述第二编程语言为java语言,所述第一编程语言为区别于java语言的其他语言。
11.根据权利要求1所述的方法,其特征在于,所述图形控件包括glsurfaceview控件,所述渲染组件为所述glsurfaceview控件对应的渲染器类。
12.一种图像处理系统,其特征在于,所述图像处理系统包括算法组件、渲染组件和接口组件,其中:
13.根据权利要求12所述的系统,其特征在于,
14.一种图像处理的装置,其特征在于,应用于图像处理系统,所述图像处理系统包括算法组件、渲染组件和接口组件,所述装置包括一个或多个处理器,所述处理器被配置为:
15.一种电子设备,其特征在于,包括:
16.一种非瞬态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11中任一项所述的方法中的步骤。
