一种图像显示方法、装置、设备及存储介质与流程

文档序号:25742922发布日期:2021-07-06 18:54阅读:87来源:国知局
一种图像显示方法、装置、设备及存储介质与流程

本发明涉及图像显示领域,特别涉及一种图像显示方法、装置、设备及存储介质。



背景技术:

当前,众多领域涉及到图像采集和实时显示技术,例如,医疗器械设备中的图像采集和实时显示技术。现有的图像采集的实时显示方法,往往是根据图像采集的速度,进行图像显示,每采集一帧,就传给显示端,显示端将最新传来的图像进行显示。但由于图像显示速度依赖于图像采集速度,当图像采集过快,则显示速度快,对计算资源占用度高;当图像采集过慢,则显示出现卡顿,影响观感和判断。



技术实现要素:

有鉴于此,本发明的目的在于提供一种图像显示方法、装置、设备及介质,能够根据预设图像显示频率进行实时图像的显示。其具体方案如下:

第一方面,本申请公开了一种图像显示方法,包括:

通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;

通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;

通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。

可选的,所述通过第二线程实时获取所述第一队列的顶部的首个图像数据,包括:

通过所述第二线程按照预设线程锁的配置,从所述第一队列的顶部采集首个图像数据;

其中,所述线程锁为针对所述第一线程执行所述第一队列的出队操作,和所述第二线程执行获取所述第一队列的顶部的首个图像数据的操作的线程锁。

可选的,所述图像显示方法,还包括:

根据设备的内存状况,将所述第一队列和所述第二队列设置为循环队列。

可选的,所述从所述第二队列中选取出目标图像数据进行显示,包括:

对所述目标图像数据进行图像数据处理得到对应的目标图像帧,并通过所述显示端的显示屏播放所述目标图像帧;

其中,所述图像数据处理包括坐标转换、颜色变换、图像配准和数据重建中的任意一项或多项。

可选的,所述从所述第二队列中选取出目标图像数据进行显示,包括:

若所述显示端检测到所述第二队列为空,则回溯播放获取的最后一帧目标图像。

可选的,所述通过第一线程实时获取图像数据采集端采集到的原始图像数据的过程中,还包括:

通过所述第一线程,实时获取所述图像数据采集端采集到的原始图像数据和对应的时间戳;

相应的,所述通过显示端根据预设显示频率检测所述第二队列之后,还包括:

根据所述时间戳选取距离当前时间最近的图像数据进行显示。

可选的,所述通过第二线程实时获取所述第一队列的顶部的首个图像数据之后,还包括:

通过所述第一线程,从所述第一队列中删除所述首个图像数据;

所述根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示之后,还包括:

通过所述第二线程,从所述第二队列中删除所述目标图像数据和队列排序在所述目标图像数据之前的图像数据。

第二方面,本申请公开了一种图像显示装置,包括:

第一队列图像获取模块,用于通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;

第二队列图像获取模块,用于通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;

图像显示模块,用于通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的图像显示方法。

第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的图像显示方法。

本申请中,通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。可见,通过第一线程获取采集端的原始图像数据并存储在第一队列,通过第二线程获取第一队列顶部的图像数据并存放到第二队列,最后由显示端根据预设的显示频率去检测第二队列,并从第二队列中选取目标图像数据进行显示,由此一来,通过双队列的图像缓存,解决了图像显示对图像采集速度的依赖性,图像显示的频率可以根据需要进行设置,能够根据预设图像显示频率进行实时图像的显示,保证了显示的流畅度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的一种图像显示方法流程图;

图2为本申请提供的一种图像显示系统结构示意图;

图3为本申请提供的一种具体的图像显示方法流程图;

图4为本申请提供的一种图像显示装置结构示意图;

图5为本申请提供的一种电子设备结构图。

具体实施方式

