TOF测距方法、TOF传感模组及电子设备和存储介质与流程

文档序号:23348091发布日期:2020-12-18 16:50阅读:237来源:国知局
TOF测距方法、TOF传感模组及电子设备和存储介质与流程

本发明涉及摄像头模组技术领域,尤其是涉及一种tof测距方法、一种非临时性计算机存储介质以及一种tof传感模组和电子设备。



背景技术:

基于tof(time-of-flight,飞行时间)理论的三维相机是当今技术的研究热点之一,tof三维相机可以同时获取灰度图像和距离图像,已经逐渐出现在手势控制、3d建模、汽车雷达以及机器人视觉等系统领域中。

相关技术中,tof测距范围和测距精度随调制频率变化而变化,其调制频率越高,测距精度越高,但测距范围越小。为了解决测量精度和测距范围的矛盾,通常采用双频测距方案,即利用两个调制频率,分别进行tof测距,这样测距范围可以增大的同时,可以保证测距精度与最高调制频率一致。但是,双频方案使用两个频率进行tof测距,运算量比单频方案高,同时也更容易受到运动模糊等影响。而且,现有技术中,单频和双频不能同时使用,如需切换需要软件或者硬件重启才能达到切换的效果,而不切换会导致使用方法单一,切换系统需要系统重启,影响其他应用运行。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种tof测距方法,该方法可以灵活应用单频测距与双频测距,提高近距离测量速度。

本发明的目的之二在于提出一种非临时性计算机存储介质。

本发明的目的之三在于提出一种tof传感模组。

本发明的目的之四在于提出一种电子设备。

为了解决上述问题,本发明第一方面实施例提供的tof测距方法,用于tof传感模组,所述tof测距方法包括:获取当前测试距离;根据所述当前测试距离确定理想测距模式,其中,所述理想测距模式包括双频测距模式和单频测距模式;运行所述理想测距模式。

根据本发明实施例的tof测距方法,通过获取当前测试距离,根据当前测试距离确定理想测距模式,以运行理想测距模式,从而可以在近距离情况下,可以使用单频测距模式进行测距,以及在远距离情况下,可以使用双频测距模式进行测距,即根据本发明实施例的方法使得对单频测距与双频测距的应用更加灵活,以及相较于现有技术中仅使用双频测距的方式,本发明实施例的方法通过在近距离情况下采用单频测距模式,可以提高近距离测量速度。

在一些实施例中,所述获取当前测试距离包括:在所述双频测距模式下,获取测试距离以作为所述当前测试距离;或者,在所述单频测距模式下,每隔预设时间切换至所述双频测距模式,运行所述双频测距模式以获取所述当前测试距离。即在单频测距模式下,也可以定时开启双频探测模式,以检测当前测试距离是否超出单频测距模式的工作范围,从而便于及时切换更加符合测距需求的模式。

在一些实施例中,所述根据所述当前测试距离确定理想测距模式,包括:所述当前测试距离小于第一距离阈值,确定所述理想测距模式为所述单频测距模式;或者,所述当前测距距离大于等于第一距离阈值,确定所述理想测距模式为所述双频测距模式。即在近距离情况下采用单频测距模式,相较于现有技术中采用双频测距的方式,可以减少处理器的计算量,提高近距离测量速度,以及在远距离情况下采用双频测距模式,可以保证tof传感模组的测量精度和测距范围。

在一些实施例中,所述运行所述理想测距模式包括:所述理想测距模式为单频测距模式;当前运行模式为单频测距模式,则运行所述单频测距模式,或者,当前运行模式为双频测距模式,将所述双频测距模式切换为单频测距模式,并运行所述单频测距模式。即通过单一指令切换tof传感模组的理想测距模式,使得单频与双频可以任意切换,无需重启系统,从而避免影响其他应用运行的问题,提高切换效率。

在一些实施例中,所述运行所述理想测距模式包括:所述理想测距模式为双频测距模式;当前运行模式为单频测距模式,将所述单频测距模式切换为双频测距模式,并运行所述双频测距模式,或者,当前运行模式为双频测距模式,则运行所述双频测距模式。即通过单一指令切换tof传感模组的理想测距模式,使得单频与双频可以任意切换,无需重启系统,从而避免影响其他应用运行的问题,提高切换效率。

在一些实施例中,tof传感模组包括双频寄存器,将所述单频测距模式切换为双频测距模式,包括:读取所述双频寄存器中的双频测距模式配置数据;根据所述双频测距模式配置数据对测距算法进行配置,以切换为所述双频测距模式,从而为tof传感模组运行双频测距模式提供支持。

