本技术涉及图像处理,尤其涉及一种拍照处理方法、电子设备和计算机可读存储介质。
背景技术:
1、随着手机等电子设备的不断普及,利用手机等电子设备的拍照功能进行拍照也逐渐成为一种趋势。
2、手机等电子设备的相机硬件规格与专业摄影设备的硬件规格存在较大差距,故手机等电子设备通过相机拍摄得到图像后,往往依赖于强大的计算资源运行一系列复杂的后处理算法,对图像进行算法后处理,以改善相机硬件规格不理想带来的图像质量问题,进而获得质量更高的图像。
3、但是,手机等电子设备在拍照过程中连续不间断地运行一系列复杂的后处理算法,以实时获得算法后处理完成的图像。复杂的后处理算法需要占用大量的计算资源和内存资源,使得处理器长时间处于负载过高的状态,进而导致拍照性能下降,出现设备卡顿和设备发热等问题,影响用户拍照体验。
技术实现思路
1、本技术实施例提供了一种拍照处理方法、电子设备和计算机可读存储介质,可以解决现有拍照过程中连续不间断地执行全部的后处理算法,导致拍照性能较低,拍照体验较差的问题。
2、第一方面,本技术实施例提供了一种拍照处理方法,应用于电子设备,该方法包括:
3、开启相机类应用;
4、响应于拍照操作,获取待处理图像数据;
5、在相机类应用处于前台运行时,对待处理图像数据进行第一阶段算法后处理,获得第一图像数据,第一图像数据为算法后处理未完成的图像数据;
6、若检测到目标操作,或相机类应用处于后台运行或关闭,对第一图像数据进行剩余阶段算法后处理,获得第二图像数据,第二图像数据为算法后处理完成的图像数据,目标操作用于查看、编辑或分享图像。剩余阶段算法后处理包括至少一个阶段算法后处理。
7、由上述技术方案可见,本技术实施例在相机类应用处于前台运行时,执行第一阶段算法后处理,在相机类应用在后台运行或关闭,或检测到目标操作时,执行剩余阶段算法后处理,即在拍照过程只执行一部分后处理算法,在不拍照时或者需要操作图像时,再执行剩余部分后处理算法。相较于在拍照过程中连续不间断地执行全部的后处理算法,本技术实施例在拍照过程仅执行一部分后处理算法,减少了拍照过程中的计算资源和内存资源占用,进而缓解了设备卡顿和设备发热等问题,提高了拍照性能,提高了用户拍照体验。
8、在第一方面的一些可能的实现方式中,目标操作是查看缩略图的操作,缩略图显示于相机类应用的取景界面,缩略图为待处理图像数据对应的缩略图。在该实现方式中,在相机处于前台运行时,如果用户需要查看图像,可以及时触发剩余阶段算法后处理算法的执行,及时获取到算法后处理完成的图像数据,使得用户可以及时查看图像。其中,当用户查看缩略图时,电子设备会退出拍照过程,进入图像预览状态。图像预览状态下不用进行预览视频流等处理过程,进而也可以减少拍照过程中的计算资源和内存资源占用,提高了拍照性能和用户拍照体验。
9、在第一方面的一些可能的实现方式中,若相机类应用处于后台运行或关闭,对第一图像数据进行剩余阶段算法后处理,获得第二图像数据,包括:
10、若相机类应用处于后台运行或关闭,且检测到预设触发条件,则对第一图像数据进行剩余阶段算法后处理,获得第二图像数据。
11、在第一方面的一些可能的实现方式中,预设触发条件包括以下至少一项:打开图像访问类应用的操作、查看图像的操作、分享图像的操作、编辑图像的操作、系统处于空闲状态、灭屏或息屏、运行内存高于第一阈值、设备温度低于第一温度阈值和处理器负载低于第二阈值。
12、在该实现方式中,在相机类应用在后台运行或关闭时,进一步判断是否满足预设触发条件,在满足预设触发条件时,才执行剩余阶段算法后处理,这样在用户需要对图像数据进行查看、编辑或分享等操作时,可以及时地进行剩余阶段算法后处理,使得用户可以及时查看到最终图像;此外,还可以在系统状态符合条件,即运行内存、设备温度和处理器负载等系统状态符合要求,自动触发执行剩余阶段算法后处理算法,可以进一步缓解设备卡顿和设备发热等问题。
13、在第一方面的一些可能的实现方式中,对第一图像数据进行剩余阶段算法后处理,获得第二图像数据,包括:
14、监测系统状态数据;
15、根据系统状态数据,确定调度策略;
16、根据调度策略,执行任务队列中的目标任务,以对第一图像数据进行剩余阶段算法后处理,获得第二图像数据;
17、其中,目标任务为第一图像数据的剩余阶段算法后处理过程对应的任务,任务队列包括各个图像数据的剩余阶段算法后处理过程对应的任务,目标任务是根据第一图像数据的剩余阶段算法后处理过程的任务标识生成的。
18、在该实现方式中,通过监听系统状态数据,并根据系统状态数据,对剩余阶段算法后处理的任务进行调度,可以进一步缓解设备卡顿和设备发热等问题。
19、在第一方面的一些可能的实现方式中,在获得第二图像数据之前,检测到针对第一图像数据的查看操作,则响应于查看操作,显示第一目标图像,第一目标图像为第一图像数据对应的图像;
20、在获得第二图像数据之后,将第一目标图像刷新为第二目标图像,第二目标图像为第二图像数据对应的图像。
21、在该实现方式中,如果第一阶段算法后处理过程未完成,但用户需要查看图像,则先显示算法后处理未完成的图像数据,再在算法后处理完成时,将算法后处理未完成的图像数据刷新为算法后处理完成的图像数据,这样,在减少了拍照过程中的计算资源和内存资源占用,缓解了设备卡顿和设备发热等问题的基础上,还能保证用户查看图片的及时性。
22、在第一方面的一些可能的实现方式中,在获得待处理图像数据之后,该方法还包括:
23、将待处理图像数据从易失性存储介质剪切至非易失性存储介质;
24、对待处理图像数据进行第一阶段算法后处理,获得第一图像数据,包括:
25、从非易失性存储介质读取待处理图像数据,并对待处理图像数据进行第一阶段算法后处理,获得第一图像数据,将第一图像数据存储至非易失性存储介质。
26、在该实现方式中,将算法后处理的中间数据和待处理图像数据从易失性存储介质转移至非易失性存储介质,可以进一步降低算法后处理过程的运行内存占用,进而进一步缓解设备卡顿等问题。
27、在第一方面的一些可能的实现方式中,在对待处理图像数据进行第一阶段算法后处理,获得第一图像数据之前,该方法还包括:
28、若确定满足进入分段式拍照的条件,则进入对待处理图像数据进行第一阶段算法后处理,获得第一图像数据的步骤。
29、在第一方面的一些可能的实现方式中,进入分段式拍照的条件包括以下至少一项:检测到连拍操作、运行内存低于第三阈值、设备温度高于第二温度阈值、以及后处理算法耗时大于预设时间阈值。
30、在该实现方式中,在系统状态不佳时主动进入分段式拍照,不仅可以缓解设备卡顿和发热等问题,还可以保证拍照的实时性。
31、第二方面,本技术实施例提供一种电子设备,包括算法后处理模块和图像采集模块;
32、图像采集模块用于:响应于拍照操作,获取待处理图像数据;
33、算法后处理模块用于:在相机类应用处于前台运行时,对待处理图像数据进行第一阶段算法后处理,获得第一图像数据,第一图像数据为算法后处理未完成的图像数据;若检测到目标操作,或相机类应用处于后台运行或关闭,对第一图像数据进行剩余阶段算法后处理,获得第二图像数据,第二图像数据为算法后处理完成的图像数据,目标操作用于查看、编辑或分享图像。剩余阶段算法后处理包括至少一阶段算法后处理。
34、在第二方面的一些可能的实现方式中,目标操作是查看缩略图的操作,缩略图显示于相机类应用的取景界面,缩略图为待处理图像数据对应的缩略图。
35、在第二方面的一些可能的实现方式中,算法后处理模块具体用于:
36、若相机类应用处于后台运行或关闭,且检测到预设触发条件,则对第一图像数据进行剩余阶段算法后处理,获得第二图像数据。
37、在第二方面的一些可能的实现方式中,预设触发条件包括以下至少一项:打开图像访问类应用的操作、查看图像的操作、分享图像的操作、编辑图像的操作、系统处于空闲状态、灭屏或息屏、运行内存高于第一阈值、设备温度低于第一温度阈值和处理器负载低于第二阈值。
38、在第二方面的一些可能的实现方式中,算法后处理模块包括系统状态感知子模块和调度子模块;
39、系统状态感知子模块用于:监测系统状态数据;
40、调度子模块,用于根据系统状态数据,确定调度策略;根据调度策略,执行任务队列中的目标任务,以对第一图像数据进行剩余阶段算法后处理,获得第二图像数据;
41、其中,目标任务为第一图像数据的剩余阶段算法后处理过程对应的任务,任务队列包括各个图像数据的剩余阶段算法后处理过程对应的任务,目标任务是根据第一图像数据的剩余阶段算法后处理过程的任务标识生成的。
42、在第二方面的一些可能的实现方式中,还包括刷新模块,用于:检测到针对第一图像数据的查看操作;响应于查看操作,显示第一目标图像,第一目标图像为第一图像数据对应的图像;在获得第二图像数据之后,将第一目标图像刷新为第二目标图像,第二目标图像为第二图像数据对应的图像。
43、在第二方面的一些可能的实现方式中,还包括非易失性存储介质;算法后处理模块还用于:
44、将待处理图像数据从易失性存储介质剪切至非易失性存储介质;
45、从非易失性存储介质读取待处理图像数据,并对待处理图像数据进行第一阶段算法后处理,获得第一图像数据,将第一图像数据存储至非易失性存储介质。
46、在第二方面的一些可能的实现方式中,该电子设备还包括分段式拍照触发模块,用于若确定满足进入分段式拍照的条件,则进入对待处理图像数据进行第一阶段算法后处理,获得第一图像数据的步骤。
47、在第二方面的一些可能的实现方式中,进入分段式拍照的条件包括以下至少一项:检测到连拍操作、运行内存低于第三阈值、设备温度高于第二温度阈值、以及后处理算法耗时大于预设时间阈值。
48、第三方面,本技术实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
49、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法。
50、第五方面,本技术实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
51、第六方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的方法。
52、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。