现有技术中,根据图像采集的速度,进行图像显示,每采集一帧,就传给显示端,显示端将最新传来的图像进行显示。但由于图像显示速度依赖于图像采集速度,当图像采集过快,则显示速度快,对计算资源占用度高;当图像采集过慢,则显示出现卡顿,影响观感和判断。为克服上述技术问题,本申请提供一种图像显示方法,能够根据预设图像显示频率进行实时图像的显示,提高图像显示的流畅度。

本申请实施例公开了一种图像显示方法,参见图1所示,该方法可以包括以下步骤:

步骤s11:通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部。

本实施例中,首先通过第一线程不断检测图像数据采集端,将采集端采集到的每一个图像数据放入第一队列的底部。其中,上述第一队列可以采用顺序存储结构,并采用先进先出的图像存储及读取方式,例如图2所示,第一线程将每次从图像数据采集端获取的原始图像数据都存放到第一队列的底部。

步骤s12:通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部。

本实施例中,通过第二线程不断检测第一队列的顶部,当第一队列顶部有图像数据时,则将此时顶部的图像数据,即首个图像数据存放到第二队列的底部;其中,上述第二队列可以采用顺序存储结构,并采用先进先出的图像存储及读取方式,每次获取的首个图像数据都存放到第二队列的底部;例如图2所示,第二线程从第一队列顶部获取的首个图像数据存放到第二队列的底部。可以理解的是,第一队列和第二队列分属两个线程,彼此的操作不受影响,第一队列只需专注与图像数据采集端的配合,由此可以保证采集端采集到的每一个图像数据都能够保存。

本实施例中,所述通过第二线程实时获取所述第一队列的顶部的首个图像数据之后,还可以包括:通过所述第一线程,从所述第一队列中删除所述首个图像数据。即在第二线程将第一队列顶部含有的首个图像数据放入第二队列后,第一队列顶部删除该首个图像数据,且当第一队列为顺序存储结构时,第一队列中剩余的图像数据都依次前移。

本实施例中,所述图像显示方法,还可以包括:根据设备的内存状况,将所述第一队列和所述第二队列设置为循环队列。可以理解的是,若上述图像显示方法所应用的设备的内存资源较小,可以在设计队列时将第一队列和第二队列设置为循环队列,以防止存储越界。

本实施例中,所述通过第二线程实时获取所述第一队列的顶部的首个图像数据,可以包括:通过所述第二线程按照预设线程锁的配置,从所述第一队列的顶部采集首个图像数据;其中,所述线程锁为针对所述第一线程执行所述第一队列的出队操作,和所述第二线程执行获取所述第一队列的顶部的首个图像数据的操作的线程锁。可以理解的是,上述线程锁为针对上述第一线程执行上述第一队列的出队操作,和上述第二线程执行获取上述第一队列的顶部的首个图像数据的操作的线程锁。即在将第一队列顶部的首个图像数据存放到第二队列底部时采用线程锁的技术,由此避免对第一队列产生影响。

步骤s13:通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。

本实施例中,上述显示端根据预设的显示频率去检测第二队列,并根据第二队列中图像数据的排序,从第二队列中读取目标图像数据进行显示。可以理解的是,通过设置显示频率,显示端会根据显示频率从第二队列中选取图像数据进行显示,并且可以根据第二队列中图像数据的排序,从最近入队的几个图像数据中选择出目标图像数据进行显示,例如,第二队列为先进先出的存储及读取方式,若队列中按顺序排列有100个图像数据,则可以选取第98、第99或第100个图像数据作为目标图像数据进行显示。由此一来,本实施例中图像显示速度可以与图像采集速度不一致,显示端的图像显示满足观感舒畅。

本实施例中,所述根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示之后,还可以包括:通过所述第二线程,从所述第二队列中删除所述目标图像数据和队列排序在所述目标图像数据之前的图像数据。可以理解的是,显示端读取第二队列中的目标图像数据后,第二队列根据目标图像数据在第二队列中的排序,删除目标图像数据和队列排序在目标图像数据之前的图像数据,即删除在目标图像数据入队之前入队的图像数据,以防止内部越界。