在一些实施例中,tof传感模组包括双频寄存器和单频寄存器,所述将所述双频测距模式切换为单频测距模式,包括:读取所述双频寄存器中存储的单频寄存器地址;根据所述单频寄存器地址读取所述单频寄存器中的单频测距模式配置数据;根据所述单频测距模式配置数据对测距算法进行配置,以切换为所述单频测距模式,从而为tof传感模组运行单频测距模式提供支持。

本发明第二方面实施例提供一种非临时性计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述实施例所述的tof测距方法。

本发明第三方面实施例提供一种tof传感模组,包括:发射器和接收器;单频寄存器和双频寄存器;至少一个处理器;与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行时实现上述实施例所述的tof测距方法。

根据本发明实施例的tof传感模组,通过处理器执行上述实施例提供的tof测距方法,即在近距离应用的情况下,使用单频测距模式进行测距,以及在需要远距离应用时,使用双频测距模式进行测距,从而可以提高近距离情况下的测距速度,提高产品的实用性,以及相较于现有技术中采用双频测距的单一模式,可以减少处理器的计算量,为处理器的选型提供更大的选择空间,以及可以减少耗能,提升产品的待机时长。

本发明第四方面实施例提供一种电子设备,包括:上述实施例所述的tof传感模组;图像处理器,与所述tof传感模组通信连接;所述图像处理器,用于接收到tof传感模组输出的原始图像,根据所述原始图像获得像素高度值,根据所述像素高度值确定所述tof传感模组的测距模式,根据所述tof相机模组的测距模式对所述原始图像进行处理,以获得3d效果图像,其中,所述测距模式包括双频测距模式和单频测距模式。

根据本发明实施例的电子设备,通过采用上述实施例提供的tof传感模组,即在近距离应用的情况下,使用单频测距模式进行测距,以及在需要远距离应用时,使用双频测距模式进行测距,从而可以提高近距离情况下的测距速度,提升产品实用性,且可以减少耗能,提升产品的待机时长。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的tof测距方法的流程图;

图2是根据本发明另一个实施例的tof测距方法的流程图;

图3是根据本发明一个实施例的tof传感模组的结构框图;

图4是根据本发明一个实施例的电子设备的结构框图。

附图标记:

tof传感模组10;发射器1;接收器2;单频寄存器3;双频寄存器4;处理器5;存储器6;

电子设备20;图像处理器7。

具体实施方式

下面详细描述本发明的实施例,参考附图描述的实施例是示例性的,下面详细描述本发明的实施例。

下面参考附图描述根据本发明第一方面实施例提供的tof测距方法,该方法可以灵活应用单频测距与双频测距,提高近距离测量速度。

为了解决上述问题,本发明第一方面实施例提供的tof测距方法,用于tof传感模组,如图1所示,本发明实施例的tof测距方法至少包括步骤s1-s3。

步骤s1,获取当前测试距离。

在实施例中,可以通过tof传感模组的发射器向目标物发射光信号,并通过tof传感模组的接收器接收经目标物反射的光信号,进而处理器根据光信号的飞行时间计算可以获得目标物的距离即当前测试距离。

步骤s2,根据当前测试距离确定理想测距模式。

其中,理想测距模式包括双频测距模式和单频测距模式。

在实施例中,本发明实施例的方法灵活应用单频测距与双频测距方法,在只需要近距离应用的情况下,使用单频tof进行测距,即tof传感模组执行单频测距模式,以及,在需要远距离应用的情况下,使用双频tof进行测距,即tof传感模组执行双频测距模式。

具体地,本发明实施例的方法通过以当前测试距离作为参考,在当前测试距离属于单频测距模式的工作距离范围内时,则tof传感模组采用单频测距模式进行tof测距,不同于现有技术中采用双频测距的单一模式,本发明实施例的方法中可以灵活应用单频测距与双频测距两种方式,使得在近距离情况下采用单频测距模式,从而可以减少处理器的计算量,提高近距离测量速度,或者,在当前测试距离属于双频测距模式的工作距离范围时,则tof传感模组采用双频测距模式进行tof测距,即利用两个调制频率分别进行tof测距,从而在测距范围可以增大的同时,可以保证测距精度与最高调制频率一致,解决测量精度和测距范围相矛盾的问题。

步骤s3,运行理想测距模式。

在实施例中,可以通过tof传感模组的处理器读取寄存器内的配置数据,根据配置数据对tof传感模组进行配置,以运行理想测距模式。

根据本发明实施例的tof测距方法,通过获取当前测试距离,根据当前测试距离确定理想测距模式,以运行理想测距模式,即本发明实施例的方法可以在近距离情况下,可以使用单频测距模式进行测距,以及在远距离情况下,可以使用双频测距模式进行测距,从而使得对单频测距与双频测距的应用更加灵活,以及相较于现有技术中采用双频测距的单一模式,本发明实施例的方法通过在近距离情况下采用单频测距模式,可以减少处理器的计算量,提高近距离测量速度。

