CN113746998A - 图像处理方法、装置、设备及存储介质 - Google Patents

图像处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113746998A
CN113746998A CN202010478167.4A CN202010478167A CN113746998A CN 113746998 A CN113746998 A CN 113746998A CN 202010478167 A CN202010478167 A CN 202010478167A CN 113746998 A CN113746998 A CN 113746998A
Authority
CN
China
Prior art keywords
image data
target
processing
data
target image
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
Application number
CN202010478167.4A
Other languages
English (en)
Inventor
高川
黄信
张轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202010478167.4A priority Critical patent/CN113746998A/zh
Publication of CN113746998A publication Critical patent/CN113746998A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region

Abstract

本公开是关于一种图像处理方法、装置、设备及存储介质。所述方法包括:接收相机应用程序发送的用于获取目标图像数据的获取请求;响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;利用预先构建的虚拟图形处理系统对所述初始图像数据进行处理,得到所述目标图像数据;向所述相机应用程序发送所述目标图像数据。本公开可以实现基于虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,相比于相关技术中在HAL中集成预设图像处理算法的方案,可以提升相机性能,并且可以减小终端研发方和芯片厂商的耦合性,进而减少工程师的工作量。

Description

图像处理方法、装置、设备及存储介质
技术领域
本公开涉及数据处理技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质。
背景技术
当前智能终端的竞争愈演愈烈,相机作为智能终端最重要的模块之一,其表现的好坏会直接影响用户购买终端的意愿。相机表现优秀主要体现在性能以及成像质量等方面。
为了提升成像质量,相机通常会引入相应的算法。例如,为了降低噪声,引入多帧降噪算法;为了提升解析力,引入超分辨率算法;为了提升动态范围,引入高动态范围成像(High Dynamic Range Imaging,简称HDR)算法等。随着集成算法的增加,会导致相机性能的下降,并且集成这些算法不仅加大终端研发方和芯片厂商的耦合性,还会增加工程师的工作量。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种图像处理方法、装置、设备及存储介质,用以解决相关技术中的缺陷。
根据本公开实施例的第一方面,提供一种图像处理方法,所述方法包括:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
在一可选的实施例中,所述方法还包括:
将所述初始图像数据缓存至预设的缓存队列中;
按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
在一可选的实施例中,所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,包括:
基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据;
对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,所述获取请求中包括所述目标图像数据的目标格式;
所述对所述初步处理数据进行目标格式编码,包括:
将所述初步处理数据由当前图像格式转换为目标格式。
在一可选的实施例中,所述对所述初步处理数据进行目标格式编码,得到目标图像数据,包括:
基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,在得到所述目标图像数据后,所述方法还包括:
对所述目标图像数据进行保存,得到所述目标图像数据的保存路径;
构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库;
向目标应用程序发送通知信息,所述通知信息用于供所述目标应用程序基于所述标识信息获取所述目标图像数据。
根据本公开实施例的第二方面,提供一种图像处理装置,所述装置包括:
获取请求接收模块,用于接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
初始数据获取模块,用于响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
目标数据获取模块,用于利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据;
图像数据发送模块,用于向所述相机应用程序发送所述目标图像数据。
在一可选的实施例中,所述装置还包括:
数据缓存模块,用于将所述初始图像数据缓存至预设的缓存队列中;
所述目标数据获取模块还用于按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
在一可选的实施例中,所述目标数据获取模块,还包括:
数据初步处理单元,用于基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据;
目标格式编码单元,用于对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,所述获取请求中包括所述目标图像数据的目标格式;
所述目标格式编码单元,还用于将所述初步处理数据由当前图像格式转换为目标格式。
在一可选的实施例中,所述目标格式编码单元,还用于基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,所述装置还包括:通知信息发送模块;
所述通知信息发送模块,包括:
保存路径获取单元,用于对所述目标图像数据进行保存,得到所述目标图像数据的保存路径;
关联关系录入单元,用于构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库;
通知信息发送单元,用于向目标设定的相机应用程序发送通知信息,所述通知信息用于供所述目标设定的相机应用程序基于所述标识信息获取所述目标图像数据。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器,以及用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开通过接收相机应用程序发送的用于获取目标图像数据的获取请求,并响应于所述获取请求,从硬件抽象层HAL获取初始图像数据,然后利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,进而向所述相机应用程序发送所述目标图像数据,由于是基于虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,因而可以解决相关技术中由于在HAL中集成预设图像处理算法所带来的问题,可以提升相机性能,并且可以减小终端研发方和芯片厂商的耦合性,进而减少工程师的工作量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种图像处理方法的流程图;
图2是根据又一示例性实施例示出的一种图像处理方法的流程图;
图3是根据一示例性实施例示出的如何利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理的流程图;
图4是根据另一示例性实施例示出的一种图像处理方法的流程图;
图5是根据一示例性实施例示出的图像处理方法的架构流程图;
图6是根据一示例性实施例示出的一种图像处理装置的框图;
图7是根据一示例性实施例示出的另一种图像处理装置的框图;
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
相机作为智能终端最重要的模块之一,其表现的好坏会直接影响用户购买终端的意愿。相机表现优秀主要体现在如下两方面:
一、性能优秀:主要包括相机启动快、模式切换快、拍照速度快等等。
二、成像质量优秀:主要包括白平衡准确、动态范围高、解析力强、噪声低、双摄虚化主体清晰背景模糊等等。
为了提升成像质量,相机通常会引入相应的算法。例如,为了降低噪声,引入多帧降噪算法;为了提升解析力,引入超分辨率算法;为了提升动态范围,引入HDR算法。
目前,市面上的相机通常引入超过40个算法,而且正在引入中的算法数量还在持续增长。随着集成算法的增加,下述各种弊端也逐渐显现:
虽然集成相应的算法有利于成像质量的提升,但算法的增加却会导致相机性能的下降,即集成的算法越多,相机的性能则会越差。
除对相机性能的影响外,集成这些算法不仅会加大相机应用层和相机HAL层之间的耦合,还会增加工程师的工作量。目前这些算法全部集成在相机底层的HAL(HardwareAbstract Layer硬件抽象层)部分。HAL的代码是由芯片厂商实现的,这些代码在不同厂商的芯片,甚至在同一厂商不同的芯片上都是不一样的。因为HAL代码的差异,导致集成算法的代码也无法适用于所有芯片。这就意味着每研发一个新机型,工程师需要先熟悉该机型芯片相机HAL部分的代码,再集成每个算法,工作量大大增加。有鉴于此,本公开实施例提供以下图像处理方法、装置、设备及存储介质,用以解决上述相关技术中的缺陷。
图1是根据第一示例性实施例示出的一种图像处理方法的流程图;本实施例的图像处理方法可以应用于终端设备(如,智能手机、智能相机、平板电脑、可穿戴设备等)的照相装置(Camera Device)中。如图1所示,该方法包括以下步骤S101-S104:
在步骤S101中,接收相机应用程序发送的用于获取目标图像数据的获取请求。
其中,所述获取请求包括基于所述相机应用程序的运行指令生成的请求。
本实施例中,当终端设备的应用程序需要获取目标图像数据时,可以向终端设备的照相装置发送目标图像数据的获取请求。
在一实施例中,获取请求可以由用户触发,换言之,终端设备可以通过接收用户,接收用户对相机应用程序的用户输入,这里,用户输入可以为用户的触控输入或者语音输入等等。例如,用户输入可以为对设定按键的触控输入,则上述获取请求可以包括用户通过触发相机应用程序的设定按键(如,实体按键或虚拟按键)来运行相机应用程序时生成的请求信息,本实施例对此不进行限定。
其中,上述相机应用程序可以包括终端设备中各种可以具备调用照相装置获取图像数据功能的应用程序,如用于实现拍摄功能的相机应用程序或即时通讯程序等,本实施例对此不进行限定。
示例性地,用户输入可以为用于触发执行拍摄功能的拍摄输入。举例来说,当用户打开相机应用程序进行自拍时,可以触发相机应用程序的设定按键(如,实体按键或虚拟按键)来运行相机应用程序,进而该相机应用程序可以响应于生成的运行指令,向照相装置发送目标图像数据的获取请求。进而,该照相装置可以接收相机应用程序发送的用于获取目标图像数据的获取请求。
在步骤S102中,响应于所述获取请求,从硬件抽象层HAL获取初始图像数据。
本实施例中,终端设备的照相装置可以响应于所述获取请求,从硬件抽象层HAL获取初始图像数据。
其中,上述HAL的代码是由芯片厂商实现,本实施例对此不进行限定。
举例来说,照相装置可以对应HAL层的一个或多个照相传感器(camera senor),当应用程序想要请求对应sensor的图像数据时,可以创建获取请求CaptureRequest,并可以指定所请求数据的尺寸、格式等信息,然后将这些请求发送给照相装置,进而照相装置可以通过与HAL交互,得到初始图像数据。
在步骤S103中,利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据。
本实施例中,当照相装置响应于所述获取请求,从硬件抽象层HAL获取初始图像数据后,可以利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据。
举例来说,终端设备中可以预先构建一虚拟的图形处理系统(以下称为虚拟图形处理系统),并在该虚拟图形处理系统中集成预设图像处理算法,进而当照相装置从硬件抽象层HAL获取初始图像数据后,可以利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对获取的初始图像数据进行处理,得到目标图像数据。
值得说明的是,上述预设图像处理算法可以由开发人员根据实际业务需要进行设置,如设置为用于降低噪声的多帧降噪算法、用于提升解析力的超分辨率算法以及用于提升动态范围的HDR算法、水印处理算法、滤镜处理算法等,本实施例对此不进行限定。
在步骤S104中,向所述相机应用程序发送所述目标图像数据。
本实施例中,当照相装置利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据后,可以向上述相机应用程序发送该目标图像数据。
由上述描述的技术方案可知,本实施例通过接收相机应用程序发送的用于获取目标图像数据的获取请求,并响应于所述获取请求,从硬件抽象层HAL获取初始图像数据,然后利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,进而向所述相机应用程序发送所述目标图像数据,由于是基于虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,因而可以解决相关技术中由于在HAL中集成预设图像处理算法所带来的问题,可以提升相机性能,并且可以减小终端研发方和芯片厂商的耦合性,进而减少工程师的工作量。
图2是根据又一示例性实施例示出的一种图像处理方法的流程图;本实施例的图像处理方法可以应用于终端设备(如,智能手机、智能相机、平板电脑、可穿戴设备等)的照相装置(Camera Device)中。如图2所示,该方法包括以下步骤S201-S205:
在步骤S201中,接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求。
在步骤S202中,响应于所述获取请求,从硬件抽象层HAL获取初始图像数据。
在步骤S203中,将所述初始图像数据缓存至预设的缓存队列中。
本实施例中,当照相装置从硬件抽象层HAL获取初始图像数据后,可以将所述初始图像数据缓存至预设的缓存队列中。
举例来说,可以预先构建一个缓存队列,用于存放从硬件抽象层HAL获取的各个初始图像数据,以供后续处理。当照相装置从硬件抽象层HAL获取初始图像数据后,可以先将该初始图像数据缓存至上述预先构建的缓存队列中。
在步骤S204中,按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据。
本实施例中,当将所述初始图像数据缓存至预设的缓存队列中后,可以按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
举例来说,本实施例中图像数据的缓存和处理可以分别按照以下并行的流水线1和流水线2来实现:
流水线1:接收第一图像数据获取请求->禁用拍照按键->从HAL层获取第一初始图像数据->将获取的第一初始图像数据缓存至缓存队列->使能拍照按键->接收第二图像数据获取请求->…
流水线2(和流水线1并行):从缓存队列获取第一初始图像数据->基于预设图像处理算法等对第一初始图像数据进行处理->从缓存队列获取第二初始图像数据->…
可以理解的是,由于相关技术中的各种图像处理算法都被集成在HAL层中,这些算法通常耗时较长,会增加HAL返回数据给应用的耗时。因为应用程序发送请求后需要等到HAL层返回数据后才可以发送下一个请求,所以两次请求之间的间隔会因为各种图像处理算法的耗时而增加。为了解决该问题,本实施例中将从HAL层获取的初始图像数据缓存至缓存队列,然后按照缓存的先后顺序,将该缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中利用虚拟图形处理系统中集成的预设图像处理算法对初始图像数据进行处理,可以实现基于两条并行的流水线来实现初始图像数据的缓存和处理。由于应用程序请求图像数据无需经过预设图像处理算法的处理,所以两次图像获取请求之间的时间间隔可以大大缩短,进而可以提升终端设备对用户连续点击拍照按钮等操作的响应速度。
在步骤S205中,向所述相机应用程序发送所述目标图像数据。
其中,步骤S201-S202、S205的相关解释和说明可以参见上述实施例,在此不进行赘述。
由上述描述可知,本实施例通过将从HAL层获取的初始图像数据缓存至缓存队列,然后按照缓存的先后顺序,将该缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中利用虚拟图形处理系统中集成的预设图像处理算法对初始图像数据进行处理,可以实现基于两条并行的流水线来实现初始图像数据的缓存和处理。由于应用程序请求图像数据无需经过预设图像处理算法的处理,所以两次图像获取请求之间的时间间隔可以大大缩短,进而可以提升终端设备对用户连续点击拍照按钮等操作的响应速度。
图3是根据一示例性实施例示出的如何利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理的流程图;本实施例在上述实施例的基础上以如何利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理为例进行示例性说明。如图3所示,上述步骤S103中所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,可以包括以下步骤S301-S302:
在步骤S301中,基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据。
本实施例中,当响应于所述获取请求,从硬件抽象层HAL获取初始图像数据后,可以调用虚拟图形处理系统中集成的预设图像处理算法对当前的初始图像数据进行处理。
在一可选的实施例中,上述预设图像处理算法可以由开发人员根据实际业务需要进行设置,如设置为用于降低噪声的多帧降噪算法、用于提升解析力的超分辨率算法以及用于提升动态范围的HDR算法、水印处理算法、滤镜处理算法等,本实施例对此不进行限定。
在步骤S302中,对所述初步处理数据进行目标格式编码,得到目标图像数据。
本实施例中,还可以对所述初步处理数据进行目标格式编码,得到目标图像数据,例如进行Jpeg编码等。
在一可选的实施例中,可以将所述经过所述预设图像处理算法处理的图像数据由当前图像格式转换为目标格式。
其中,当前图像格式可以为yuv格式或raw格式等,本实施例对此不进行限定。
值得说明的是,相机传感器通常可以输出以下三种格式的数据:
第一种、raw bayer格式:数据从senor输出后,如果应用程序请求的size/region和sensor输出的size/region不同,则经过scale(拉伸或者缩小)或者crop(裁剪)操作后再输出;否则,不做任何操作直接输出。
第二种、yuv格式:数据从sensor输出后,经过hot pixel correction、demosaic等一系列处理后将其转换成yuv数据。这一系列操作在各厂商的SOC上基本都是固定的。
第三种、jpeg格式:在yuv格式的基础上,经过jpeg encoder的编码处理,yuv格式可转换为jpeg格式。在yuv转jpeg前,终端厂商通常还会加其他一些算法来提升画质,例如降噪算法、去紫边算法、畸变矫正算法等等。
因为jpeg格式已经被普遍支持,所以相机应用程序最终保存的文件格式通常都是jpeg格式。
可以理解的是,相比请求yuv格式的数据,由于raw格式的数据无需经过hot pixelcorrection、demosaic等处理,因而可以进一步缩短两次数据请求之间的时间间隔。
在一可选的实施例中,可以基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
本实施例中,可以预先一构建虚拟图形处理系统,在该系统中集成预设图像处理算法,同时可以虚拟出一个虚拟的相机装置(Camera Device,以下称为虚拟相机装置)。值得说明的是,该虚拟相机装置并不对应硬件的相机传感器(Camera sensor)。在此基础上,当基于所述预设图像处理算法对所述初始图像数据进行处理并得到初步处理数据后,可以基于该虚拟相机装置对所述初步处理数据进行目标格式编码,得到目标图像数据。
可以理解的是,由于上述虚拟图形处理系统中使用的虚拟相机装置并不依赖于硬件的相机传感器,因而虚拟相机装置可以突破同一个时间点只能供一个应用程序使用的限制,即本实施例中的虚拟相机装置可以实现同一个时间点供多个应用程序使用。举例来说,虚拟图形处理系统可以先将某一应用程序请求的yuv数据缓存起来,然后再进行后处理,在该过程中,即使该发出请求的应用程序已经退出,对其请求的yuv数据的处理也可以照常进行。
在另一实施例中,上述可以基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码的流程还可以参见下述图5所示实施例,在此先不进行详述。
由上述描述的技术方案可知,本实施例通过基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据,并对所述初步处理数据进行目标格式编码,得到目标图像数据,可以实现利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,由于是基于虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,并对所述初步处理数据进行目标格式编码,得到目标图像数据得到所述目标图像数据,因而可以解决相关技术中由于在HAL中集成预设图像处理算法所带来的问题,可以提升相机性能,并且可以减小终端研发方和芯片厂商的耦合性,进而减少工程师的工作量。
图4是根据另一示例性实施例示出的一种图像处理方法的流程图;本实施例的图像处理方法可以应用于终端设备(如,智能手机、智能相机、平板电脑、可穿戴设备等)的照相装置(Camera Device)中。如图4所示,该方法包括以下步骤S401-S407:
在步骤S401中,接收相机应用程序发送的用于获取目标图像数据的获取请求。
所述获取请求包括基于所述相机应用程序的运行指令生成的请求。
在步骤S402中,响应于所述获取请求,从硬件抽象层HAL获取初始图像数据。
在步骤S403中,利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据。
在步骤S404中,向所述相机应用程序发送所述目标图像数据。
其中,步骤S401-S404的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S405中,对所述目标图像数据进行保存,得到所述目标图像数据的保存路径。
本实施例中,当利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据后,可以对所述目标图像数据进行保存,得到所述目标图像数据的保存路径。
举例来说,在得到目标图像数据后,可以将该目标图像数据保存至终端设备的存储模块中,并可以获取相应的存储路径。
在步骤S406中,构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库。
本实施例中,当对所述目标图像数据进行保存,得到所述目标图像数据的保存路径后,可以构建该目标图像数据的标识信息与其保存路径的关联关系,并将所述关联关系录入数据库。
其中,该数据库可以用于根据目标数据的标识信息从中检索目标图像数据的保存路径。
在一实施例中,上述目标数据的标识信息可以为用于区分该数据与其他数据的、且唯一对应于目标数据的信息,例如为ID(identification,身份)号等,本实施例对此不进行限定。
在步骤S407中,向目标应用程序发送通知信息,所述通知信息用于供所述目标应用程序基于所述标识信息获取所述目标图像数据。
本实施例中,当构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库后,可以向目标应用程序发送通知信息,已通知目标应用程序可以基于所述标识信息获取所述目标图像数据。
举例来说,照相装置可以利用图像存储接口“ImageSaver”对得到的目标图像数据进行保存,得到保存路径等信息,其中,该目标图像数据可以为jpeg文件,进而可以将该文件的保存路径等信息录入数据库,并可以通知目标应用程序。
值得说明的是,上述目标应用程序可以由开发人员基于实际业务需要进行设置,如设置为图片相册管理程序“gallery”等应用程序,本实施例对此不进行限定。
由上述描述的技术方案可知,本实施例通过对所述目标图像数据进行保存,得到所述目标图像数据的保存路径,并构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库,以及向目标应用程序发送通知信息,所述通知信息用于供所述目标应用程序基于所述标识信息获取所述目标图像数据,可以满足后续目标应用程序对目标图像数据的应用需求。
图5是根据一示例性实施例示出的图像处理方法的架构流程图。本实施例在终端设备中预先构建一个虚拟的图形处理系统,在该系统中构建“算法框架”模块,并在其中集成预设图像处理算法,同时可以虚拟出一个虚拟的相机装置(Camera Device,即图5中所示的虚拟相机装置)。值得说明的是,该虚拟相机装置并不对应硬件的相机传感器(Camerasensor)。
如图5所示,相机应用程序通过相机应用程序接口(Camera API)向对应于硬件相机传感器的第一相机装置(Camera Device)请求图像数据,然后,该第一相机装置通过与HAL层交互,使得HAL层将初始图像数据(如,yuv数据)发送给虚拟图形处理系统,进而该图形处理系统收到数据后,先将这些数据缓存起来,然后对缓存的数据逐一进行后处理,包括将该yuv数据缓存至预设的缓存队列,并按照缓存的先后顺序,将缓存队列中已缓存的yuv数据逐一移动至预设的处理队列中,以在该处理队列中利用预设图像处理算法对数据进行处理。进一步地,还可以基于实际需求,对处理后的数据进行滤镜处理和水印处理等,进而再将经过此步骤处理的yuv数据发送给虚拟相机装置完成目标格式(如,jpeg格式)的编码。
值得说明的是,在实际应用中,上述滤镜处理和/或水印处理的算法也可以集成在预设图像处理算法中,本实施例仅用于进行示例性说明。
“目标格式编码”模块用于通过调用虚拟的CameraDevice完成目标格式(如,jpeg格式)编码,图像存储接口“ImageSaver”用于完成目标格式文件的保存、将文件的保存信息插入数据库,以及将保持的文件的标识等信息通知图片相册管理应用程序gallery等。
图6是根据一示例性实施例示出的一种图像处理装置的框图。本实施例的图像处理装置可以应用于终端设备(如,智能手机、智能相机、平板电脑、可穿戴设备等)的照相装置Camera Device中。如图6所示,该装置包括:获取请求接收模块110、初始数据获取模块120、目标数据获取模块130以及图像数据发送模块140,其中:
获取请求接收模块110,用于接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
初始数据获取模块120,用于响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
目标数据获取模块130,用于利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据;
图像数据发送模块140,用于向所述相机应用程序发送所述目标图像数据。
由上述描述的技术方案可知,本实施例通过接收相机应用程序发送的用于获取目标图像数据的获取请求,并响应于所述获取请求,从硬件抽象层HAL获取初始图像数据,然后利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,进而向所述相机应用程序发送所述目标图像数据,由于是基于虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,因而可以解决相关技术中由于在HAL中集成预设图像处理算法所带来的问题,可以提升相机性能,并且可以减小终端研发方和芯片厂商的耦合性,进而减少工程师的工作量。
图7是根据一示例性实施例示出的另一种图像处理装置的框图。本实施例的图像处理装置可以应用于终端设备(如,智能手机、智能相机、平板电脑、可穿戴设备等)的照相装置(Camera Device)中。其中,该装置中的获取请求接收模块210、初始数据获取模块220、目标数据获取模块230以及图像数据发送模块240与前述图6所示实施例中的获取请求接收模块110、初始数据获取模块120、目标数据获取模块130以及图像数据发送模块140的功能相同,在此不进行赘述。
如图7所示,所述的装置可以包括:
数据缓存模块250,用于将所述初始图像数据缓存至预设的缓存队列中;
在此基础上,目标数据获取模块230还可以用于按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
在一可选的实施例中,目标数据获取模块230,还可以包括:
数据初步处理单元231,用于基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据;
目标格式编码单元232,用于对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,上述获取请求中可以包括目标图像数据的目标格式;
在此基础上,上述目标格式编码单元232,还可以用于将所述初步处理数据由当前图像格式转换为目标格式。
在一可选的实施例中,目标格式编码单元232,还可以用于基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
在一可选的实施例中,上述装置还可以包括:通知信息发送模块260;
所述的通知信息发送模块260,可以包括:
保存路径获取单元261,用于对所述目标图像数据进行保存,得到所述目标图像数据的保存路径;
关联关系录入单元262,用于构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库;
通知信息发送单元263,用于向目标设定的相机应用程序发送通知信息,所述通知信息用于供所述目标设定的相机应用程序基于所述标识信息获取所述目标图像数据。
图8是根据一示例性实施例示出的一种电子设备的框图。例如,设备900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,设备900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。
处理组件902通常控制设备900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理部件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在设备900的操作。这些数据的示例包括用于在设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件906为设备900的各种组件提供电力。电力组件906可以包括电源管理系统,一个或多个电源,及其他与为设备900生成、管理和分配电力相关联的组件。
多媒体组件908包括在所述设备900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为设备900提供各个方面的状态评估。例如,传感器组件914可以检测到设备900的打开/关闭状态,组件的相对定位,例如所述组件为设备900的显示器和小键盘,传感器组件914还可以检测设备900或设备900一个组件的位置改变,用户与设备900接触的存在或不存在,设备900方位或加速/减速和设备900的温度变化。传感器组件914还可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于设备900和其他设备之间有线或无线方式的通信。设备900可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G或5G或它们的组合。在一个示例性实施例中,通信部件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图像处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由设备900的处理器920执行以完成上述图像处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种图像处理方法,其特征在于,所述方法包括:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述初始图像数据缓存至预设的缓存队列中;
按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
3.根据权利要求1所述的方法,其特征在于,所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据,包括:
基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据;
对所述初步处理数据进行目标格式编码,得到目标图像数据。
4.根据权利要求3所述的方法,其特征在于,所述获取请求中包括所述目标图像数据的目标格式;
所述对所述初步处理数据进行目标格式编码,包括:
将所述初步处理数据由当前图像格式转换为目标格式。
5.根据权利要求3所述的方法,其特征在于,所述对所述初步处理数据进行目标格式编码,得到目标图像数据,包括:
基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
6.根据权利要求1所述的方法,其特征在于,在得到所述目标图像数据后,所述方法还包括:
对所述目标图像数据进行保存,得到所述目标图像数据的保存路径;
构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库;
向目标应用程序发送通知信息,所述通知信息用于供所述目标应用程序基于所述标识信息获取所述目标图像数据。
7.一种图像处理装置,其特征在于,所述装置包括:
获取请求接收模块,用于接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
初始数据获取模块,用于响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
目标数据获取模块,用于利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据;
图像数据发送模块,用于向所述相机应用程序发送所述目标图像数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数据缓存模块,用于将所述初始图像数据缓存至预设的缓存队列中;
所述目标数据获取模块还用于按照缓存的先后顺序,将所述缓存队列中已缓存的初始图像数据逐一移动至预设的处理队列中执行所述利用预先构建的虚拟图形处理系统中集成的预设图像处理算法对所述初始图像数据进行处理,得到所述目标图像数据的步骤。
9.根据权利要求7所述的装置,其特征在于,所述目标数据获取模块,还包括:
数据初步处理单元,用于基于所述预设图像处理算法对所述初始图像数据进行处理,得到初步处理数据;
目标格式编码单元,用于对所述初步处理数据进行目标格式编码,得到目标图像数据。
10.根据权利要求9所述的装置,其特征在于,所述获取请求中包括所述目标图像数据的目标格式;
所述目标格式编码单元,还用于将所述初步处理数据由当前图像格式转换为目标格式。
11.根据权利要求9所述的装置,其特征在于,所述目标格式编码单元,还用于基于预先构建的虚拟相机装置,对所述初步处理数据进行目标格式编码,得到目标图像数据。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:通知信息发送模块;
所述通知信息发送模块,包括:
保存路径获取单元,用于对所述目标图像数据进行保存,得到所述目标图像数据的保存路径;
关联关系录入单元,用于构建所述目标图像数据的标识信息与所述保存路径的关联关系,并将所述关联关系录入数据库;
通知信息发送单元,用于向目标设定的相机应用程序发送通知信息,所述通知信息用于供所述目标设定的相机应用程序基于所述标识信息获取所述目标图像数据。
13.一种电子设备,其特征在于,包括:
处理器,以及用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
接收相机应用程序发送的用于获取目标图像数据的获取请求,所述获取请求包括基于所述相机应用程序的运行指令生成的请求;
响应于所述获取请求,从硬件抽象层HAL获取初始图像数据;
利用预先构建的虚拟图形处理系统对所述初始图像数据进行处理,得到所述目标图像数据;
向所述相机应用程序发送所述目标图像数据。
CN202010478167.4A 2020-05-29 2020-05-29 图像处理方法、装置、设备及存储介质 Pending CN113746998A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010478167.4A CN113746998A (zh) 2020-05-29 2020-05-29 图像处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010478167.4A CN113746998A (zh) 2020-05-29 2020-05-29 图像处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113746998A true CN113746998A (zh) 2021-12-03

