基于安卓平台的手机智能测距方法

文档序号:7795008阅读:2622来源:国知局
基于安卓平台的手机智能测距方法
【专利摘要】本发明公开了一种基于安卓平台的手机智能测距方法,用手机自带的摄像头,拍摄测量点,程序根据手机的方向传感器的roll和pitch值,计算出测量物距测量点的水平距离、同一平面的任意两点间的距离、物体距地面的距离和垂直面上任意两点间的距离;计算中,对测量值可能的误差进行了效正,测量误差一般在1%之内。本发明可作为一个app,安装于手机中。操作简单,使用方便,功能实用,测量较准,应用面广。
【专利说明】基于安卓平台的手机智能测距方法
【技术领域】
[0001]本发明涉及一种用安卓平台的手机,进行水平测距、垂直测距的方法。
【背景技术】
[0002]距离测量是工作和生活常碰到的需求,小到日常生活中身高测量、家居布局中的设计测量,大到比赛场地的划线测量、工地上的施工测量等。最常用的测距方法是用尺为测量工具进行测量,当测的距离较长、较远,或不易靠近时,会给测量带来困难。工程测量中,常用红外线、声纳等光学或声学原理进行测量,此时,需要专业的测量用具。智能手机具备的各种传感器,为满足这种需求提供了可能。
[0003]基于手机的测距,公开的方法有:基于手机移动的测距(专利200910100708.3)、利用声波进行测距的手机装置和距离测量方法(专利200510126252.X)、有基于CXD成像的手机测距(专利CN102857633A)、基于红外线功能的测距(专利CN201509234U)等。

【发明内容】