在一些实施例中,本发明实施例的方法中,对于获取当前测试距离包括,在双频测距模式下,获取测试距离以作为当前测试距离;或者,在单频测距模式下,每隔预设时间切换至双频测距模式,运行双频测距模式以获取当前测试距离。也就是,在处于单频测距模式时,也可以定时开启双频探测模式,以检测当前测试距离是否超出单频测距模式的工作范围,从而便于及时切换更加符合测距需求的模式。

在一些实施例中,本发明实施例的方法中,对于根据当前测试距离确定理想测距模式,可以包括,在当前测试距离小于第一距离阈值时,则确定理想测距模式为单频测距模式,或者,在当前测距距离大于等于第一距离阈值时,则确定理想测距模式为双频测距模式。即在近距离情况下采用单频测距模式,相较于现有技术中采用双频测距的方式,可以减少处理器的计算量,提高近距离测量速度,以及在远距离情况下采用双频测距模式,也可以保证tof传感模组的测量精度和测距范围,从而可以更加灵活地兼顾近距测距需求及近远距测距要求。

在一些实施例中,本发明实施例的方法中,对于运行理想测距模式包括,确定理想测距模式为单频测距模式时,若当前运行模式为单频测距模式,则继续运行单频测距模式,或者,若当前运行模式为双频测距模式,则将双频测距模式切换为单频测距模式,并运行单频测距模式。也就是,在确定理想测距模式为单频测距模式后,若tof传感模组的当前运行模式也为单频测距模式,则tof传感模组无需切换测距模式,即仍以单频测距模式继续运行;而若tof传感模组的当前运行模式为双频测距模式,即在双频测距时发现当前测试距离在单频测距模式的工作范围内时,则tof传感模组可以直接切换双频测距模式至单频测距模式,以进行距离测量,即通过单一指令切换tof传感模组的理想测距模式,使得单频与双频可以任意切换,提高切换效率,也无需重启系统,从而避免影响其他应用运行的问题。

在一些实施例中,本发明实施例的方法中,对于运行理想测距模式包括,理想测距模式为双频测距模式时,若当前运行模式为单频测距模式,则将单频测距模式切换为双频测距模式,并运行双频测距模式,或者,若当前运行模式为双频测距模式,则运行双频测距模式。也就是,在确定理想测距模式为双频测距模式后,若tof传感模组的当前运行模式也为双频测距模式,则tof传感模组无需切换测距模式,即仍以双频测距模式继续运行;而若tof传感模组的当前运行模式为单频测距模式,即在单频测距时发现当前测试距离在双频测距模式的工作范围内时,则tof传感模组可以直接切换单频测距模式至双频测距模式,以进行距离测量,即通过单一指令切换tof传感模组的理想测距模式,使得单频与双频可以任意切换,无需重启系统,从而避免影响其他应用运行的问题,提高切换效率。

在一些实施例中,本发明实施例的方法中,tof传感模组可以包括双频寄存器,对于将单频测距模式切换为双频测距模式,可以包括,读取双频寄存器中的双频测距模式配置数据,根据双频测距模式配置数据对测距算法进行配置,以切换为双频测距模式,从而为tof传感模组运行双频测距模式提供支持。举例说明,在v4l2工具作用下,内核回调函数响应,响应后通过i2c总线写入双频寄存器,单频测距模式切换成双频测距模式,将双频寄存器按照配置档逐个写入tof传感模组的存储器中,执行双频测距模式。

其中,v4l2(videoforlinux2)为linux中关于视频设备的内核驱动,v4l2是在linux驱动程序分层设计思想的指导下实现的有关视频设备的驱动中间层,向上为app(application,应用程序)访问硬件设备提供通用的设备文件节点,向下为驱动底层代码的编写规范统一的v4l2架构,v4l2为实现linux视频采集通道设置配置的工具。

在一些实施例中,本发明实施例的方法中,tof传感模组包括双频寄存器和单频寄存器,对于将双频测距模式切换为单频测距模式,可以包括,读取双频寄存器中存储的单频寄存器地址,根据单频寄存器地址读取单频寄存器中的单频测距模式配置数据,以及根据单频测距模式配置数据对测距算法进行配置,以切换为单频测距模式,从而为tof传感模组运行单频测距模式提供支持。举例说明,在v4l2工具作用下,内核回调函数响应,响应后通过i2c总线写入单频寄存器,双频测距模式切换成单频测距模式,由于双频寄存器地址包含全部单频寄存器地址,根据单频寄存器地址将单频寄存器按照配置档逐个写入tof传感模组的存储器中,剩余不跟单频寄存器地址重复的双频寄存器地址内数据清零。

