图像处理方法、装置和电子设备
文献发布时间:2023-06-19 11:35:49
技术领域
本申请属于通信技术领域,具体涉及一种图像处理方法、装置和电子设备。
背景技术
目前,在电子设备变焦拍摄物体的场景下,用户可以在电子设备中开启平滑切换(spatial alignment transition,SAT)功能,以使得电子设备可以执行SAT功能,来采集该物体的清晰图像。
在相关技术中,以电子设备中具有摄像头1和摄像头2为例,在执行SAT功能的过程中,电子设备的硬件层中的摄像头1和摄像头2可以分别采集多个图像,然后,将上述多个图像发送至电子设备的操作系统层,以生成对应的图像缓冲队列。这样,操作系统层可以根据设置的变焦倍率,确定出与该变焦倍率对应的摄像头(例如摄像头2),然后,输出该摄像头2对应的图像缓冲队列,以使得硬件层的显示屏可以显示该图像缓冲队列。
然而,由于在执行SAT功能的过程中,操作系统层是根据设置的变焦倍率,从硬件层中的多个摄像头中选择出相应的摄像头,即,操作系统层与硬件层是紧密耦合的。因此,当需要在不具备SAT功能的电子设备上移植某一电子设备的SAT功能时,则需要对该不具备SAT功能的电子设备的操作系统层的代码进行修改,导致整个SAT功能的移植效率较低。
发明内容
本申请实施例的目的是提供一种图像处理方法、装置和电子设备,能够解决整个SAT功能的移植效率较低的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种图像处理方法,应用于包含M个摄像头的电子设备,M为大于1的正整数,该方法包括:在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头;在第一系统层,将目标摄像头对应的图像帧序列,确定为目标图像帧序列,并将该目标图像帧序列传输至第二系统层;该目标图像帧序列包括:该目标摄像头采集到的至少一帧图像;在第二系统层,输出目标图像帧序列。
第二方面,本申请实施例提供了一种图像处理装置,该图像处理装置包含M个摄像头,M为大于1的正整数,该图像处理装置还包括:确定模块、传输模块和输出模块。
其中,确定模块,用于在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头;并在第一系统层,将该目标摄像头对应的图像帧序列,确定为目标图像帧序列;该目标图像帧序列包括:该目标摄像头采集到的至少一帧图像。传输模块,用于将确定模块确定出的目标图像帧序列传输至第二系统层。输出模块,用于在第二系统层,输出传输模块传输的目标图像帧序列。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,电子设备可以在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头,并在第一系统层,将该目标摄像头采集到的图像帧序列,确定为目标图像帧序列(该目标图像帧序列包括至少一帧图像),以及,将该目标图像帧序列传输至第二系统层,从而电子设备可以在第二系统层,输出该目标图像帧序列。由于可以在电子设备中配置新的系统层(即第一系统层),这样,在执行SAT功能的过程中,电子设备可以在该新的系统层,确定出目标拍摄参数对应的目标摄像头,并在该新的系统层,确定出该目标摄像头对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,电子设备的操作系统层与硬件层并不是紧密耦合的,因此,当需要在不具备SAT功能的电子设备上移植某一电子设备的SAT功能时,并不需要对该不具备SAT功能的电子设备的新的系统层的代码进行修改,如此,可以提升整个SAT功能的移植效率。
附图说明
图1是相关技术中的电子设备的架构图;
图2是本申请实施例提供的电子设备的架构图;
图3是本申请实施例提供的图像处理方法的示意图之一;
图4是本申请实施例提供的图像处理方法的示意图之二;
图5是本申请实施例提供的图像处理方法的示意图之三;
图6是本申请实施例提供的图像处理方法的示意图之四;
图7是本申请实施例提供的图像处理方法的示意图之五;
图8是本申请实施例提供的图像处理装置的结构示意图;
图9是本申请实施例提供的电子设备的结构示意图;
图10是本申请实施例提供的电子设备的硬件示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图像处理方法进行详细地说明。
图1示出了相关技术中的电子设备100的架构图。如图1所示,电子设备100的架构包括应用层101、操作系统层102和硬件层103。
其中,应用层101包括电子设备100中安装的各个应用程序(例如拍摄类应用程序)。
操作系统层102包括电子设备100的操作系统,该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。
硬件层103包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)、内存、摄像头和显示屏等硬件。
在相关技术中,假设用户需要通过电子设备100变焦拍摄物体1,则用户可以触发电子设备100显示拍摄类应用程序的界面,并在该界面中对SAT功能选项进行输入,以使得电子设备100可以开启SAT功能,并在应用层101向操作系统层102发送预览请求,该预览请求中包括变焦倍率(和/或视角),然后电子设备100可以根据该变焦倍率(和/或视角),从电子设备100的所有摄像头中,确定出与该变焦倍率(和/或视角)对应的摄像头1,并在操作系统层102,控制硬件层103的摄像头1采集多个预览图像,并接收硬件层103发送的该多个预览图像,以生成图像缓冲队列1。下来,电子设备100可以在操作系统层102,向硬件层103的图像信号处理器(image signal processing,ISP)输出该图像缓冲队列1,以使得ISP可以对该图像缓冲队列1进行图像处理,得到预览图像帧序列,从而ISP可以向应用层101的拍摄类应用发送该预览图像帧序列,以使得该拍摄类应用程序的界面中可以显示该预览画面。
但是,由于在执行SAT功能的过程中,电子设备100的操作系统层102与硬件层103是紧密耦合的,当需要在不具备SAT功能的电子设备上移植电子设备100的SAT功能时,则需要对该不具备SAT功能的电子设备的操作系统层的代码进行修改,因此,导致整个SAT功能的移植效率较低。
图2示出了本申请实施例的电子设备200的架构图。如图2所示,电子设备200的架构包括应用层201、客制化系统层202、操作系统层203和硬件层204。
其中,客制化系统层202可以包括电子设备200包括电子设备的操作系统,该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统。
在本申请实施例中,假设用户需要通过电子设备200变焦拍摄物体1,则用户可以在拍摄类应用程序的界面中,触发电子设备200开启SAT功能、并在应用层201向客制化系统层202发送预览请求,该预览请求中包括变焦倍率(和/或视角),然后电子设备200可以根据该变焦倍率(和/或视角),在客制化系统层202,从电子设备200的所有摄像头中,确定出与该变焦倍率(和/或视角)对应的摄像头1,并控制硬件层203的摄像头1采集多个预览图像,以及,接收硬件层203发送的该多个预览图像,以生成摄像头1对应的图像缓冲队列1。下来,电子设备200可以在客制化系统层202,向操作系统层203发送该图像缓冲队列1,并可以在操作系统层203,向硬件层203的ISP输出该图像缓冲队列1,以使得ISP可以对该图像缓冲队列1进行图像处理,得到预览图像帧序列,从而ISP可以向应用层201的拍摄类应用发送该预览图像帧序列,以使得该拍摄类应用程序的界面中可以显示该预览画面。
可以理解,电子设备200可以在新配置的系统层(即客制化系统层202),根据变焦倍率,从硬件层203的多个摄像头中选择出相应的摄像头,即,操作系统层202与硬件层203不是紧密耦合的,因此,可以提升整个SAT功能的移植效率。
图3示出了本申请实施例提供的一种图像处理方法的流程图。如图3所示,本申请实施例提供的图像处理方法可以包括下述的步骤101至步骤103。
步骤101、图像处理装置在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头。
本申请实施例中,图像处理装置为包含M个摄像头的图像处理装置;M为大于1的正整数。可以理解,图像处理装置具体可以为:包含至少两个摄像头。
可选地,本申请实施例中,图像处理装置具体可以为:具备SAT功能的图像处理装置。
可选地,本申请实施例中,上述至少两个摄像头中的每个摄像头的硬件参数均不同,该硬件参数可以包括以下至少一项:焦距、视角等。
可选地,在一种场景下,在图像处理装置显示桌面的情况下,若图像处理装置检测到用户对桌面中的目标应用程序的应用图标的点击输入,则可以开启目标应用程序,并显示该目标应用程序的第一界面。然后,若图像处理装置检测到用户对第一界面中的“SAT功能”选项的选择输入,则图像处理装置可以开启SAT功能,并在第一系统层,从M个摄像头中,确定出目标摄像头。
可选地,在另一种场景下,在图像处理装置开启SAT功能、且第一界面的界面中显示预览画面的情况下,若检测到用户在该第一界面中的拍摄输入,则图像处理装置可以在第一系统层,从M个摄像头中,确定出目标摄像头。
可以理解,若用户触发图像处理装置开启SAT功能,则可以认为用户可能需求图像处理装置变焦拍摄物体,因此,图像处理装置可以确定出与目标拍摄参数对应的目标摄像头。
可选地,本申请实施例中,上述目标应用程序具体可以为:摄像类应用程序。需要说明的是,上述“摄像类应用程序”可以理解为:具备摄像功能的应用程序。
可选地,本申请实施例中,上述第一界面具体可以为:目标应用程序的拍摄预览界面。
可选地,本申请实施例中,上述目标拍摄参数包括以下至少一项:变焦倍率、视角等。该目标拍摄参数可以为用户在第一界面中设置的拍摄参数。
可选地,本申请实施例中,上述目标摄像头可以包括一个摄像头或多个摄像头。
可选地,本申请实施例中,在目标拍摄参数包括变焦倍率的情况下,图像处理装置可以在第一系统层,根据至少一个第一对应关系,从M个图像帧序列中,确定出与目标拍摄参数对应的目标摄像头。每个第一对应关系分别为;一个变焦倍率区间和一个摄像头标识间的对应关系。
进一步可选地,本申请实施例中,在目标摄像头包括一个摄像头、且目标拍摄参数包括变焦倍率的情况下,图像处理装置可以从M个变焦倍率区间中,确定出该变焦倍率所处的一个变焦倍率区间,再将该一个变焦倍率区间对应的一个对应关系中的一个摄像头标识,确定为目标摄像头标识,从而图像处理装置可以将M个摄像头中,一个摄像头(即目标摄像头标识指示的摄像头),确定为目标摄像头。
进一步可选地,本申请实施例中,在目标摄像头包括多个摄像头、且目标拍摄参数包括变焦倍率的情况下,若M个变焦倍率区间中不包括该变焦倍率所处的一个变焦倍率区间,则图像处理装置可以根据该变焦倍率,从M个变焦倍率区间中的2M个临界值(该2M个临界值中的每个临界值均不同)中,确定出一个临界值,该一个临界值为2M个临界值中、小于该变焦倍率的临界值中的最大临界值,并将该一个临界值对应的一个变焦倍率区间,确定为第一变焦倍率区间,再从M个变焦倍率区间中的2M个临界值中,确定出另一个临界值,该另一个临界值为2M个临界值中、大于该变焦倍率的临界值中的最小临界值,并将该另一个临界值对应的另一个变焦倍率区间,确定为第二变焦倍率区间。从而图像处理装置可以将第一变焦倍率区间对应的一个第一对应关系中的一个摄像头标识,确定为第一目标摄像头标识,以及,将第二变焦倍率区间对应的另一个第一对应关系中的另一个摄像头标识,确定为第二目标摄像头标识,从而图像处理装置可以将M个摄像头中,两个摄像头(即第一目标摄像头标识指示的摄像头、和第二目标摄像头标识指示的摄像头),确定为目标摄像头。
可以理解,若M个变焦倍率区间中不包括变焦倍率(即目标拍摄参数)所处的一个变焦倍率区间,则可以认为该变焦倍率可以能处于复合区间(即M个变焦倍率区间中的某两个变焦倍率区间之间的区间),即,用户可能需求该某两个变焦倍率区间对应的某两个图像帧序列(即某两个摄像头(即某两个变焦倍率区间对应的摄像头)对应的图像帧序列),因此,图像处理装置可以将该某两个摄像头确定为目标摄像头。
步骤102、图像处理装置在第一系统层,将目标摄像头对应的图像帧序列,确定为目标图像帧序列,并将目标图像帧序列传输至第二系统层。
本申请实施例中,上述目标图像帧序列包括:目标摄像头采集到的至少一帧图像。
可选地,本申请实施例中,上述至少一帧图像每帧图像可以为原始(Raw)图像。
可选地,本申请实施例中,在目标摄像头包括一个摄像头的情况下,目标图像帧序列包括一个图像帧序列;在目标摄像头包括多个摄像头的情况下,目标图像帧序列包括多个图像帧序列。
可选地,本申请实施例中,在确定出目标摄像头之后,图像处理装置可以通过该目标摄像头采集图像帧序列,从而图像处理装置可以将该目标摄像头采集图像帧序列,确定为目标图像帧序列。
可选地,本申请实施例中,在确定出目标摄像头之后,图像处理装置可以在第一系统层,从M个摄像头对应的图像帧序列(例如下述实施例中的M个图像帧序列)中,确定出该目标摄像头对应的图像帧序列,并将该目标摄像头对应的图像帧序列,确定为目标图像帧序列。
步骤103、图像处理装置在第二系统层,输出目标图像帧序列。
可选地,本申请实施例中,图像处理装置可以在第二系统层,向ISP输出目标图像帧序列,以使得ISP可以对该目标图像帧序列进行第一图像处理,以得到Yuv图像帧序列。这样,ISP可以向应用层的目标应用发送该Yuv图像帧序列,以使得目标应用可以在第一界面中依次显示该Yuv图像帧序列中的图像,以显示预览画面。
进一步可选地,本申请实施例中,上述第一图像处理可以包括以下至少一项:自动曝光控制处理、自动增益控制处理、自动白平衡处理、色彩校正处理、伽马校正处理、祛除坏点处理等。
进一步可选地,本申请实施例中,在目标图像帧序列包括多个图像帧序列的情况下,在ISP对多个图像帧序列进行第一图像处理之后,ISP可以对得到的多个Yuv图像帧序列进行合成处理,以得到一个Yuv图像帧序列。这样,ISP可以向应用层的目标应用发送该一个Yuv图像帧序列,以使得目标应用可以在第一界面中依次显示该一个Yuv图像帧序列中的图像,以显示预览画面。
可选地,本申请实施例中,在图像处理装置输出目标图像帧序列之后,若检测到用户在第一界面中的拍摄输入,则图像处理装置可以从目标图像帧序列中,获取至少一帧图像,并基于该至少一帧图像,得到拍摄图像(例如下述实施例中的目标图像)。
可选地,本申请实施例中,在图像处理装置输出目标图像帧序列之后,若检测到用户在第一界面中设置拍摄参数的输入,则图像处理装置可以基于用户设置的拍摄参数,再次执行上述步骤101至步骤103,以在第二系统层,输出与用户设置的拍摄参数对应的图像帧序列。
本申请实施例中,在图像处理装置执行SAT功能的过程中,图像处理装置可以在第一系统层,从M个摄像头中,确定出用户设置的拍摄参数对应的摄像头(即用户可能需求的摄像头),并在第一系统层,将该用户可能需求的摄像头对应的图像帧序列,确定为目标图像帧序列(即用户可能需求的图像帧序列),并将该用户可能需求的图像帧序列传输至第二系统,从而电子设备可以在第二系统层,输出该用户可能需求的图像帧序列,以使得第一界面中可以显示预览画面。即,图像处理装置可以在第一系统层,根据目标拍摄参数,选择出相应的图像帧序列,也即,图像处理装置的操作系统层可以与硬件层解耦。
本申请实施例提供的图像处理方法,图像处理装置可以在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头,并在第一系统层,将该目标摄像头采集到的图像帧序列,确定为目标图像帧序列(该目标图像帧序列包括至少一帧图像),以及,将该目标图像帧序列传输至第二系统层,从而图像处理装置可以在第二系统层,输出该目标图像帧序列。由于可以在图像处理装置中配置新的系统层(即第一系统层),这样,在执行SAT功能的过程中,图像处理装置可以在该新的系统层,确定出目标拍摄参数对应的目标摄像头,并在该新的系统层,确定出该目标摄像头对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,图像处理装置的操作系统层与硬件层并不是紧密耦合的,因此,当需要在不具备SAT功能的图像处理装置上移植某一图像处理装置的SAT功能时,并不需要对该不具备SAT功能的图像处理装置的新的系统层的代码进行修改,如此,可以提升整个SAT功能的移植效率。
可以理解,由于可以在图像处理装置中配置新的系统层,因此,在对图像处理装置进行维护时,可以针对该新的系统层进行维护,只要操作系统层提供出对应适配的接口,就可以不受到操作系统层升级或是不同操作系统层间差异的影响,延续迭代使用,如此,可以图像处理装置的维护效率。
当然,在图像处理装置确定出目标摄像头之前,图像处理装置可以先通过M个摄像头分别采集图像帧序列,从而在图像处理装置确定出目标摄像头之后,图像处理装置可以从该M个摄像头分别采集图像帧序列中,确定出目标图像帧序列。
可选地,本申请实施例中,结合图3,如图4所示,在上述步骤101之前,本申请实施例提供的图像处理方法还可以包括下述的步骤201。
步骤201、图像处理装置在第一系统层,生成M个摄像头对应的M个图像帧序列。
本申请实施例中,针对M个图像帧序列中的每个图像帧序列,一个图像帧序列包括:对应的一个摄像头采集到的至少一帧图像;该M个图像帧序列中包括目标图像帧序列。
进一步可选地,在一种场景下,在图像处理装置开启SAT功能时,图像处理装置可以在应用层向第一系统层发送预览请求,该预览请求用于请求在第一界面中显示预览画面,这样,图像处理装置可以根据该预览请求,在第一系统层,控制M个摄像头分别采集至少一帧图像,并接收每个摄像头采集的图像。从而,图像处理装置可以在第一系统层,将每个摄像头采集的图像存储至第一系统层对应的存储区域,以根据该每个摄像头采集的图像,生成M个摄像头对应的M个图像帧序列。
进一步可选地,在另一种场景下,在检测到用户在第一界面中的拍摄输入时,图像处理装置可以在应用层向第一系统层发送拍摄请求,这样,图像处理装置可以根据该拍摄请求,在第一系统层,控制M个摄像头分别采集至少一帧图像,并接收每个摄像头采集的图像。从而,图像处理装置可以在第一系统层,将每个摄像头采集的图像存储至第一系统层对应的存储区域,以根据该每个摄像头采集的图像,生成M个摄像头对应的M个图像帧序列。
本申请实施例中,针对M个图像帧序列中的每个图像帧序列,一个图像帧序列包括:对应的一个摄像头采集到的至少一帧图像。
可选地,本申请实施例中,针对M个图像帧序列中的每个图像帧序列,图像处理装置可以将一个摄像头采集到的至少一帧图像,按照采集时间顺序依次存储在第一系统层对应的存储区域的一个子区域中,以生成一个图像帧序列,以生成M个图像帧序列。
可以理解,图像处理装置可以将每个摄像头采集的图像存储在第一系统对应的存储区域,而并不是存储在操作系统层(即下述实施例中的第二系统层)对应的存储区域,因此,可以节省操作系统层的内存。
本申请实施例中,由于图像处理装置可以在新的系统层(即第一系统层),生成所述M个摄像头对应的M个图像帧序列,从而图像处理装置可以在该新的系统层,从该M个图像帧序列中,确定出与目标摄像头对应的图像帧序列,因此,可以将图像处理装置的操作系统层与硬件层解耦,即,图像处理装置的操作系统层与硬件层并不是紧密耦合的,如此,可以提升整个SAT功能的移植效率。
并且的,在执行SAT功能的过程中,图像处理装置可以在第一系统层,介入SAT功能的控制流程,并从M个图像帧序列中取出目标图像帧序列,这样,可以增加对SAT功能流程的掌握度。
下面将举例说明,图像处理装置是如何在第一系统层,生成M个图像帧序列的。
可选地,本申请实施例中,结合图4,如图5所示,在上述步骤201之前,本申请实施例提供的图像处理方法还可以包括下述的步骤301和步骤302,并且上述的步骤201具体可以通过下述的步骤201a实现。
步骤301、图像处理装置在图像处理装置的存储区域中,为第一系统层申请第一存储区域。
进一步可选地,本申请实施例中,在图像处理装置显示桌面的情况下,若图像处理装置检测到用户对“设置”应用程序的应用图标的点击输入,则图像处理装置显示“设置”界面。然后,若图像处理装置检测到用户对“SAT内存优化”选项的选择输入,则图像处理装置可以开启“SAT内存优化”功能,并在图像处理组织的存储区域中,为第一系统层申请第一存储区域。
进一步可选地,本申请实施例中,在图像处理装置开启“SAT内存优化”功能之后,当图像处理装置启动目标应用时,图像处理装置可以在应用层,向第二系统层发送配置流(configurestreams),从而图像处理装置可以在第二系统层,为第一系统层申请第一存储区域。
本申请实施例中,上述第一存储区域用于存储(缓存)每个摄像头对应的图像帧序列。
步骤302、图像处理装置将每个摄像头采集的图像,存储至第一存储区域中。
进一步可选地,本申请实施例中,上述第一存储区域可以包括M个子区域,每个子区域分别用于存储一个摄像头采集的图像。
进一步可选地,本申请实施例中,针对M个摄像头中的每个摄像头,图像处理装置可以将一个摄像头采集的图像,存储至与该一个摄像头对应的一个子区域中,以存储该一个摄像头采集的图像,以将每个摄像头采集的图像,存储至第一存储区域中。
本申请实施例中,图像处理装置可以将M个摄像头采集的图像均存储至第一系统层对应的存储区域中,而并不是存储至第二系统层(即操作系统层)对应的存储区域中,因此,可以通过针对每个图像帧序列进行相关的内存优化。
步骤201a、图像处理装置在第一系统层,根据第一存储区域中的每个摄像头采集的图像,分别生成每个摄像头对应的图像帧序列。
需要说明的是,针对图像处理装置生成每个摄像头对应的图像帧序列的说明,可以参考上述实施例中的具体描述,本申请实施例在此不再赘述。
在相关技术中,图像处理装置是在操作系统层对应的某个存储区域中的每个子区域中、存储每个摄像头采集的图像的,且在确定出与拍摄参数对应的某个图像帧序列之后,图像处理装置是在操作系统层,将该某个图像帧序列复制至该某个存储区域中的另一个子区域中,从而图像处理装置可以在操作系统层,输出复制的该某个图像帧序列。然而,图像处理装置需要在操作系统层对应的存储区域中存储每个摄像头采集的图像,且需要在该操作系统层对应的存储区域中复制与拍摄参数对应的图像帧序列,因此,会导致内存的浪费、且增加了输出图像帧序列的耗时。
本申请实施例中,图像处理装置是在第一系统层对应的第一存储区域中的每个子区域中、存储每个摄像头采集的图像的,这样,在确定出与目标拍摄参数对应的目标图像帧序列之后,图像处理装置可以在第一系统层,直接将该目标图像帧序列传输至第二系统层,从而图像处理装置可以在第二系统层,直接输出该目标图像帧序列,而无需复制目标图像帧序列,以节省操作系统层的内存,且减少了输出图像帧序列的耗时。
本申请实施例中,由于图像处理装置可以在为第一系统层申请一个存储区域,并将M个摄像头采集的图像,存储至第一系统层对应的该一个存储区域中,从而图像处理装置可以在第一系统层,直接生成每个摄像头对应的图像帧序列,再将目标图像帧序列直接传输至第二系统层,这样,图像处理装置可以在第二系统层直接输出该目标图像帧序列,而无需复制目标图像帧序列,因此,可以节省图像处理装置的内存。
下面将以图像处理装置已开启SAT功能、且显示拍摄预览界面(即上述实施例中的第一界面)为例,举例说明图像处理装置是如何生成每个摄像头对应的图像帧序列。
可选地,本申请实施例中,结合图4,如图6所示,上述步骤201具体可以通过下述的步骤201b实现。
步骤201b、在显示拍摄预览界面的情况下,图像处理装置在第一系统层,分别生成每个摄像头对应的图像帧序列。
本申请实施例中,针对M个图像帧序列中的每个图像帧序列,一个图像帧序列包括:对应的一个摄像头采集到的图像预览帧对应的至少一帧图像。
进一步可选地,本申请实施例中,在显示拍摄预览界面的情况下,若检测到图像处理装置开启SAT功能,则图像处理装置可以在应用层向第一系统层发送预览请求,从而图像处理装置可以在第一系统层,分别生成每个摄像头对应的图像帧序列。
需要说明的是,针对图像处理装置生成每个摄像头对应的图像帧序列的说明,可以参考上述实施例中的具体描述,本申请实施例在此不再赘述。
本申请实施例中,由于图像处理装置可以在显示拍摄预览界面的情况下,在第一系统层,分别生成每个摄像头对应的图像帧序列,这样,电子设备可以在该第一系统层,确定出目标拍摄参数对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,电子设备的操作系统层与硬件层并不是紧密耦合的,因此,可以提升整个SAT功能的移植效率。
下面将举例说明,图像处理装置是如何根据用户的拍摄输入,得到拍摄图像的。
可选地,本申请实施例中,结合图3,如图7所示,上述步骤103之后,本申请实施例提供的图像处理方法还可以包括下述的步骤401和步骤402。
步骤401、图像处理装置接收用户的第一输入。
进一步可选地,本申请实施例中,在图像处理装置显示第一界面、且该第一界面中包括“拍摄”控件的情况下,用户可以对该“拍摄”控件进行第一输入。
本申请实施例中,上述第一输入用于触发图像处理装置得到拍摄图像。
进一步可选地,本申请实施例中,上述第一输入具体可以为:用户对“拍摄”控件的点击输入。
步骤402、图像处理装置响应于第一输入,从目标图像帧序列中,获取N帧图像,并对N帧图像进行图像处理,得到目标图像。
本申请实施例中,N为正整数。
进一步可选地,本申请实施例中,图像处理装置可以先将目标图像帧序列存储至第二系统层对应的存储区域中,然后再从该目标图像帧序列中,获取N帧图像。
可以理解,在第一系统层传输至第二系统层的目标图像帧序列,在用户进行第一输入之前是尚未存储(尚未使用)的,可以通过迟绑定(late-binding)的方式,在用户进行第一输入之后,在将该目标图像帧序列存储至第二系统层对应的存储区域中。
需要说明的是,针对迟绑定的说明,可以参考相关技术中的具体说明,本申请实施例在此不予赘述。
进一步可选地,本申请实施例中,图像处理装置可以获取图像处理装置当前的拍摄模式,以根据该拍摄模式,确定N的数值,这样,图像处理装置可以从目标图像帧序列中,获取N帧图像。
进一步可选地,本申请实施例中,上述N帧图像可以为:目标图像帧序列中的连续N帧图像,或不连续N帧图像。
进一步可选地,本申请实施例中,在获取N帧图像之后,图像处理装置可以在第二系统层,向ISP输出该N帧图像,以使得ISP可以对该N帧图像进行图像处理,以得到目标图像。
具体的,上述图像处理具体可以包括:图像合成算法。
需要说明的是,针对图像合成算法的说明,可以参考相关技术中的具体描述,本申请实施例在此不予赘述。
具体的,上述目标图像具体可以为:JPEG图像。
进一步可选地,本申请实施例中,在得到目标图像之后,图像处理装置可以在第一界面中显示该目标图像,这样,用户可以对该目标图像进行输入,以使得图像处理装置可以存储该目标图像。
具体的,本申请实施例中,图像处理装置可以将目标图像存储至第二系统层对应的存储空间中,以存储该目标图像。
本申请实施例中,由于图像处理装置可以根据用户的第一输入,直接从第二系统层输出的目标图像帧序列中,获取N帧图像,以得到目标图像,而无需先在第二系统层复制目标图像帧序列,然后再在复制的目标图像帧序列中获取图像,因此,可以节省图像处理装置的内存。
需要说明的是,本申请实施例提供的图像处理方法,执行主体可以为上述实施例中的图像处理装置,或者该图像处理装置中的用于执行图像处理方法的控制模块。本申请实施例中是以图像处理装置执行图像处理方法为例,说明本申请实施例提供的图像处理方法的装置的。
图8示出了本申请实施例中涉及的图像处理装置的一种可能的结构示意图,图像处理装置包含M个摄像头,M为大于1的正整数。如图8所示,图像处理装置60可以包括:确定模块61、传输模块62和输出模块63。
其中,确定模块61,用于在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头;并在第一系统层,将目标摄像头对应的图像帧序列,确定为目标图像帧序列;该目标图像帧序列包括:该目标摄像头采集到的至少一帧图像。传输模块62,用于将确定模块61确定出的目标图像帧序列传输至第二系统层。输出模块63,用于在第二系统层,输出传输模块62传输的目标图像帧序列。
在一种可能的实现方式中,本申请实施例提供的图像处理装置60还可以包括:生成模块。其中,生成模块,用于在第一系统层,生成M个摄像头对应的M个图像帧序列;一个图像帧序列包括:对应的一个摄像头采集到的至少一帧图像。其中,该M个图像帧序列中包括目标图像帧序列。
在一种可能的实现方式中,上述生成模块,具体用于在显示拍摄预览界面的情况下,在第一系统层,分别生成每个摄像头对应的图像帧序列。其中,一个图像帧序列包括:对应的一个摄像头采集到的图像预览帧对应的至少一帧图像。
在一种可能的实现方式中,本申请实施例提供的图像处理装置60还可以包括:申请模块和存储模块。其中,申请模块,用于在图像处理装置60的存储区域中,为第一系统层申请第一存储区域。存储模块,用于将每个摄像头采集的图像,存储至申请模块申请的第一存储区域中。上述生成模块,具体用于在第一系统层,根据第一存储区域中的每个摄像头采集的图像,分别生成每个摄像头对应的图像帧序列。
在一种可能的实现方式中,本申请实施例提供的图像处理装置60还可以包括:接收模块、获取模块和处理模块。其中,接收模块,用于接收用户的第一输入。获取模块,用于响应于接收模块接收的第一输入,从目标图像帧序列中,获取N帧图像。处理模块,用于对获取模块获取的N帧图像进行图像处理,得到目标图像;N为正整数。
本申请实施例提供的图像处理装置,由于可以在图像处理装置中配置新的系统层(即第一系统层),这样,在执行SAT功能的过程中,图像处理装置可以在该新的系统层,确定出目标拍摄参数对应的目标摄像头,并在该新的系统层,确定出该目标摄像头对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,图像处理装置的操作系统层与硬件层并不是紧密耦合的,因此,当需要在不具备SAT功能的图像处理装置上移植某一图像处理装置的SAT功能时,并不需要对该不具备SAT功能的图像处理装置的新的系统层的代码进行修改,如此,可以提升整个SAT功能的移植效率。
本申请实施例中的图像处理装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的图像处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的图像处理装置能够实现图3至图7的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选的,如图9所示,本申请实施例还提供一种电子设备70,包括处理器72,存储器71,存储在存储器71上并可在所述处理器72上运行的程序或指令,该程序或指令被处理器72执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、以及处理器110等部件。
本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,电子设备包括M个摄像头,M为大于1的正整数。
处理器110,用于在第一系统层,从M个摄像头中,确定出与目标拍摄参数对应的目标摄像头;并在第一系统层,将目标摄像头对应的图像帧序列,确定为目标图像帧序列,再将目标图像帧序列传输至第二系统层;该目标图像帧序列包括:该目标摄像头采集到的至少一帧图像;以及,在第二系统层,输出目标图像帧序列。
本申请实施例提供的电子设备,由于可以在电子设备中配置新的系统层(即第一系统层),这样,在执行SAT功能的过程中,电子设备可以在该新的系统层,确定出目标拍摄参数对应的目标摄像头,并在该新的系统层,确定出该目标摄像头对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,电子设备的操作系统层与硬件层并不是紧密耦合的,因此,当需要在不具备SAT功能的电子设备上移植某一电子设备的SAT功能时,并不需要对该不具备SAT功能的电子设备的新的系统层的代码进行修改,如此,可以提升整个SAT功能的移植效率。
可选地,本申请实施例中,处理器110,还用于在第一系统层,生成M个摄像头对应的M个图像帧序列;一个图像帧序列包括:对应的一个摄像头采集到的至少一帧图像。
其中,上述M个图像帧序列中包括目标图像帧序列。
本申请实施例中,由于电子设备可以在新的系统层(即第一系统层),生成所述M个摄像头对应的M个图像帧序列,从而电子设备可以在该新的系统层,从该M个图像帧序列中,确定出与目标摄像头对应的图像帧序列,因此,可以将电子设备的操作系统层与硬件层解耦,即,电子设备的操作系统层与硬件层并不是紧密耦合的,如此,可以提升整个SAT功能的移植效率。
可选地,本申请实施例中,处理器110,具体用于在显示拍摄预览界面的情况下,在第一系统层,分别生成每个摄像头对应的图像帧序列。
其中,一个图像帧序列包括:对应的一个摄像头采集到的图像预览帧对应的至少一帧图像。
本申请实施例中,由于电子设备可以在显示拍摄预览界面的情况下,在第一系统层,分别生成每个摄像头对应的图像帧序列,这样,电子设备可以在该第一系统层,确定出目标拍摄参数对应的目标图像帧序列,以及,在操作系统层(即第二系统层)输出该目标图像帧序列,即,电子设备的操作系统层与硬件层并不是紧密耦合的,因此,可以提升整个SAT功能的移植效率。
可选地,本申请实施例中,处理器110,还用于在电子设备的存储区域中,为第一系统层申请第一存储区域;并将每个摄像头采集的图像,存储至第一存储区域中。
处理器110,具体用于在第一系统层,根据第一存储区域中的每个摄像头采集的图像,分别生成每个摄像头对应的图像帧序列。
本申请实施例中,由于电子设备可以在为第一系统层申请一个存储区域,并将M个摄像头采集的图像,存储至第一系统层对应的该一个存储区域中,从而电子设备可以在第一系统层,直接生成每个摄像头对应的图像帧序列,再将目标图像帧序列直接传输至第二系统层,这样,电子设备可以在第二系统层直接输出该目标图像帧序列,而无需复制目标图像帧序列,因此,可以节省电子设备的内存。
可选地,本申请实施例中,用户输入单元107,用于接收用户的第一输入。
处理器110,还用于响应于第一输入,从目标图像帧序列中,获取N帧图像,并对N帧图像进行图像处理,得到目标图像;N为正整数。
本申请实施例中,由于电子设备可以根据用户的第一输入,直接从第二系统层输出的目标图像帧序列中,获取N帧图像,以得到目标图像,而无需先在第二系统层复制目标图像帧序列,然后再在复制的目标图像帧序列中获取图像,因此,可以节省电子设备的内存。
应理解的是,本申请实施例中,输入单元104可以包括图形处理器(graphicsprocessing unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元106可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元107包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器109可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
- 图像处理方法及装置、眼底图像处理方法、电子设备
- 图像信号处理装置、图像信号处理方法、图像显示装置、电视接收机、电子设备