发明内容
本发明实施方式的目的在于提供一种摄像头测距方法及电子设备,能够通过单个摄像头测量目标物体到摄像头。
为解决上述技术问题,本发明的实施方式提供了一种摄像头测距方法,应用于包括摄像头的电子设备,方法包括:当摄像头对焦至预设的参照物体时,根据参照物体的成像与第一距离,获取参照物体与摄像头的第二距离;参照物体与目标物体所在的直线垂直于电子设备所在的平面;第一距离为参照物体到平面的距离,第二距离为摄像头到直线的距离;当摄像头对焦至目标物体时,根据目标物体的成像与第二距离,获取目标物体到平面的距离。
本发明的实施方式还提供了一种电子设备,包括:摄像头、至少一个处理器;以及,与至少一个处理器通信连接的存储器;摄像头连接于处理器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的摄像头测距方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的摄像头测距方法。
本发明实施方式相对于现有技术而言,预先设置参照物体,参照物体与目标物体所在的直线垂直于电子设备所在的平面,参照物体到该平面的距离已知,记为第一距离;首先将电子设备的摄像头对焦至参照物体,根据参照物体的成像与第一距离,获取摄像头到直线的距离,记为第二距离;然后将摄像头对焦至目标物体,再根据目标物体的成像与第二距离,便可以得到目标物体到平面的距离,该距离即为目标物体到摄像头的距离;即,通过单个摄像头测量出了目标物体到摄像头的距离。
另外,当摄像头对焦至预设的参照物体时,根据参照物体的成像与第一距离,获取参照物体与摄像头的第二距离,具体包括:当摄像头对焦至预设的参照物体时,获取摄像头的第一焦距与参照物体的第一成像距离;第一成像距离为参照物体的成像到摄像头的距离在平面上的投影长度;根据第一焦距、第一距离与第一成像距离,计算得到第二距离。本实施方式提供了一种根据参照物体的成像与第一距离,获取参照物体与摄像头的第二距离的具体实现方式。
另外,当摄像头对焦至目标物体时,根据目标物体的成像与第二距离,获取目标物体到平面的距离,具体包括:当摄像头对焦至目标物体时,获取摄像头的第二焦距与目标物体的第二成像距离;第二成像距离为目标物体的成像到摄像头的距离在平面上的投影长度;根据第二焦距、第一距离以及第二成像距离,计算得到目标物体到平面的距离。本实施方式提供了一种根据目标物体的成像与第二距离,获取目标物体到平面的距离的具体实现方式。
另外,根据第一焦距、第一距离与第一成像距离,计算得到第二距离,具体为:根据公式X=K*X1/f1,计算得到第二距离X;其中,X表示第二距离,K表示第一距离,f1表示第一焦距,X1表示第一成像距离。本实施方式提供了一种根据第一焦距、第一距离与第一成像距离,计算得到第二距离的具体实现方式。
另外,根据第二焦距、第一距离以及第二成像距离,计算得到目标物体到平面的距离,具体为:根据公式Y=X*f2/X2,计算得到目标物体到平面的距离Y;其中,Y表示目标物体到平面的距离,f2表示第二焦距,X表示第二距离,X2表示第二成像距离。本实施方式提供了一种根据第二焦距、第一距离以及第二成像距离,计算得到目标物体到平面的距离的具体实现方式。
另外,参照物体位于目标物体与平面之间。本实施方式中,将参照物体放置在摄像头与目标物体之间,便于设置参照物体,同时便于进行计算。
另外,参照物体、目标物体以及摄像头位于同一水平面。本实施方式中,提高了计算出的目标物体到平面的距离的准确度。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参照数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式的摄像头测距方法的具体流程图;
图2是根据本发明第一实施方式的设置参照物体的示意图;
图3是根据本发明第一实施方式的摄像头对焦至参照物体的示意图;
图4是根据本发明第一实施方式的摄像头对焦至目标物体的示意图;
图5是根据本发明第二实施方式的摄像头测距方法的具体流程图;
图6是根据本发明第二实施方式的摄像头对焦至参照物体的示意图;
图7是根据本发明第三实施方式的摄像头测距方法的具体流程图;
图8是根据本发明第三实施方式的摄像头对焦至目标物体的示意图;
图9是根据本发明第四实施方式的电子设备的方框示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种摄像头测距方法,应用于电子设备,电子设备包括至少一摄像头,电子设备例如为手机、平板电脑等。
本实施方式的摄像头测距方法具体流程如图1所示。
步骤101,判断摄像头是否对焦至预设的参照物体。若是,则进入步骤102;若否,则回到步骤101。
具体而言,在进行测距之前,请参考图2,在预设位置放置一参照物体1,参照物体1与目标物体2所在的直线L垂直于电子设备3所在的平面S,即,该直线L垂直于电子设备3的摄像头4;参照物体1到平面S的距离是已知的,记为第一距离K。在开始测距时,摄像头4可以自动对焦或者由测试人员手动将摄像头4对焦至参照物体1,当摄像头4对焦至参照物体1时,进入步骤102;否则,则回到步骤101,直至摄像头4对焦至参照物体1。
在一个例子中,由于目标物体2距离电子设备3的距离一般较远,因此设置参照物体1位于目标物体2与平面S之间,即,将参照物体1放置在目标物体2与平面S之间。参照物体1到平面S的第一距离K,可以借助电子设备3本身的长度(在电子设备中可以查询得到电子设备的长度)或者其他已知长度的物体(例如直尺)来设置。
较佳的,参照物体1、目标物体2以及摄像头4位于同一水平面,从而能够避免由于三者在水平方向上的偏差而影响计算出的目标物体到平面的距离的准确度,即,提高了计算出的目标物体到平面的距离的准确度。
步骤102,根据参照物体的成像与第一距离,获取参照物体与摄像头的第二距离。
具体而言,请参考图3,根据参考物体1的成像11与参照物体1到平面S的第一距离K,可以获取参照物体1与摄像头4的第二距离X,即获取摄像头4到直线L的距离。
步骤103,判断摄像头是否对焦至目标物体。若是,则进入步骤104;若否,则回到步骤103。
具体而言,摄像头4可以自动对焦或者由测试人员手动将摄像头4对焦至目标物体2,当摄像头4对焦至目标物体2时,进入步骤104;否则,则回到步骤103,直至摄像头4对焦至目标物体2。
步骤104,根据目标物体的成像与第二距离,获取目标物体到平面的距离。
具体而言,请参考图4,根据目标物体2的成像21与摄像头4到直线L的第二距离X,可以获取目标物体2到平面S的距离Y,即获取了目标物体2到摄像头4的距离Y。
本实施方式相对于现有技术而言,预先设置参照物体,参照物体与目标物体所在的直线垂直于电子设备所在的平面,参照物体到该平面的距离已知,记为第一距离;首先将电子设备的摄像头对焦至参照物体,根据参照物体的成像与第一距离,获取摄像头到直线的距离,记为第二距离;然后将摄像头对焦至目标物体,再根据目标物体的成像与第二距离,便可以得到目标物体到平面的距离,该距离即为目标物体到摄像头的距离;即,通过单个摄像头测量出了目标物体到摄像头的距离。
本发明的第二实施方式涉及一种摄像头测距方法。第二实施方式是在第一实施方式基础上的细化,主要细化之处在于:提供了一种计算参照物体与摄像头的第二距离的具体方式。
本实施方式的摄像头测距方法的具体流程如图5所示。
其中,步骤201与步骤101大致相同,步骤203、步骤204与步骤103、步骤104大致相同,在此不再赘述,主要不同之处在于,步骤202,包括以下子步骤:
子步骤2021,获取摄像头的第一焦距与参照物体的第一成像距离。
具体而言,请参考图6,在摄像头4对焦至参照物体1时,获取摄像头4的第一焦距f1,并获取参照物体1的成像11到摄像头4的距离在平面S上的投影长度,记为第一成像距离X1;第一焦距f1与第一成像距离X1可以直接从电子设备内部读取。
子步骤2021,根据第一焦距、第一距离与第一成像距离,计算得到第二距离。
具体而言,请参考图6,根据三角形相似原理可知,K/X=f1/X1,从而可以得到公式X=K*X1/f1,将第一距离K、第一成像距离X1以及第一焦距f1的值代入公式X=K*X1/f1,便能够计算得到第二距离X的值;其中,X表示第二距离,K表示第一距离,f1表示第一焦距,X1表示第一成像距离。
本实施方式相对于第一实施方式而言,提供了一种根据参照物体的成像与第一距离,获取参照物体与摄像头的第二距离的具体实现方式。
本发明的第三实施方式涉及一种摄像头测距方法。第三实施方式是在第一实施方式基础上的细化,主要细化之处在于:提供了一种目标物体到平面的距离的具体方式。
本实施方式的摄像头测距方法的具体流程如图7所示。
其中,步骤301至步骤303与步骤101至步骤103大致相同,在此不再赘述,主要不同之处在于,步骤304,包括以下子步骤:
子步骤3041,获取摄像头的第二焦距与目标物体的第二成像距离。
具体而言,请参考图8,在摄像头4对焦至目标物体2时,获取摄像头4的第二焦距f2,并获取目标物体2的成像21到摄像头4的距离在平面S上的投影长度,记为第二成像距离X1;第二焦距f2与第二成像距离X2可以直接从电子设备内部读取。
子步骤3042,根据第二焦距、第一距离以及第二成像距离,计算得到目标物体到平面的距离。
具体而言,请参考图8,根据三角形相似原理可知,Y/X=f2/X2,从而可以得到公式Y=X*f2/X2,将第二焦距f2、第一距离X以及第二成像距离X2的值代入公式Y=X*f2/X2,便能够计算得到目标物体2到平面S的距离Y的值,即为目标物体2到摄像头4的距离;其中,Y表示目标物体到平面的距离,f2表示第二焦距,X表示第二距离,X2表示第二成像距离。
本实施方式相对于第一实施方式而言,提供了一种根据目标物体的成像与第二距离,获取目标物体到平面的距离的具体实现方式。需要说明的是,本实施方式也可以作为在第二实施方式基础上的细化,可以达到同样的技术效果。
本发明第四实施方式涉及一种电子设备,电子设备例如为手机、平板电脑等。如图9所示,电子设备3包括摄像头4、至少一个处理器5;以及,与至少一个处理器5通信连接的存储器6;摄像头4连接于处理器5。
存储器6存储有可被至少一个处理器5执行的指令,指令被至少一个处理器5执行,以使至少一个处理器5能够执行如第一至第三实施方式中任一的摄像头测距方法。
其中,存储器6和处理器5采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器5和存储器6的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器5处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器5。
处理器5负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器6可以被用于存储处理器5在执行操作时所使用的数据。
需要说明的是,本实施方式中以电子设备包括一个摄像头为例进行说明,然不限于此,即只需保证电子设备包括至少一个摄像头即可,电子设备也可以包括多个摄像头的,但是可以通过其中任意一个摄像头实现第一实施方式至第三实施方式任一项的摄像头测距方法。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。