CN112188034A - 一种图像处理方法、装置、终端设备及介质 - Google Patents
一种图像处理方法、装置、终端设备及介质 Download PDFInfo
- Publication number
- CN112188034A CN112188034A CN202011054572.XA CN202011054572A CN112188034A CN 112188034 A CN112188034 A CN 112188034A CN 202011054572 A CN202011054572 A CN 202011054572A CN 112188034 A CN112188034 A CN 112188034A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- node
- identification information
- determining
- image 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本公开是关于一种图像处理方法、装置、终端设备及介质,所述方法包括:获取至少一种图像处理选项;获取预设的配置信息和算法序列;根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点;所述算法序列中的算法节点按所述预设次序处理图像数据,获得目标图像;图像处理至所述透传节点时,所述透传节点向与其相连的下一算法节点传输图像数据的存储地址。使用本公开的方法,能够确定图像处理相关的算法节点中的透传节点。透传节点在进行数据传输时传输存储地址,而无需拷贝图像数据,从而有效减少图像处理过程中对CPU的占用,提升图像处理速度,减少图片处理过程的耗时。
Description
技术领域
本公开涉及终端领域,尤其涉及一种图像处理方法、装置、终端设备及介质。
背景技术
随着技术的进步,手机等终端设备已成为人们日常生活中的必需品。拍照/摄像是手机等终端设备中一项很重要的功能,手机等终端设备通常以相机采集图像,再通过内部集成的大量图像处理算法处理图像,获得成像效果较高的图像进行存储。
相关技术中,不同图像处理算法按照配置顺序处理图像,其中,对于每种图像处理算法,都需要对上一个图像处理算法的图像数据进行拷贝,再进行处理或直接传递至下一个图像处理算法。当不需要其中一种或几种图像处理算法时,冗余的拷贝不仅抢占CPU,还会使成像时间加长。
发明内容
为克服相关技术中存在的问题,本公开提供一种图像处理方法、装置、终端设备及介质。
根据本公开实施例的第一方面,提供一种图像处理方法,应用于具有图像处理功能的终端设备,包括:
获取至少一种图像处理选项;
获取预设的配置信息和算法序列;其中,所述算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;所述配置信息用于表征所述算法节点透传属性的标识信息;
根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点;
所述算法序列中的算法节点按所述预设次序处理图像数据,获得目标图像;其中,图像数据传输至所述透传节点时,所述透传节点向与其相连的下一算法节点传输图像数据的存储地址;所述存储地址用于存储所述透传节点的上一算法节点处理后的图像数据,所述下一算法节点从所述存储地址获取所述上一算法节点处理后的图像数据。
可选地,所述根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点,包括:
根据所述至少一种图像处理选项,确定所述至少一种图像处理选项对应的至少一个算法节点;
根据所述算法序列和所述至少一个算法节点,确定除所述至少一个算法节点之外的算法节点作为第一算法节点集合;
根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点。
可选地,所述根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点,包括:
根据所述配置信息,确定所述第一算法节点集合中每个算法节点的标识信息;
根据所述标识信息,确定所述透传节点。
可选地,所述根据所述标识信息,确定所述透传节点,包括:
若所述标识信息为第一标识信息,确定所述算法节点为所述透传节点;
若所述标识信息为第二标识信息,确定所述算法节点为非透传节点。
可选地,所述方法还包括构建配置信息的方法:
遍历所述算法序列中的全部算法节点,分别确定每个算法节点的传输性质;其中,所述传输性质包括算法节点传输的内存大小、内存类型及算法类型;
判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息。
可选地,所述判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息,包括:
判断每个算法节点的输入与输出的内存大小是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的输入与输出的内存类型是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定所述算法节点的标识信息为所述第二标识信息;若否,确定所述算法节点的标识信息为所述第一标识信息。
根据本公开实施例的第二方面,提供一种图像处理装置,应用于具有图像处理功能的终端设备,包括:
第一获取模块,用于获取至少一种图像处理选项;
第二获取模块,用于获取预设的配置信息和算法序列;其中,所述算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;所述配置信息用于表征所述算法节点透传属性的标识信息;
确定模块,用于根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点;
传输模块,所述算法序列中的算法节点按所述预设次序处理图像数据,获得目标图像;其中,传输模块用于图像处理至所述透传节点时,所述透传节点向与其相连的下一算法节点传输图像数据的存储地址;所述存储地址用于存储所述透传节点的上一算法节点处理后的图像数据,所述下一算法节点从所述存储地址获取所述上一算法节点处理后的图像数据。
可选地,所述确定模块,包括:
第一确定子模块,用于根据所述至少一种图像处理选项,确定所述至少一种图像处理选项对应的至少一个算法节点;
第二确定子模块,用于根据所述算法序列和所述至少一个算法节点,确定除所述至少一个算法节点之外的算法节点作为第一算法节点集合;
第三确定子模块,用于根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点。
可选地,所述第三确定子模块具体用于:
根据所述配置信息,确定所述第一算法节点集合中每个算法节点的标识信息;
根据所述标识信息,确定所述透传节点。
可选地,所述第三确定子模块具体用于:
若所述标识信息为第一标识信息,确定所述算法节点为所述透传节点;
若所述标识信息为第二标识信息,确定所述算法节点为非透传节点。
可选地,所述装置还包括构建模块,所述构建模块包括:
传输性质确定子模块,用于遍历所述算法序列中的全部算法节点,分别确定每个算法节点的传输性质;其中,所述传输性质包括算法节点传输的内存大小、内存类型及算法类型;
判断子模块,用于判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息。
可选地,所述判断子模块具体用于:
判断每个算法节点的输入与输出的内存大小是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的输入与输出的内存类型是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定所述算法节点的标识信息为所述第二标识信息;若否,确定所述算法节点的标识信息为所述第一标识信息。
根据本公开实施例的第三方面,提供一种终端设备,包括:
处理器;
用于存储处理器的可执行指令的存储器;
其中,所述处理器被配置为执行如上任一项所述的图像处理方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如上任一项所述的图像处理方法。
本公开的实施例提供的技术方案可以包括以下有益选项:使用本公开的方法,能够确定图像处理相关的算法节点中的透传节点。透传节点在进行数据传输时传输存储地址,而无需拷贝图像数据,从而有效减少图像处理过程中对CPU的占用,提升图像处理速度,减少图片处理过程的耗时。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的方法的流程图。
图2是根据一示例性实施例示出的方法的流程图。
图3是根据一示例性实施例示出的算法序列的示意图。
图4是根据一示例性实施例示出的方法的流程图。
图5是根据一示例性实施例示出的方法的流程图。
图6是根据一示例性实施例示出的装置的框图。
图7是根据一示例性实施例示出的装置的框图。
图8是根据一示例性实施例示出的装置的框图。
图9是根据一示例性实施例示出的终端设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
随着技术的进步,手机等终端设备已成为人们日常生活中的必需品。
终端设备一般包括处理器、存储器和显示屏,以实现终端设备系统的运行或应用程序的运行。其中,处理器通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端设备的各种功能和处理数据。比如,处理器可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。存储器可用于存储指令、程序、代码、代码集或指令集。比如,存储器的存储程序区可存储用于实现操作系统的指令、用于执行至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现控制方法的指令等。
以操作系统为安卓系统的终端设备为例,存储器中存储有Linux内核层、系统运行库层、应用框架层和应用层。其中,Linux内核层为终端设备的各种硬件提供了底层的驱动,如显示驱动、相机驱动等。系统运行库层通过一些C/C++库来为Android系统提供了主要的特性支持。应用框架层提供了构建应用程序时可能用到的各种API,比如构建如下程序:窗口管理、视图管理等。应用层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的,比如短信程序;也可以是第三方开发者所开发的应用程序,比如相机程序等。
其中,拍照/摄像是手机等终端设备中一项很重要的功能,手机的底层驱动层(Linux内核层)能够驱动相机采集图像,再通过系统内部(如存储器)集成的大量图像处理算法处理图像,获得成像效果较高的图像进行存储。
相关技术中,终端设备的操作系统集成有大量图像处理算法,比如图像数据转换的相关算法,再比如图像效果处理的相关算法(美颜、虚化、水印等)。不同的图像处理算法可以通过管道(pipeline)集成在一起,不同的处理算法可以集成于不同的管道中。
由于创建管道需要的时间较长,且占用的内存也较大,在相机运行过程中再创建管道会影响出图的速度。因此,在相机程序启动时或在拍摄前就需将当前模式下所有需要用到的管道创建好。
其中,管道的数量可以是一条或多条。每条管道可以包括一个或多个图像处理算法,当包括多个图像处理算法,多个图像处理算法之间可按照预设的顺序链接,每个图像处理算法认为是一个节点。每条管道执行的功能可以是由该管道内的一个或多个节点共同完成的。
相关技术中,用户可能仅需要使用一部分算法,但管道内各个算法仍然是依序处理图像的,每个图像处理算法节点都需要对上一个节点的图像数据进行拷贝,再对拷贝的图像数据进行处理或直接传递至下一个节点。当不需要其中一种或多种图像处理算法时,冗余的拷贝不仅抢占CPU,还会使成像时间加长。
为解决上述技术问题,本公开提出了一种图像处理方法,应用于具有图像处理功能的终端设备,包括:获取至少一种图像处理选项;获取预设的配置信息和算法序列;其中,算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;配置信息用于表征算法节点透传属性的标识信息;根据算法序列、配置信息及至少一种图像处理选项,确定算法序列中的透传节点;算法序列中的算法节点按预设次序处理图像数据,获得目标图像;其中,图像数据传输至透传节点时,透传节点向与其相连的下一算法节点传输图像数据的存储地址;存储地址用于存储所述透传节点的上一算法节点处理后的图像数据,下一算法节点从所述存储地址获取所述上一算法节点处理后的图像数据。使用本公开的方法,能够确定图像处理相关的算法节点中的透传节点。透传节点在进行处理时传输存储地址,而无需拷贝图像数据,从而有效减少图像处理过程中对CPU的占用,提升图像处理速度,减少图片处理过程的耗时。
在一个示例性的实施例中,本实施例的图像处理方法,应用于具有图像处理功能的终端设备。其中,终端设备比如可以是手机、笔记本电脑、平板电脑或智能手表等便携式电子设备。
如图1所示,本实施例的方法包括如下步骤:
S110、获取至少一种图像处理选项。
S120、获取预设的配置信息和算法序列。
S130、根据算法序列、配置信息及至少一种图像处理选项,确定算法序列中的透传节点。
S140、算法序列中的算法节点按预设次序处理图像数据,获得目标图像;其中,图像数据传输至透传节点时,透传节点向与其相连的下一算法节点传输图像数据的存储地址。存储地址用于存储透传节点的上一算法节点处理后的图像数据,下一算法节点从存储地址获取上一算法节点处理后的图像数据。
其中,在步骤S110中,图像处理选项与图像处理效果是一一对应的,在相机应用程序界面可以通过选择对应选项的方式去选择图像处理效果。图像处理效果比如可以是美颜、滤镜、降噪、人像、畸变矫正等效果。获取的至少一种图像处理效果,是指与用户在相机或其他图像处理的应用程序中的选择操作对应的图像处理效果,用户选择的图像处理效果可以是一种或几种。
值得说明的,终端设备的CPU、应用程序及底层驱动层之间可进行信息交互,终端设备的CPU可获取或接收应用程序处的用户操作信息或程序的资源配置信息,根据操作信息发布相应指令,底层驱动层根据指令进行相应驱动操作。
在步骤S120中,配置信息用于表征算法节点透传属性的标识信息。算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理效果,比如算法节点可以是美颜算法节点、滤镜算法节点、降噪算法节点、人像算法节点、畸变矫正算法节点等。
本步骤中,多个算法节点可集成于一条或多条管道中。算法序列包括的算法节点,比如可以是终端设备系统配置的适用于本设备图像处理所需的全部算法节点,不同的终端设备的算法序列可以各不相同。
在步骤S130中,根据用户选择的至少一种图像处理效果以及算法序列,终端设备的应用程序或CPU可以及时获知此次拍摄或图像处理过程用户未选择的图像处理效果对应的算法。未选择的算法若都进行拷贝图像数据,则会带来图像处理过程耗时和CPU占用的问题。本步骤中,则可根据配置信息中的标识信息,进一步确定算法序列中的透传节点。
在步骤S140中,透传节点的传输数据的方式与其他算法节点有所不同。图像数据传输至透传节点时,透传节点不需拷贝图像数据,而是向下一算法节点传输图像数据的存储地址。从而省除拷贝操作,减少图片处理过程的CPU占用和耗时。
在一个示例性的实施例中,如图2所示,步骤S130可以具体包括如下步骤:
S132、根据至少一种图像处理效果,确定至少一种图像处理效果对应的至少一个算法节点。
S134、根据算法序列和至少一个算法节点,确定除至少一个算法节点之外的算法节点作为第一算法节点集合。
S136、根据配置信息和第一算法节点集合,从第一算法节点集合中确定透传节点。
其中,在步骤S132中,以用户使用终端设备拍照、终端设备对拍摄的原始图像进行图像处理为例。用户在相机程序的预览界面选中“美颜”和“滤镜”两种图像处理效果,则终端设备的应用程序可以获取用户的选择结果,并确定对应的算法节点为:“美颜算法节点”和“滤镜算法节点”。
在步骤S134中,如图3所示,本实施例中终端设备的算法序列包括:按预设顺序链接的“美颜算法节点”(节点1)、“降噪算法节点”(节点2)、“滤镜算法节点”(节点3)及“人像算法节点”(节点4)。结合步骤S132,用户选中的图像处理效果对应的算法节点包括:节点1和节点3,则第一算法节点集合包括节点2和节点4。
在步骤S136中,对于本次图像处理未涉及的算法节点,确定其透传属性。依旧参照图3,本步骤需确定节点2和节点4的透传属性。其中,配置信息中包含算法序列中全部算法节点的标识信息,可以根据获取的配置信息查询每个节点对应的标识信息。因此,本步骤中,具体可包括如下步骤:
S1361、根据配置信息,确定第一算法节点集合中节点2和节点4的标识信息。S1362、根据标识信息,确定透传节点。
本实施例中的标识信息,比如可以包括第一标识信息(true)和第二标识信息(false),第一标识信息(true)表示是透传节点,第二标识信息(false)表示是不可透传节点。根据节点2和节点4的标识信息查询结果,可以确定节点2和节点4的透传属性。本实施例的节点确定结果比如可以是:节点2的标识信息为第一标识信息(true),是一个透传节点,再比如节点4的标识信息为第二标识信息(false),是一个不可透传节点。
在确定透传属性之后,依旧结合图3,节点1处理后的图像数据传输至节点2时,由于节点2是透传节点,因此节点2将节点1图像数据的存储地址直接传输至节点3,而不需要拷贝图像数据。节点3基于存储地址获取图像数据,并进行处理。节点3处理后的图像数据传输至节点4,由于节点4是不可透传节点,因此节点4还需拷贝节点3处理后的图像数据。
在一个示例性的实施例中,如图4所示,本实施例的方法还包括:构建配置信息。配置信息可以是在终端出厂配置好的,也可以是根据操作系统进行后期配置或更新。
构建配置信息具体包括如下步骤:
S150、遍历算法序列中的全部算法节点,分别确定每个算法节点的传输性质。
S152、判断每个算法节点的传输性质是否全部满足对应预设条件,根据判断结果确定算法节点的标识信息为第一标识信息或第二标识信息。
其中,在步骤S150中,传输性质包括算法节点传输的内存大小、内存类型及算法类型。其中,算法类型可以是软件算法或硬件算法,上述涉及的图像处理算法为软件算法,实际应用中,每个管道内与算法节点连接的节点还可以是其他硬件算法节点(比如控制芯片节点)。
在步骤S152中,若每个算法节点的传输性质全部满足对应预设条件,则确定算法节点的标识信息为第一标识信息。若每个算法节点的传输性质中的部分传输性质满足对应预设条件,确定算法节点的标识信息为第二标识信息。具体可参照图5所示,步骤S152可以包括如下步骤:
S1521、判断每个算法节点的输入与输出的内存大小是否相同,若否,确定算法节点的标识信息为第二标识信息(false);若是,执行步骤S1542。
S1522、判断每个算法节点的输入与输出的内存类型是否相同,若否,确定算法节点的标识信息为第二标识信息(false);若是,执行步骤S1543。
S1523、判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定算法节点的标识信息为第二标识信息(false);若否,确定算法节点的标识信息为第一标识信息(true)。
在一个示例性的实施例中,基于上述图像处理方法,本公开实施例的图像处理方法至少涉及终端设备的CPU、应用程序层及底层驱动层之间的交互。图像处理方法可以包括如下步骤:
S1、CPU接收用户对显示界面相机图标的触控点击信息,启动相机程序。
S2、终端操作系统的CPU或底层驱动层加载拍照所需资源。比如,加载预览所需算法资源,后台初始化算法序列相关的算法管道。
S3、在算法管道初始化过程中,遍历算法序列中的所有算法节点,配置各算法节点的透传标识信息(预设配置信息)。
S4、用户基于相机程序界面的预览信息,按需求点击选取所需图像效果,比如点击了打开“美颜”开关及“滤镜”开关后,相机应用程序接收用户选择。
S5、用户点击快门拍照,CPU下发拍照请求至底层驱动层。其中,拍照请求中包括:预设配置信息以及用户选择信息对应的图像效果;对于用户选择的效果,在请求中字段比如可以包含“enable”。
S6、底层驱动层可依据请求,驱动相机采集初始图像。其中,初始图像可以是前置摄像组件或后置摄像组件采集并生成的。
S7、初始图像传递至底层驱动层的算法管道处,算法管道内的各算法依序对图像进行处理,获得目标图像。其中,各个算法依序解析拍照请求,确定本算法是否需要处理图像(是否被用户选择),如果不需要,读取请求中的透传标识信息,若透传标识信息为true,则直接透传处理。
在一个示例中,算法管道比如是包括以下多种算法:多帧合成+美颜+瘦身+AI+depurple+滤镜。用户选取的效果是:美颜+滤镜。则拍照请求中包括的指令比如可以是:多帧合成(关)+美颜(开)+瘦身(关)+AI(关)+depurple(关)+滤镜(关)。
本示例中,拍照请求及初始图像传递至算法管道,算法管道首先将拍照请求及初始图像传递至第一个节点,第一个节点再进行传递至下一算法节点,各算法节点依序处理图像,具体处理过程比如包括:
(1)拍照请求及初始图像传递至第一节点(多帧合成算法),第一节点解析拍照请求获知自身状态为关闭。则读取自身节点的透传标识信息,假设为“true”,则第一节点为透传节点,将初始图像的存储地址由输入端转移至输出端(也是第二节点的输入端),传给第二节点,并通知第二节点开始处理。
(2)第二节点收到第一节点的通知信息,以及拍照请求,解析拍照请求获知自身状态为打开。则依据地址获取初始图像,并对初始图像进行“美颜”处理得到第一图像。将第一图像存储至输出端内存(也是第三节点的输入端),并通知第三节点开始处理。
(3)第三节点收到第二节点的的通知信息,以及拍照请求,解析拍照请求获知自身状态为关闭。则读取自身节点的透传标识信息,假设为“true”,则第三节点透传,并将第一图像的存储地址传递至自身的输出端(也是下一节点的输入端)。
以此类推,直到所有算法节点处理完毕,得到目标图像。
在另一个示例中,算法序列包含的算法比如可以是均集成于一条算法管道中,如图3所示,算法序列包括按预设顺序链接的“美颜算法节点”(节点1)、“降噪算法节点”(节点2)、“滤镜算法节点”(节点3)及“人像算法节点”(节点4)。其中,用户选中的图像处理效果对应的算法节点包括:节点1和节点3。
(1)拍照请求及初始图像首先传递至节点1。节点1解析拍照请求获知自身状态打开,对初始图像“美颜”处理,并生成第一图像。存储第一图像至节点1的输出端内存(也是节点2的输入端),由此节点2的输入端具有第一图像及其存储地址。
(2)节点2解析拍照请求获知自身状态为关闭,则读取自身节点的透传标识信息,假设为“true”,不拷贝第一图像,直接将第一图像的存储地址由节点2的输入端传输至节点2的输出端(也是节点3的输入端)。
(3)节点3解析拍照请求获知自身状态为打开,根据存储地址获取第一图像,并对第一图像“滤镜”处理,生成第二图像。将第二图像存储于节点3的输出端内存(也是节点4的输入端),由此节点4的输入端具有第二图像及其存储地址。
(4)节点4解析拍照请求获知自身状态为关闭。读取自身节点的透传标识信息,假设为“false”(非透传),则节点4拷贝第二图像,并将第二图像通过节点4的输出端输出生成目标图像。
S8、将目标图像传递至相机应用程序,在应用程序处保存目标图像。在一个示例性的实施例中,本公开提出一种图像处理装置,应用于具有图像处理功能的终端设备,如图6所示,装置包括:第一获取模块110、第二获取模块120、确定模块130及传输模块140,本实施例的装置用于实现如图1所示的方法。其中,第一获取模块110用于获取至少一种图像处理选项。第二获取模块120用于获取预设的配置信息和算法序列;其中,算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;配置信息用于表征算法节点透传属性的标识信息。确定模块130用于根据算法序列、配置信息及至少一种图像处理选项,确定算法序列中的透传节点。算法序列中的算法节点按预设次序处理图像数据,获得目标图像;其中,传输模块140用于图像数据传输至透传节点时,透传节点向与其相连的下一算法节点传输图像数据的存储地址;存储地址用于存储透传节点的上一算法节点处理后的图像数据,下一算法节点从存储地址获取上一算法节点处理后的图像数据。
在一个示例性的实施例中,如图6及图7所示,装置包括:第一获取模块110、第二获取模块120、确定模块130及传输模块140,确定模块130包括:第一确定子模块132、第二确定子模块134及第三确定子模块136,本实施例的装置用于实现如图2所示的方法。其中,第一确定子模块132用于根据至少一种图像处理选项,确定至少一种图像处理选项对应的至少一个算法节点。第二确定子模块134用于根据算法序列和至少一个算法节点,确定除至少一个算法节点之外的算法节点作为第一算法节点集合。第三确定子模块136用于根据配置信息和第一算法节点集合,从第一算法节点集合中确定透传节点。在一个示例中,第三确定子模块136具体用于:根据配置信息,确定第一算法节点集合中每个算法节点的标识信息;根据标识信息,确定透传节点。在另一个示例中第三确定子模块具体用于:若标识信息为第一标识信息,确定算法节点为透传节点;若标识信息为第二标识信息,确定算法节点为非透传节点。
在一个示例性的实施例中,如图8所示,装置还包括构建模块,构建模块包括:传输性质确定子模块150和判断子模块152,本实施例的装置用于实现如图4及图5所示的方法。其中,传输性质确定子模块150用于遍历算法序列中的全部算法节点,分别确定每个算法节点的传输性质;其中,传输性质包括算法节点传输的内存大小、内存类型及算法类型。判断子模块152用于判断每个算法节点的传输性质是否全部满足对应预设条件,根据判断结果确定算法节点的标识信息为第一标识信息或第二标识信息。本实施例中,判断子模块152具体用于:判断每个算法节点的输入与输出的内存大小是否相同,若否,确定算法节点的标识信息为第二标识信息;若是,判断每个算法节点的输入与输出的内存类型是否相同,若否,确定算法节点的标识信息为第二标识信息;若是,判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定算法节点的标识信息为第二标识信息;若否,确定算法节点的标识信息为第一标识信息。
如图9所示是一种电子设备的框图。本公开还提供了一种电子设备,例如,设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
设备500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件506为设备500的各种组件提供电力。电力组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为设备500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如组件为设备500的显示器和小键盘,传感器组件514还可以检测设备500或设备500一个组件的位置改变,用户与设备500接触的存在或不存在,设备500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于设备500和其他设备之间有线或无线方式的通信。设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的方法。
本公开另一个示例性实施例中提供的一种非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由设备500的处理器520执行以完成上述方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种图像处理方法,应用于具有图像处理功能的终端设备,其特征在于,包括:
获取至少一种图像处理选项;
获取预设的配置信息和算法序列;其中,所述算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;所述配置信息用于表征所述算法节点透传属性的标识信息;
根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点;
所述算法序列中的算法节点按所述预设次序处理图像数据,获得目标图像;其中,图像数据传输至所述透传节点时,所述透传节点向与其相连的下一算法节点传输图像数据的存储地址;所述存储地址用于存储所述透传节点的上一算法节点处理后的图像数据,所述下一算法节点从所述存储地址获取所述上一算法节点处理后的图像数据。
2.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点,包括:
根据所述至少一种图像处理选项,确定所述至少一种图像处理选项对应的至少一个算法节点;
根据所述算法序列和所述至少一个算法节点,确定除所述至少一个算法节点之外的算法节点作为第一算法节点集合;
根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点。
3.根据权利要求2所述的图像处理方法,其特征在于,所述根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点,包括:
根据所述配置信息,确定所述第一算法节点集合中每个算法节点的标识信息;
根据所述标识信息,确定所述透传节点。
4.根据权利要求3所述的图像处理方法,其特征在于,所述根据所述标识信息,确定所述透传节点,包括:
若所述标识信息为第一标识信息,确定所述算法节点为所述透传节点;
若所述标识信息为第二标识信息,确定所述算法节点为非透传节点。
5.根据权利要求4所述的图像处理方法,其特征在于,所述方法还包括构建配置信息的方法:
遍历所述算法序列中的全部算法节点,分别确定每个算法节点的传输性质;其中,所述传输性质包括算法节点传输的内存大小、内存类型及算法类型;
判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息。
6.根据权利要求5所述的图像处理方法,其特征在于,所述判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息,包括:
判断每个算法节点的输入与输出的内存大小是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的输入与输出的内存类型是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定所述算法节点的标识信息为所述第二标识信息;若否,确定所述算法节点的标识信息为所述第一标识信息。
7.一种图像处理装置,应用于具有图像处理功能的终端设备,其特征在于,包括:
第一获取模块,用于获取至少一种图像处理选项;
第二获取模块,用于获取预设的配置信息和算法序列;其中,所述算法序列包括按预设次序链接的多个算法节点,每个算法节点对应一种图像处理选项;所述配置信息用于表征所述算法节点透传属性的标识信息;
确定模块,用于根据所述算法序列、所述配置信息及所述至少一种图像处理选项,确定所述算法序列中的透传节点;
传输模块,所述算法序列中的算法节点按所述预设次序处理图像数据,获得目标图像;其中,传输模块用于图像数据传输至所述透传节点时,所述透传节点向与其相连的下一算法节点传输图像数据的存储地址;所述存储地址用于存储所述透传节点的上一算法节点处理后的图像数据,所述下一算法节点从所述存储地址获取所述上一算法节点处理后的图像数据。
8.根据权利要求7所述的图像处理装置,其特征在于,所述确定模块,包括:
第一确定子模块,用于根据所述至少一种图像处理选项,确定所述至少一种图像处理选项对应的至少一个算法节点;
第二确定子模块,用于根据所述算法序列和所述至少一个算法节点,确定除所述至少一个算法节点之外的算法节点作为第一算法节点集合;
第三确定子模块,用于根据所述配置信息和所述第一算法节点集合,从所述第一算法节点集合中确定所述透传节点。
9.根据权利要求8所述的图像处理装置,其特征在于,所述第三确定子模块具体用于:
根据所述配置信息,确定所述第一算法节点集合中每个算法节点的标识信息;
根据所述标识信息,确定所述透传节点。
10.根据权利要求9所述的图像处理装置,其特征在于,所述第三确定子模块具体用于:
若所述标识信息为第一标识信息,确定所述算法节点为所述透传节点;
若所述标识信息为第二标识信息,确定所述算法节点为非透传节点。
11.根据权利要求10所述的图像处理装置,其特征在于,所述装置还包括构建模块,所述构建模块包括:
传输性质确定子模块,用于遍历所述算法序列中的全部算法节点,分别确定每个算法节点的传输性质;其中,所述传输性质包括算法节点传输的内存大小、内存类型及算法类型;
判断子模块,用于判断每个算法节点的所述传输性质是否全部满足对应预设条件,根据判断结果确定所述算法节点的标识信息为所述第一标识信息或所述第二标识信息。
12.根据权利要求11所述的图像处理装置,其特征在于,所述判断子模块具体用于:
判断每个算法节点的输入与输出的内存大小是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的输入与输出的内存类型是否相同,若否,确定所述算法节点的标识信息为所述第二标识信息;
若是,判断每个算法节点的下一算法节点是否为硬件算法节点,若是,确定所述算法节点的标识信息为所述第二标识信息;若否,确定所述算法节点的标识信息为所述第一标识信息。
13.一种终端设备,其特征在于,包括:
处理器;
用于存储处理器的可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至6任一项所述的图像处理方法。
14.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如权利要求1至6任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054572.XA CN112188034A (zh) | 2020-09-29 | 2020-09-29 | 一种图像处理方法、装置、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054572.XA CN112188034A (zh) | 2020-09-29 | 2020-09-29 | 一种图像处理方法、装置、终端设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112188034A true CN112188034A (zh) | 2021-01-05 |
Family
ID=73946043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011054572.XA Pending CN112188034A (zh) | 2020-09-29 | 2020-09-29 | 一种图像处理方法、装置、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112188034A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113406696A (zh) * | 2021-06-01 | 2021-09-17 | 成都高新减灾研究所 | 实现移动设备地震监测的方法及设备 |
CN114647472A (zh) * | 2022-03-24 | 2022-06-21 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161856A1 (en) * | 2001-04-26 | 2002-10-31 | Pineau Richard A. | Method and apparatus for remote processing and sharing of digital images |
CN1658665A (zh) * | 2004-02-17 | 2005-08-24 | 索尼株式会社 | 存储器管理方法、图像处理设备和存储器管理程序 |
CN101547367A (zh) * | 2008-03-27 | 2009-09-30 | 株式会社瑞萨科技 | 数据处理装置、图像编码解码装置及数据处理系统 |
CN103905686A (zh) * | 2012-12-24 | 2014-07-02 | 三星电子株式会社 | 图像扫描装置、图像补偿方法及计算机可读记录介质 |
CN104980354A (zh) * | 2015-06-26 | 2015-10-14 | 中国科学院大学 | 数据传输处理方法和装置 |
CN105491281A (zh) * | 2015-11-24 | 2016-04-13 | 北京天诚盛业科技有限公司 | 提高图像获取速度的方法和装置 |
CN107292808A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置及图像协处理器 |
CN109240820A (zh) * | 2018-07-03 | 2019-01-18 | 深圳市商汤科技有限公司 | 图像处理任务的处理方法及装置、电子设备及存储介质 |
CN109672884A (zh) * | 2017-10-13 | 2019-04-23 | 阿里巴巴集团控股有限公司 | 图像硬件编码处理方法和装置 |
CN109791755A (zh) * | 2016-09-23 | 2019-05-21 | 三星电子株式会社 | 图像处理装置、显示装置及其控制方法 |
CN109862314A (zh) * | 2019-01-24 | 2019-06-07 | 苏州华盖信息科技有限公司 | 一种视频图像获取和处理系统及其方法 |
-
2020
- 2020-09-29 CN CN202011054572.XA patent/CN112188034A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161856A1 (en) * | 2001-04-26 | 2002-10-31 | Pineau Richard A. | Method and apparatus for remote processing and sharing of digital images |
CN1658665A (zh) * | 2004-02-17 | 2005-08-24 | 索尼株式会社 | 存储器管理方法、图像处理设备和存储器管理程序 |
CN101547367A (zh) * | 2008-03-27 | 2009-09-30 | 株式会社瑞萨科技 | 数据处理装置、图像编码解码装置及数据处理系统 |
CN103905686A (zh) * | 2012-12-24 | 2014-07-02 | 三星电子株式会社 | 图像扫描装置、图像补偿方法及计算机可读记录介质 |
CN104980354A (zh) * | 2015-06-26 | 2015-10-14 | 中国科学院大学 | 数据传输处理方法和装置 |
CN105491281A (zh) * | 2015-11-24 | 2016-04-13 | 北京天诚盛业科技有限公司 | 提高图像获取速度的方法和装置 |
CN107292808A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置及图像协处理器 |
CN109791755A (zh) * | 2016-09-23 | 2019-05-21 | 三星电子株式会社 | 图像处理装置、显示装置及其控制方法 |
CN109672884A (zh) * | 2017-10-13 | 2019-04-23 | 阿里巴巴集团控股有限公司 | 图像硬件编码处理方法和装置 |
CN109240820A (zh) * | 2018-07-03 | 2019-01-18 | 深圳市商汤科技有限公司 | 图像处理任务的处理方法及装置、电子设备及存储介质 |
CN109862314A (zh) * | 2019-01-24 | 2019-06-07 | 苏州华盖信息科技有限公司 | 一种视频图像获取和处理系统及其方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113406696A (zh) * | 2021-06-01 | 2021-09-17 | 成都高新减灾研究所 | 实现移动设备地震监测的方法及设备 |
CN114647472A (zh) * | 2022-03-24 | 2022-06-21 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
CN114647472B (zh) * | 2022-03-24 | 2023-08-15 | 北京字跳网络技术有限公司 | 图片处理方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11183153B1 (en) | Image display method and device, electronic device, and storage medium | |
CN110995929B (zh) | 终端控制方法、装置、终端及存储介质 | |
EP3136793A1 (en) | Method and apparatus for awakening electronic device | |
US20160226519A1 (en) | Method and device for compressing firmware program, method and device for decompressing firmware program | |
US20180144546A1 (en) | Method, device and terminal for processing live shows | |
EP3147802B1 (en) | Method and apparatus for processing information | |
CN113032030A (zh) | 相机启动方法、装置、终端设备和存储介质 | |
CN111610912B (zh) | 应用显示方法、应用显示装置及存储介质 | |
WO2022088823A1 (zh) | 图像处理方法及装置 | |
CN112217990B (zh) | 任务调度方法、任务调度装置及存储介质 | |
CN111078170B (zh) | 显示控制方法、显示控制装置及计算机可读存储介质 | |
CN112188034A (zh) | 一种图像处理方法、装置、终端设备及介质 | |
CN114595785A (zh) | 模型训练方法、装置、电子设备及存储介质 | |
US11600300B2 (en) | Method and device for generating dynamic image | |
CN106447747B (zh) | 图像处理方法及装置 | |
CN112423092A (zh) | 视频录制方法和视频录制装置 | |
CN114666490B (zh) | 对焦方法、装置、电子设备和存储介质 | |
CN114268802A (zh) | 虚拟空间展示方法、装置、电子设备及存储介质 | |
CN112230982A (zh) | 素材处理方法、装置、电子设备及存储介质 | |
CN112866612A (zh) | 插帧方法、装置、终端及计算机可读存储介质 | |
CN110784721A (zh) | 一种图片数据压缩方法、装置、电子设备及存储介质 | |
CN114500819B (zh) | 拍摄方法、拍摄装置以及计算机可读存储介质 | |
US11783525B2 (en) | Method, device and storage medium form playing animation of a captured image | |
WO2023123787A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2024036998A1 (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 |