本实施例中,所述从所述第二队列中选取出目标图像数据进行显示,可以包括:对所述目标图像数据进行图像数据处理得到对应的目标图像帧,并通过所述显示端的显示屏播放所述目标图像帧;其中,所述图像数据处理包括坐标转换、颜色变换、图像配准和数据重建中的任意一项或多项。可以理解的是,采集到的原始图像数据往往需要经过一定的处理,才能成为用于显示的图像,这些中间过程的处理时间,也会使得显示和采集速度产生差别,影响显示的流畅度。因此,本实施中对第二队列中的图像数据进行图像数据处理,其中,上述图像数据处理包括坐标转换、颜色变换、图像配准和数据重建中的任意一项或多项。可以理解的是,配合显示频率的设置和对图像进行数据处理,只需要对第二队列操作即可,第一队列只需专注与图像数据采集端的配合,保证采集到的每一个图像数据得以保存。

由上可见,本通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示,即显示端可以根据预设显示频率从第二队列读取图像数据进行显示。由此一来,通过采用双队列和多线程方式,对所采集到的图像进行处理,为灵活的图像显示做支持,使得图像显示不依赖于图像采集速度,保证了显示的流畅度。

本申请实施例公开了一种具体的图像显示方法,参见图3所示,该方法可以包括以下步骤:

步骤s21:通过第一线程实时获取图像采集端采集到的原始图像数据和对应的时间戳,并将所述原始图像数据和对应的时间戳放入第一队列的底部。

本实施例中,通过第一线程实时获取图像采集端采集到的原始图像数据的同时,获取上述原始图像数据对应的时间戳,并将获取的原始图像数据和对应的时间戳放入第一队列的底部。

步骤s22:通过第二线程实时获取所述第一队列的顶部的首个图像数据和对应的时间戳,并将所述首个图像数据和对应的时间戳放入第二队列的底部。

本实施例中,通过第二线程实时获取上述第一队列的顶部的首个图像数据和对应的时间戳,并将获取的首个图像数据和对应的时间戳放入第二队列的底部。

步骤s23:通过显示端根据预设显示频率检测所述第二队列,并根据所述时间戳选取距离当前时间最近的图像数据进行显示。

本实施例中,通过显示端根据预设显示频率检测上述第二队列,并根据第二队列中图像数据的时间戳,选取距离当前时间最近的图像数据作为目标图像,并播放该目标图像数据。可以理解的是,例如,当设置的图像显示频率小于图像数据采集端的采集速度时,则第二队列抛出图像速度相对较慢,第二队列变得越来越长,因此显示端可以根据时间戳信息,选择距离当前时间最近的图像数据作为目标图像数据进行显示,然后,第二队列再根据时间戳适当地抛出没用数据,即目标图像数据之前的图像数据,以防止内存越界。

本实施例中,所述从所述第二队列中选取出目标图像数据进行显示,可以包括:若所述显示端检测到所述第二队列为空,则回溯播放获取的最后一帧目标图像。可以理解的是,当设置的图像显示频率大于图像数据采集端的采集速度时,则第二队列抛出图像速度快,当第二队列为空时,显示端可以回溯显示最后一帧目标图像帧,由此保证显示不卡顿。

本实施例中,所述根据所述第二队列中图像数据对应的时间戳,从所述第二队列中选取出目标图像数据进行显示之后,还可以包括:根据所述目标图像数据对应的时间戳,从所述第二队列中筛选出采集时间小于所述时间戳的图像数据作为待删除图像数据;通过所述第二线程,从所述第二队列中删除所述目标图像数据和所述待删除图像数据。可以理解的是,显示端读取第二队列中的目标图像数据后,第二队列根据图像数据的时间戳抛出目标图像数据和目标图像数据之前的图像数据,以防止内部越界。

