图像处理方法、电子设备、可读存储介质及程序产品与流程

文档序号:40110923发布日期:2024-11-27 11:58阅读:11来源:国知局
图像处理方法、电子设备、可读存储介质及程序产品与流程

本技术涉及计算机,特别涉及一种图像处理方法、电子设备、可读存储介质及程序产品。


背景技术:

1、随着科技的发展,电子设备的相机功能越来越强大。为了满足相机的较多特性功能,往往需要在电子设备的硬件抽象层(hardware abstract layer,hal)集成多种视觉算法,包括感知算法和图像处理算法等,可以实现对人脸、动物、场景等多种类别的图像内容的感知检测或图像处理。然而,不同的视觉算法之间往往会存在依赖以及运行顺序的要求,例如,若算法a的执行需要依赖算法b的输出结果,即算法a对算法b有依赖,需要先执行算法b,再执行算法a。

2、为了保证各算法的正确运行,现有的图像处理方法基于算法之间的依赖关系,预先确定出所有算法的运行顺序,再使用常见的树状结构组织算法的拓扑逻辑,即建立所有算法的整体执行逻辑。然后,按照算法的整体执行逻辑执行算法。但是,当算法数量较多时,算法的拓扑逻辑比较复杂,要建立算法的整体执行逻辑可能需要花费大量时间并且容易出错,从而可能导致算法运行时出现错误。


技术实现思路

1、本技术实施例提供了一种图像处理方法、电子设备、可读存储介质、及程序产品,以下从多个方面介绍本技术,以下多个方面的实施方式和有益效果可以相互参考。

2、第一方面,本技术提供了一种图像处理方法,应用于电子设备,该方法包括:获取待处理的多帧连续图像帧,多帧连续图像帧包括第一图像帧和第二图像帧;基于图像处理算法集对多帧连续图像帧进行图像处理;并且基于图像处理算法集对多帧连续图像帧进行图像处理,包括:检测到图像处理算法集中的第一算法对第一图像帧的处理完成,并基于算法依赖关系,确定出图像处理算法集中的第二算法的强依赖算法为第一算法,通过第二算法对第一图像帧进行处理,并通过第一算法对第二图像帧进行处理,其中,算法依赖关系包括图像处理算法集中,各算法与对应的依赖算法的依赖关系。

3、可以理解,一个算法的依赖算法可以只有强依赖算法,也可以只有非强依赖算法,还可以既有强依赖算法也有非强依赖算法,或者,一个算法也可以没有依赖算法。

4、本技术实施例中,若一个算法只有强依赖算法,当该算法的强依赖算法对多帧连续图像帧中的第一图像帧的处理完成时,可以通过该算法对第一图像帧进行处理。如此,只需要通过算法依赖关系确定单个算法的依赖算法,无需预先确定所有算法的整体执行逻辑,避免了整体执行逻辑确定错误导致部分算法运行时无法满足依赖,从而导致算法运行错误的问题。

5、可以理解,第二算法的强依赖算法(即第一算法)对第一图像帧的处理完成后,第二算法可以对第一图像帧进行处理,第一算法可以继续对第二图像帧进行处理,并且第二算法对第一图像帧的处理和第一算法对第二图像帧的处理可以并行进行,如此,可以提高图像处理效率。

6、在第一方面的一种可能的实现中,第一算法的强依赖算法为图像处理算法集中的第三算法,并且通过第二算法对第一图像帧进行处理,并通过第一算法对第二图像帧进行处理,包括:在通过第三算法完成对第二图像帧的处理后,通过第一算法对第二图像帧进行处理。

7、可以理解,当第一算法有强依赖算法时,需要在其强依赖算法完成对第二图像帧的处理后,才可以通过第一算法对第二图像帧进行处理,从而可以保证第一算法运行时可以满足依赖。

8、在第一方面的一种可能的实现中,第二算法的非强依赖算法为图像处理算法集中的第四算法;并且,通过第二算法对第一图像帧进行处理,并通过第一算法对第二图像帧进行处理,包括:在第四算法对多帧连续图像帧中在第一图像帧之前的任意一帧图像帧的处理完成的情况下,通过第二算法对第一图像帧进行处理。