下面根据附图2对本发明实施例的tof测距方法进行举例说明,具体步骤如下。

步骤s4,tof传感模组内可以提前设置shell指令,响应于shell指令执行步骤s5。其中,shell指令可以为单双频切换的指令,例如,可以设置切换双频指令为v4l2-ctl-d/dev/video0--set-test_pattern=6,或者,可以设置切换单频指令为v4l2-ctl-d/dev/video0--set-test_pattern=9。

步骤s5,判断是否为单双频切换,即判断shell指令是否为切换单频指令或切换双频指令。若否,则执行步骤s6,若是,则执行步骤s7。

步骤s6,停止运行。

步骤s7,判断是否为单频切换指令。若是,则执行步骤s8,若否,则执行步骤s10。

步骤s8,切换内核单频配置,执行步骤s9。

步骤s9,切换单频算法配置,执行步骤s12。

步骤s10,切换内核双频配置,执行步骤s11。

步骤s11,切换双频算法配置,执行步骤s12。

步骤s12,生成3d效果图。

在实施例中,可以使用media-ctl指令,设置tof传感模组输入图像处理器的图片宽高及出入格式,以及设置图像处理器的输出图片的宽高以及输出格式,进而通过单/双频的图像处理器的输出图片像素高度值不同,如单频的像素高度值为865,双频的像素高度值为1557,如若获取当前图片像素高度值为单频值,则使用单频算法代码运行,如若获取当前图片像素高度值为双频值,则使用双频算法代码运行,最终生成不同频率的3d效果图。

因此,根据本发明实施例的tof测距方法,在只需要近距离应用的情况下,使用单频测距模式进行测距,在需要远距离应用时,则切换至双频测距模式,即可以灵活地兼顾近距测距需求及近远距测距要求,且可以提高近距离测量速度,提升模组的实用性,以及可以减少处理器的计算量,减少耗能,提升模组的待机时长。

本发明第二方面实施例提供一种非临时性计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述实施例提供的tof测距方法。

本发明第三方面实施例提供一种tof传感模组,如图3所示,本发明实施例的tof传感模组10包括发射器1、接收器2、单频寄存器3、双频寄存器4以及至少一个处理器5和与至少一个处理器5通信连接的存储器6。

其中,发射器1可以用于向目标物发射光信号,如可以为激光器,或是由激光器、透镜和/或光锥等组合而成的激光发射单元,可以根据实际需要进行选择;接收器2可以用于接收目标物反射的光信号;存储器6中存储有可被至少一个处理器5执行的计算机程序,计算机程序被至少一个处理器5执行时实现上述实施例提供的tof测距方法。

根据本发明实施例的tof传感模组10,通过处理器5执行上述实施例提供的tof测距方法,即在近距离应用的情况下,使用单频测距模式进行测距,以及在需要远距离应用时,使用双频测距模式进行测距,从而可以提高近距离情况下的测距速度,提高产品的实用性,以及相较于现有技术中采用双频测距的单一模式,可以减少处理器的计算量,为处理器的选型提供更大的选择空间,以及可以减少耗能,提升产品的待机时长。

本发明第四方面实施例提供一种电子设备,如图4所示,本发明实施例的电子设备20包括上述实施例提供的tof传感模组10以及图像处理器7。

其中,图像处理器7与tof传感模组10通信连接,图像处理器7用于接收到tof传感模组10输出的原始图像,根据原始图像获得像素高度值,根据像素高度值确定tof传感模组10的测距模式,根据tof相机模组10的测距模式对原始图像进行处理,以获得3d效果图像,其中,测距模式包括双频测距模式和单频测距模式。

在实施例中,图像处理器7可以使用media-ctl指令,设置tof传感模组10输入图像处理器7的图片宽高及出入格式,以及设置图像处理器7的输出图片的宽高以及输出格式,进而通过单/双频的图像处理器7的输出图片像素高度值不同,如单频的像素高度值为865,双频的像素高度值为1557,如若获取当前图片像素高度值为单频值,则使用单频算法代码运行,如若获取当前图片像素高度值为双频值,则使用双频算法代码运行,最终生成不同频率的3d效果图。

根据本发明实施例的电子设备20,通过采用上述实施例提供的tof传感模组10,即在近距离应用的情况下,使用单频测距模式进行测距,以及在需要远距离应用时,使用双频测距模式进行测距,从而可以提高近距离情况下的测距速度,提升产品实用性,且可以减少耗能,提升产品的待机时长。

在本说明书的描述中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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