由上可见,本实施例中通过第一线程实时获取图像采集端采集到的原始图像数据和对应的时间戳,并将所述原始图像数据和对应的时间戳放入第一队列的底部,然后通过第二线程实时获取所述第一队列的顶部的首个图像数据和对应的时间戳,并将所述首个图像数据和对应的时间戳放入第二队列的底部,最后通过显示端根据预设显示频率检测所述第二队列,并根据所述时间戳选取距离当前时间最近的图像数据进行显示。通过在获取原始图像数据的同时获取图像数据对应的时间戳,然后根据时间戳选取距离当前时间最近的图像数据进行显示,可以保证在预设显示频率下的实时图像的播放,解决了图像显示对图像采集速度的依赖性,图像显示的频率可以根据需要进行设置,能够根据预设图像显示频率进行实时图像的显示,保证了显示的流畅度,实现图像显示的灵活处理。

相应的,本申请实施例还公开了一种图像显示装置,参见图4所示,该装置包括:

第一队列图像获取模块11,用于通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;

第二队列图像获取模块12,用于通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;

图像显示模块13,用于通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。

本实施例中,通过第一线程实时获取图像数据采集端采集到的原始图像数据,并将所述原始图像数据放入第一队列的底部;通过第二线程实时获取所述第一队列的顶部的首个图像数据,并将所述首个图像数据放入第二队列的底部;通过显示端根据预设显示频率检测所述第二队列,并根据所述第二队列中图像数据的排序,从所述第二队列中选取出目标图像数据进行显示。可见,通过第一线程获取采集端的原始图像数据并存储在第一队列,通过第二线程获取第一队列顶部的图像数据并存放到第二队列,最后由显示端根据预设的显示频率去检测第二队列,并从第二队列中选取目标图像数据进行显示,由此一来,通过双队列的图像缓存,解决了图像显示对图像采集速度的依赖性,图像显示的频率可以根据需要进行设置,能够根据预设图像显示频率进行实时图像的显示,保证了显示的流畅度。

在一些具体实施例中,所述第二队列图像获取模块12具体可以包括:

图像采集单元,用于通过所述第二线程按照预设线程锁的配置,从所述第一队列的顶部采集首个图像数据;其中,所述线程锁为针对所述第一线程执行所述第一队列的出队操作,和所述第二线程执行获取所述第一队列的顶部的首个图像数据的操作的线程锁。

在一些具体实施例中,所述图像显示模块13具体可以包括:

图像数据处理单元,用于对所述目标图像数据进行图像数据处理得到对应的目标图像帧,并通过所述显示端的显示屏播放所述目标图像帧;其中,所述图像数据处理包括坐标转换、颜色变换、图像配准和数据重建中的任意一项或多项。

在一些具体实施例中,所述图像显示模块13具体可以包括:

第一显示单元,用于若所述显示端检测到所述第二队列为空,则回溯播放获取的最后一帧目标图像。

在一些具体实施例中,所述第一队列图像获取模块11具体可以包括:

数据和时间戳获取单元,用于通过所述第一线程,实时获取所述图像数据采集端采集到的原始图像数据和对应的时间戳;

相应的,在一些具体实施例中,所述图像显示模块13具体可以包括:

第二显示单元,用于根据所述时间戳选取距离当前时间最近的图像数据进行显示。

在一些具体实施例中,所述图像显示装置具体可以包括:

第一删除单元,用于在第二线程实时获取所述第一队列的顶部的首个图像数据之后,通过所述第一线程,从所述第一队列中删除所述首个图像数据;

第二删除单元,用于在从所述第二队列中选取出目标图像数据进行显示之后,通过所述第二线程,从所述第二队列中删除所述目标图像数据和队列排序在所述目标图像数据之前的图像数据。

进一步的,本申请实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本申请的使用范围的任何限制。

图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的图像显示方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括原始图像数据在内的数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的图像显示方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20获取到的原始图像数据。

进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的图像显示方法步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种图像显示方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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