[0004]本发明的目的在于提供一种测量值准确的基于安卓平台的手机智能测距方法。
[0005]本发明的技术解决方案是:
一种基于安卓平台的手机智能测距方法,其特征是:测量步骤如下:
(1)打开相机,拍摄测距端点;
(2)获取手机内方向传感器的值;
(3)计算水平或垂直的测量距离;
(4)进行误差纠正。
[0006]水平距离的测量步骤如下:
(O拍摄与测量人的脚在同一平面的测量点;
(2)提取手机内的方向传感器的roll和pitch值,得到摄像头与海平面之间的夹角b;roll是手机y方向与地面的夹角,pitch是手机X方向与地面的夹角;
b = acrsin (cos (roll X π /180) cos ( pitchX π /180))
(3)计算摄像点与测量点之间的水平距离L,计算公式如下:
L = h / tan (b)
其中,h为手机距地面的距离。
[0007](4)误差调整,方法如下:
当 fb =1/ tan (b)〈=1.33 时,误差 Wc1=O ;
当 fb =1/ tan (b) >1.33 时,Wc1= ( fb -1.33) /11.0
修正后测量值为:L’ = L / (l+wCl)。
[0008]垂直距离的测量包括下列步骤:
(I)拍摄所测垂直距离的一端,此端点与测距人的脚在同一水平面;用测水平距离的方法,获取拍摄点与垂直面的水平之间的距离L,含误差效正;(2)拍摄所测垂直距离的另一端,提取方向传感器的roll和pitch值,得到摄像头与测量点连线与水平面的仰角c ;
c = 90 + acrsin (cos ( roll X π/180) X cos (pitch X π/180))
(3)计算两测量点之间的距离H
H= ( h +I L / (I+wch) I ) X tan (c)
其中,h同水平距离中定义,为手机距地面的距离;
WCh为误差调整值,计算如下:
当 |fc I =1/tan (c) <= 1.33 时,wch= O
当 |fc| =1/tan (c) >1.33,wch= ( fc | -1.33) /11.00
[0009]平面上任意两点间距离的测量包括下列步骤:
(1)测量平面上的第一点距摄像者的距离LI;
(2)测量平面上的第二点距摄像者的距离L2;
(3)通过方向传感器,获取两次测量之间的夹角a=bl+b2,其中bl、b2分别为测量LI和L2时摄像头与海平面之间的夹角对90度的模;
(4)利用余弦定理,计算出平面上两测量点之间的距离L L= sqrt (LlXLl+L2XL2-2XLlXL2Xcos(a))。
[0010]任意两点垂直距离的测量包`括下列步骤:
(1)测量第一点与地面的距离hi;
(2)测量第二点与地面的距离h2;
(3)计算两点之间的距离H= I hl-h2 I。
[0011]本发明用手机自带的方向传感器及陀螺仪进行测距,原理与实现上与现有方法均不同。测量中考虑了误差效正,使测量值更准确。
【专利附图】

【附图说明】
[0012]下面结合附图和实施例对本发明作进一步说明。
[0013]图1是手机的X与y方向示意图。
[0014]图2是水平距离测量原理图。
[0015]图3是垂直距离测量原理图。
[0016]图4是平面上任意两点之间的距尚测量原理图。
【具体实施方式】
[0017]1.距离的测量,总体上按下列步骤进行:
(O打开手机,选择测量模式,可选模式有:
?测量水平距离
?测量垂直高度
?测量两点间的宽离
?测量两点间的高度
(2)预设测量点距地面的高度h。
[0018](3)打开相机,拍摄测量点。[0019](4)获取手机内传感器的值。
[0020](5)计算水平或垂直的测量距离。
[0021](6)进行误差纠正。
[0022]其中,第(4)、(5)、(6)由程序自动进行。
[0023]2.水平距离的测量。
[0024]如测量人与门之间的距离,步骤如下:
(I)选择测量模式为水平距离,此模式为缺省模式。
[0025](2)拍摄与测量人的脚在同一平面的测量点。
[0026](3)手机显示由程序按下列步骤计算出的测距人与测量点之间的水平距离:
I)提取手机内的方向传感器的roll和pitch值(roll是手机y方向与地面的夹角;pitch是手机X方向与地面的夹角),得到摄像头与海平面之间的夹角bb = acrsin (cos (roll X π /180) cos ( pitchX π /180))
2)按下式计算摄像点与测量点之间的水平距离L,
L = h / tan (b)
其中,h为手机距地面的距离,如取为1.35m。
[0027]3)误差调整
修正测量值为:L,= L / (l+wCl)
当 fb = I/ tan (b) <=1.33 时,误差 Wc1=O ;
当 fb=l/ tan (b) >1.33 时,Wc1 = ( fb-1.33) /11.0
测量结果如图6所示,为2.3m ;实际距离为2.3m,两者测量结果一致。
[0028]3.垂直距离的测量,以人的身高测量为例,步骤如下:
(1)选择测量模式为“测量垂直距离”;
(2)拍摄垂直距离的一端点
(3)拍摄垂直距离的末端
(4)屏幕实时显示由程序按下列步骤计算出的测量结果:
1)用测水平距离的方法,获取拍摄点与垂直面的水平距离L(含误差效正);
2)提取末端测量时方向传感器的roll和pitch值,得到到摄像头与测量点连线与水平面的仰角C,
c = 90 + acrsin (cos (roll X π /180) cos (pitchX π /180))
3)计算两点之间的垂直距离H
H= ( h +I L / (I+wch) I ) X tan (c)
其中,WCh为误差调整值,计算如下:
当 |fc I =1/tan (c)〈=1.33 时,wch = O
当 I fc I >1.33,wch = ( fc 1-1.33) /11.0
测量结果为1.76m,实测结果为1.76m,两个测量结果一致。
[0029]4.平面上任意两点间距离的测量 如测量两棵树之间的距离,步骤如下:
(1)测量第一点A距的摄像者的距离LI;
(2)测量第二点B距的摄像者的距离L2; (3)通过方向传感器,获取两次测量之间的夹角a=bl+b2,其中bl、b2分别为测量LI和L2时摄像头与海平面之间的夹角对90度的模;
(4)利用余弦定理,计算出平面上两测量点之间的距离L L= sqrt[LI XL1+L2XL2-2 X LI X L2 X cos(a)]
5.空中任意两点之间的垂直距离的测量 如测量某一树干的长度,步骤如下:
(1)测量第一点A与地面的距离hi;
(2)测量第二点B与地面的距离h2;
(3)两点之间的距离h= I hl-h2 I。
【权利要求】
1.一种基于安卓平台的手机智能测距方法,其特征是:测量步骤如下: (1)打开相机,拍摄测距端点; (2)获取手机内方向传感器的值; (3)计算水平或垂直的测量距离; (4)进行误差纠正。
2.根据权利要求1所述的基于安卓平台的手机智能测距方法,其特征是:水平距离的测量步骤如下: (1)拍摄与测量人的脚在同一平面的测量点; (2)提取手机内的方向传感器的roll和pitch值,得到摄像头与海平面之间的夹角b;roll是手机y方向与地面的夹角,pitch是手机x方向与地面的夹角;
b = acrsin (cos (roll X π /180) cos ( pitchX π /180)) (3)计算摄像点与测量点之间的水平距离L,计算公式如下:
L = h / tan (b) 其中,h为手机距地面的距离。 (4)误差调整,方法如下:
当 fb =1/ tan (b) 〈=1.33 时,误差 Wc1=O ;
当 fb =1/ tan (b) >1.33 时,Wc1= ( fb -1.33) /11.0
修正后测量值为:L’ = L / (l+wCl)。
3.根据权利要求1的基于安卓平台的手机智能测距方法,其特征是:垂直距离的测量包括下列步骤: (1)拍摄所测垂直距离的一端,此端点与测距人的脚在同一水平面;用测水平距离的方法,获取拍摄点与垂直面的水平之间的距离L,含误差效正; (2)拍摄所测垂直距离的另一端,提取方向传感器的roll和pitch值,得到摄像头与测量点连线与水平面的仰角c ; c = 90 + acrsin (cos ( roll X π/180) X cos(pitch X π/180)) (3)计算两测量点之间的距离H
H= ( h +I L / (I+wch) I ) X tan (c) 其中,h同水平距离中定义,为手机距地面的距离; WCh为误差调整值,计算如下:
当 |fc I =1/tan (c) <= 1.33 时,wch= O
当 |fc| =1/tan (c) >1.33,wch= ( fc | -1.33) /11.00
4.根据权利要求1所述的基于安卓平台的手机智能测距方法,其特征是:平面上任意两点间距离的测量包括下列步骤: (1)测量平面上的第一点距摄像者的距离LI; (2)测量平面上的第二点距摄像者的距离L2; (3)通过方向传感器,获取两次测量之间的夹角a=bl+b2,其中bl、b2分别为测量LI和L2时摄像头与海平面之间的夹角对90度的模; (4)利用余弦定理,计算出平面上两测量点之间的距离L L= sqrt (LlXLl+L2XL2-2XLlXL2Xcos(a ))。
5.根据权利要求1所述的基于安卓平台的手机智能测距方法,其特征是:任意两点垂直距离的测量包括下列步骤: (1)测量第一点与地面的距离hi; (2)测量第二 点与地面的距离h2; (3)计算两点之间的距离H=|hl-h2|。
【文档编号】H04M1/725GK103759701SQ201410012883
【公开日】2014年4月30日 申请日期:2014年1月13日 优先权日:2014年1月13日
【发明者】徐慧, 邵浩然, 王俭, 周文瑄, 史梦飞, 李炬 申请人:南通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1