9、可以理解,当第二算法有非强依赖算法时,需要在其非强依赖算法完成对第一图像帧之前的任意一帧图像帧的处理之后,在可以通过第二算法对第一图像帧进行处理,从而保证第二算法运行时可以满足依赖。

10、在第一方面的一种可能的实现中,通过第二算法对第一图像帧进行处理,并通过第一算法对第二图像帧进行处理,包括:响应于第三算法对第二图像帧的处理完成,将第一算法对第二图像帧的处理添加到候选队列,以及响应于第一算法对第一图像帧的处理完成,将第二算法对第一图像帧的处理添加到候选队列;从候选队列中获取第一算法和第二算法,并行通过第二算法对第一图像帧进行处理、通过第一算法对第二图像帧进行处理。

11、可以理解,第一算法的强依赖算法(即第三算法)对第二图像帧的处理完成时,可以将第一算法添加至候选队列以处理第二图像帧;第二算法的强依赖算法(即第一算法)对第一图像帧的处理完成时,可以将第二算法添加至候选队列以处理第一图像帧。因此,候选队列中的算法均为全部依赖都满足的算法。候选队列中的算法可以并发运行,并且各算法并发运行时可以处理不同的图像帧。

12、在第一方面的一种可能的实现中,方法还包括:在将第一算法和第二算法添加到候选队列后,从等待队列中删除第一算法和第二算法;并且,在第二算法对第一图像帧的处理完成后,将第二算法对第二图像帧的处理添加到等待队列。

13、可以理解,等待队列中记录有存在未满足的依赖的算法,当等待队列中的算法的全部依赖都满足时,可以将全部依赖都满足的算法添加至候选队列并将其从等待队列中删除。当候选队列中的算法处理完成对应的图像帧之后,可以再次被添加至等待队列中,等待处理下一帧图像帧。

14、在第一方面的一种可能的实现中,方法还包括:检测到第二算法对第二图像帧的处理在等待队列中的等待时间大于第一时间阈值;将第一算法对第二图像帧的处理结果确定为默认值或缓存值;将第二算法对第二图像帧的处理添加至候选队列中,并将第二算法从等待队列中删除;通过第二算法对第二图像帧进行处理。

15、可以理解,第二算法的强依赖算法(即第一算法)对第二图像帧的处理时间过长时,可能导致第二算法对第二图像帧的处理在等待队列中的等待时间过长,因此,可以将第一算法对第二图像帧的处理结果确定为默认值或缓存值,从而可以避免一个算法长时间没有输出结果影响后续算法的运行,避免影响图像处理的效率。

16、在第一方面的一种可能的实现中,方法还包括:检测到第一算法对第二图像帧处理的时长大于第二时间阈值,将第一算法对第二图像帧的处理结果确定为默认值或缓存值;在第二算法对第一图像帧的处理完成后,基于默认值或缓存值对第二图像帧进行处理。

17、可以理解,当第一算法对第二图像帧的处理时长过长(例如大于第二时间阈值)时,表示第一算法运行异常,可以将第一算法对第二图像帧的处理结果确定为默认值或缓存值。在第二算法对第一图像帧的处理完成后,可以认为第二算法对第二图像帧处理时的依赖已满足,可以通过第二算法对第二图像帧进行处理。

18、第二方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器和存储器,存储器用于存储由电子设备的一个或多个处理器执行的指令;处理器执行存储器中的指令时,使得电子设备执行上述第一方面任一种可能的实现的方法。

19、第三方面,本技术实施例提供了一种可读存储介质,该可读存储介质上存储有指令,该指令在电子设备上执行时使得电子设备执行上述第一方面任一种可能的实现的方法。

20、第四方面,本技术实施例提供了一种程序产品,包括计算机程序或指令,计算机程序或指令被执行时使计算机执行上述第一方面任一种可能的实现的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1