Family

ID=78724889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010478167.4A Pending CN113746998A (zh) 2020-05-29 2020-05-29 图像处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113746998A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130680A (zh) * 2023-02-24 2023-11-28 荣耀终端有限公司 一种芯片资源的调用方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300240A (zh) * 2019-06-28 2019-10-01 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍照装置及电子设备
CN110933275A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 拍照方法及相关设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300240A (zh) * 2019-06-28 2019-10-01 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍照装置及电子设备
CN110933275A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 拍照方法及相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130680A (zh) * 2023-02-24 2023-11-28 荣耀终端有限公司 一种芯片资源的调用方法及电子设备

Similar Documents

Publication Publication Date Title
CN106657780B (zh) 图像预览方法和装置
US20230276340A1 (en) Capability reporting method and apparatus, and capability determination method and apparatus
CN113032030A (zh) 相机启动方法、装置、终端设备和存储介质
CN111726516A (zh) 图像处理方法及装置
CN110876014B (zh) 图像处理方法及装置、电子设备及存储介质
CN112331158B (zh) 终端显示调节方法、装置、设备及存储介质
CN114500821B (zh) 拍照方法及装置、终端及存储介质
CN113746998A (zh) 图像处理方法、装置、设备及存储介质
CN111698414B (zh) 图像信号处理方法及装置、电子设备、可读存储介质
CN110874829B (zh) 图像处理方法及装置、电子设备及存储介质
CN109032583B (zh) 数据交互方法及装置
CN109981729B (zh) 文件处理方法、装置、电子设备及计算机可读存储介质
CN112102009A (zh) 广告展示方法、装置、设备及存储介质
CN114418865A (zh) 图像处理方法、装置、设备及存储介质
CN110704197A (zh) 处理内存访问开销的方法、装置及介质
CN107220131B (zh) 数据通讯方法、装置及设备
CN110876013B (zh) 确定图像分辨率的方法及装置、电子设备及存储介质
CN114500819B (zh) 拍摄方法、拍摄装置以及计算机可读存储介质
CN110876015B (zh) 确定图像分辨率的方法及装置、电子设备及存储介质
CN109582851B (zh) 搜索结果处理方法及装置
CN107105182B (zh) 视频备份方法及装置
CN116419062A (zh) 图像处理方法、装置及存储介质
CN117692769A (zh) 相机控制方法、装置、图像处理框架、介质、终端及芯片
CN115052100A (zh) 图像处理方法及装置
CN117692749A (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