手持终端的室内导航方法及手持终端与流程

文档序号:11944493阅读:230来源:国知局
手持终端的室内导航方法及手持终端与流程
本发明涉及导航
技术领域
,尤其涉及一种手持终端的室内导航方法及手持终端。
背景技术
:目前,在用户使用手持终端时,有些室内场所很大,区域分布状况比较复杂,用户进入这类场所后,很难找到目标区域或位置。虽然目前有些在室内场所利用手持终端进行导航的方案,但这些方案对这些场所的软、硬件要求较高,同时,这些方案无法快速且准确的对手持终端的实时位置进行精确的计算,进而使得导航精度较低。技术实现要素:本发明的主要目的在于提供一种手持终端的室内导航方法及手持终端,旨在低成本地实现手持终端的室内精确导航。为实现上述目的,本发明提供的一种手持终端的室内导航方法,所述方法包括以下步骤:在接收到用户发出的室内导航指令后,手持终端控制其相机摄像头获取镜头范围内的影像,对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;按照选择的每一个彩色块在镜头范围内的影像中的位置,计算出每一个彩色块对应的像素坐标系中的坐标;根据预先设定的条形码标签的标识信息与彩色块的世界坐标系的坐标的关联数据,按照选择的每一个彩色块所在的条形码标签,计算出每一个彩色块对应的世界坐标系中的坐标;基于选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,得到所述手持终端的位置。优选地,所述条形码标签包括标签基体、条形码和两个彩色块,所述条形码和两个彩色块设于所述标签基体上,且所述两个彩色块位于所述条形码的两端,所述条形码编码有所属的条形码标签的标识信息;所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则锁定离镜头最近的两个条形码标签,并分别从锁定的两个条形码标签中各选择两个彩色块。优选地,所述条形码标签包括标签基体、条形码和两个彩色块组合,所述条形码和两个彩色块组合设于所述标签基体上,且所述两个彩色块组合位于所述条形码的两端;所述彩色块组合包括颜色不相同的多个彩色块,所述条形码编码有所属的条形码标签的标识信息;所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个处于所在标签基体的最外端的彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块。优选地,所述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤包括:从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点,如果确定的四个预设位置点构成的是凸四边形,则将该凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个预设位置点构成的是凹四边形,则确定所述凹四边形的四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。优选地,所述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤还包括:如果确定的四个预设位置点构成的是凸四边形,则从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合;分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,得到凸四边形的面积,并将该凸四边形的面积作为对应的彩色块组合的分散指标。优选地,所述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤还包括:如果确定的四个预设位置点构成的是凹四边形,则从所述凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合,分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为所述凹四边形对应的彩色块组合的分散指标。优选地,所述分别计算出每个三角形顶点组合对应的三角形的面积的步骤包括:在计算一个三角形顶点组合对应的三角形的面积时,遍历预存的三角形顶点组合与三角形面积的关联数据,分析是否有预存的三角形顶点组合与该三角形顶点组合匹配;若有预存的三角形顶点组合与该三角形顶点组合匹配,则找出匹配的三角形顶点组合对应的三角形的面积,并将找出的面积作为该三角形顶点组合对应的三角形的面积;若没有预存的三角形顶点组合与该三角形顶点组合匹配,则根据该三角形顶点组合中各个顶点在世界坐标系中的坐标,确定出该三角形顶点组合对应的三角形各条边的边长,根据确定出的边长计算出该三角形顶点组合对应的三角形的面积,并将该三角形顶点组合与计算出的三角形面积形成关联数据并保存,以供后续进行三角形面积的查找。优选地,所述选择的预设数量的彩色块的数量为四个,所述预设的坐标计算规则如下:根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存在所述手持终端内的相机内参数,计算出属于相机外参数的旋转矩阵和平移矩阵;根据所述旋转矩阵和平移矩阵转换获取所述手持终端的摄像头在世界坐标系中的坐标作为所述手持终端在世界坐标系中的坐标。优选地,所述基于选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,得到所述手持终端的位置的步骤之后还包括:基于计算出的所述手持终端在世界坐标系中的坐标,按照预设的方向计算规则,计算出所述手持终端的方向向量。优选地,所述预设的方向计算规则如下:根据所述手持终端在世界坐标系中的坐标、所述相机内参数、所述旋转矩阵及所述平移矩阵,并由预设的摄像头标定模型计算得到所述手持终端的方向向量。此外,为实现上述目的,本发明还提供一种室内导航的手持终端,所述手持终端包括:获取模块,用于在接收到用户发出的室内导航指令后,控制手持终端的相机摄像头获取镜头范围内的影像,对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;计算模块,用于按照选择的每一个彩色块在镜头范围内的影像中的位置,计算出每一个彩色块对应的像素坐标系中的坐标;根据预先设定的条形码标签的标识信息与彩色块的世界坐标系的坐标的关联数据,按照选择的每一个彩色块所在的条形码标签,计算出每一个彩色块对应的世界坐标系中的坐标;定位模块,用于基于选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,得到所述手持终端的位置。优选地,所述条形码标签包括标签基体、条形码和两个彩色块,所述条形码和两个彩色块设于所述标签基体上,且所述两个彩色块位于所述条形码的两端,所述条形码编码有所属的条形码标签的标识信息;所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则锁定离镜头最近的两个条形码标签,并分别从锁定的两个条形码标签中各选择两个彩色块。优选地,所述条形码标签包括标签基体、条形码和两个彩色块组合,所述条形码和两个彩色块组合设于所述标签基体上,且所述两个彩色块组合位于所述条形码的两端;所述彩色块组合包括颜色不相同的多个彩色块,所述条形码编码有所属的条形码标签的标识信息;所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个处于所在标签基体的最外端的彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块。优选地,所述计算模块还用于:从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点,如果确定的四个预设位置点构成的是凸四边形,则将该凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个预设位置点构成的是凹四边形,则确定所述凹四边形的四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。优选地,所述计算模块还用于:如果确定的四个预设位置点构成的是凸四边形,则从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合;分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,得到凸四边形的面积,并将该凸四边形的面积作为对应的彩色块组合的分散指标。优选地,所述计算模块还用于:如果确定的四个预设位置点构成的是凹四边形,则从所述凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合,分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为所述凹四边形对应的彩色块组合的分散指标。优选地,所述计算模块还用于:在计算一个三角形顶点组合对应的三角形的面积时,遍历预存的三角形顶点组合与三角形面积的关联数据,分析是否有预存的三角形顶点组合与该三角形顶点组合匹配;若有预存的三角形顶点组合与该三角形顶点组合匹配,则找出匹配的三角形顶点组合对应的三角形的面积,并将找出的面积作为该三角形顶点组合对应的三角形的面积;若没有预存的三角形顶点组合与该三角形顶点组合匹配,则根据该三角形顶点组合中各个顶点在世界坐标系中的坐标,确定出该三角形顶点组合对应的三角形各条边的边长,根据确定出的边长计算出该三角形顶点组合对应的三角形的面积,并将该三角形顶点组合与计算出的三角形面积形成关联数据并保存,以供后续进行三角形面积的查找。优选地,所述选择的预设数量的彩色块的数量为四个,所述预设的坐标计算规则如下:根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存在所述手持终端内的相机内参数,计算出属于相机外参数的旋转矩阵和平移矩阵;根据所述旋转矩阵和平移矩阵转换获取所述手持终端的摄像头在世界坐标系中的坐标作为所述手持终端在世界坐标系中的坐标。优选地,所述手持终端还包括:方向确定模块,用于基于计算出的所述手持终端在世界坐标系中的坐标,按照预设的方向计算规则,计算出所述手持终端的方向向量。优选地,所述预设的方向计算规则如下:根据所述手持终端在世界坐标系中的坐标、所述相机内参数、所述旋转矩阵及所述平移矩阵,并由预设的摄像头标定模型计算得到所述手持终端的方向向量。本发明提出的一种手持终端的室内导航方法及手持终端,利用手持终端的相机摄像头获取镜头范围内的影像中预置在室内预设位置的条形码标签的标识信息,并从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;计算出每一个彩色块对应的像素坐标系中的坐标及对应的世界坐标系中的坐标;再根据选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算得到所述手持终端的位置。由于仅需利用手持终端的相机摄像头及在室内预设位置预置条形码标签即可进行室内导航,对软、硬件要求较低,且根据在室内预设位置预置的条形码标签的彩色块的像素坐标系中的坐标及对应的世界坐标系中的坐标进行综合计算,能快速准确的对手持终端的实时位置进行精确的计算,从而提高室内导航精度。附图说明图1为本发明手持终端的室内导航方法第一实施例的流程示意图;图2为本发明手持终端的室内导航方法一实施例中条形码标签的结构示意图;图3为本发明手持终端的室内导航方法一实施例中凸四边形的四个点组成的4种三角形顶点组合示意图;图4为本发明手持终端的室内导航方法一实施例中凹四边形的四个点组成的4种三角形顶点组合示意图;图5为本发明手持终端的室内导航方法第二实施例的流程示意图;图6为本发明手持终端的室内导航方法一实施例中的导航应用示意图;图7为本发明室内导航的手持终端第一实施例的功能模块示意图;图8为本发明室内导航的手持终端第二实施例的功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种手持终端的室内导航方法。参照图1,图1为本发明手持终端的室内导航方法第一实施例的流程示意图。在第一实施例中,该手持终端的室内导航方法包括:步骤S10,在接收到用户发出的室内导航指令后,手持终端控制其相机摄像头获取镜头范围内的影像,对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;本实施例中,可预先在室内场所的预设位置如地面、墙壁、天花板等设置条形码标签,该条形码标签中至少包括相应的标识信息、彩色块等。在手持终端接收到用户通过物理按键或虚拟按键发出的室内导航指令后,开启手持终端的相机摄像头,并控制相机摄像头获取镜头范围内的影像。通过手持终端的相机摄像头采集镜头范围内的影像中预置在室内预设位置的条形码标签,并对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块,在此对选择的彩色块数量不作限定。步骤S20,按照选择的每一个彩色块在镜头范围内的影像中的位置,计算出每一个彩色块对应的像素坐标系中的坐标;根据预先设定的条形码标签的标识信息与彩色块的世界坐标系的坐标的关联数据,按照选择的每一个彩色块所在的条形码标签,计算出每一个彩色块对应的世界坐标系中的坐标;为选择的每一个彩色块,按照其在镜头范围内的影像中的位置,确定出对应的像素坐标系中的坐标,如在一种实施方式中,可计算彩色块的几何中心在像素坐标系中的坐标;根据预先确定的条形码标签的标识信息和彩色块的世界坐标系的坐标的关联数据,为选择的每一个彩色块,按照其所在的条形码标签,确定出对应的世界坐标系中的坐标,如在一种实施方式中,可计算彩色块的几何中心在世界坐标系中的坐标。步骤S30,基于选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,得到所述手持终端的位置。根据选择的各个彩色块对应的像素坐标系中的坐标和世界坐标系中的坐标,并按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,也即所述手持终端的位置,从而实现对手持终端的实时位置进行精确的计算,进行室内导航。本实施例利用手持终端的相机摄像头获取镜头范围内的影像中预置在室内预设位置的条形码标签的标识信息,并从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;计算出每一个彩色块对应的像素坐标系中的坐标及对应的世界坐标系中的坐标;再根据选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算得到所述手持终端的位置。由于仅需利用手持终端的相机摄像头及在室内预设位置预置条形码标签即可进行室内导航,对软、硬件要求较低,且根据在室内预设位置预置的条形码标签的彩色块的像素坐标系中的坐标及对应的世界坐标系中的坐标进行综合计算,能快速准确的对手持终端的实时位置进行精确的计算,从而提高室内导航精度。进一步地,在其他实施例中,上述条形码标签包括标签基体、条形码和两个彩色块,所述条形码和两个彩色块设于所述标签基体上,且所述两个彩色块位于所述条形码的两端,所述条形码编码有所属的条形码标签的标识信息(例如,ID);所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则锁定离镜头最近的两个条形码标签,并分别从锁定的两个条形码标签中各选择两个彩色块。进一步地,在其他实施例中,上述条形码标签包括标签基体、条形码和两个彩色块组合,所述条形码和两个彩色块组合设于所述标签基体上,且所述两个彩色块组合位于所述条形码的两端;所述彩色块组合包括颜色不相同的多个彩色块,所述条形码编码有所属的条形码标签的标识信息(例如,ID);所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个处于所在标签基体的最外端的彩色块,也即分别从镜头范围内的影像中的两个条形码标签中各选择两个最外围的彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块。具体的,如图2所示,图2为本发明手持终端的室内导航方法一实施例中条形码标签的结构示意图。该条形码标签包括标签基体1、条形码2和两个彩色块组合3,所述条形码2和两个彩色块组合3设于所述标签基体1上,且所述两个彩色块组合3位于所述条形码2的两端;所述彩色块组合3包括颜色不相同的多个彩色块31,如图2中位于所述条形码2的两端的红、绿、蓝彩色块31。其中,最外围的彩色块是处于所在标签基体1的最外端,如图2中的红色彩色块31。进一步地,在其他实施例中,上述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤包括:从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点,如果确定的四个预设位置点构成的是凸四边形,则将该凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个预设位置点构成的是凹四边形,则确定所述凹四边形的四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。本实施例中,从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合,例如,若所有的条形码标签共有N个彩色块,则共可以组成种彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点如几何中心点,如果确定的四个点构成的是凸四边形,则将凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个点构成的是凹四边形,则确定所述四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。其中,本实施例中将四边形分为凸四边形和凹四边形,有任意一个内角大于180度的四边形为凹四边形,否则为凸四边形。对于凸四边形,将其面积作为其分散程度的衡量指标;而对于凹四边形,则任取三个点构成的三角形的面积,将其中最大的面积作为其分散指标。进一步地,在其他实施例中,上述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤还包括:如果确定的四个预设位置点构成的是凸四边形,则从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合;分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,得到凸四边形的面积,并将该凸四边形的面积作为对应的彩色块组合的分散指标。本实施例子,从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合。分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,以得到凸四边形的面积。具体的,如图3所示,图3为本发明手持终端的室内导航方法一实施例中凸四边形的四个点组成的4种三角形顶点组合示意图;凸四边形共有四个顶点,共可以组成种三角形顶点组合。进一步地,在其他实施例中,上述若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块的步骤还包括:如果确定的四个预设位置点构成的是凹四边形,则从所述凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合,分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为所述凹四边形对应的彩色块组合的分散指标。本实施例子,从凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合。分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为凹四边形的分散指标。具体的,如图4所示,图4为本发明手持终端的室内导航方法一实施例中凹四边形的四个点组成的4种三角形顶点组合示意图;凹四边形共有四个顶点,共可以组成种三角形顶点组合。进一步地,在其他实施例中,上述分别计算出每个三角形顶点组合对应的三角形的面积的步骤包括:在计算一个三角形顶点组合对应的三角形的面积时,遍历预存的三角形顶点组合与三角形面积的关联数据,分析是否有预存的三角形顶点组合与该三角形顶点组合匹配;例如,假设预存的三角形顶点组合包括A1、A2、A3组合,若该三角形顶点组合由A1、A2、A3顶点组成,则代表有预存的三角形顶点组合与该三角形顶点组合匹配。若有预存的三角形顶点组合与该三角形顶点组合匹配,则找出匹配的三角形顶点组合对应的三角形的面积,并将找出的面积作为该三角形顶点组合对应的三角形的面积;若没有预存的三角形顶点组合与该三角形顶点组合匹配,则根据该三角形顶点组合中各个顶点在世界坐标系中的坐标即该三角形顶点组合各个顶点所在的彩色块对应的世界坐标系的坐标,确定出该三角形顶点组合对应的三角形各条边的边长,根据确定出的边长计算出该三角形顶点组合对应的三角形的面积,并将该三角形顶点组合与计算出的三角形面积形成关联数据并保存,以供后续进行三角形面积的查找。进一步地,在其他实施例中,所述选择的预设数量的彩色块的数量为四个,所述预设的坐标计算规则如下:根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存在所述手持终端内的相机内参数,计算出属于相机外参数的旋转矩阵和平移矩阵;根据所述旋转矩阵和平移矩阵转换获取所述手持终端的摄像头在世界坐标系中的坐标作为所述手持终端在世界坐标系中的坐标。本实施例中,根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存于手持终端内的相机内参数(fx,fy,u0,v0),计算出属于相机外参数的旋转矩阵R和平移矩阵T,例如,可由OpenCV中的solvePnP函数计算出属于相机外参数的旋转向量Rvec和平移矩阵T,并由OpenCV中的cvRodrigues2函数转换旋转向量Rvec得到旋转矩阵R;将摄像头坐标系坐标原点坐标(Xc=0,Yc=0,Zc=0)带入以下坐标系转换公式:其中,c指摄像头坐标系,w指世界坐标系;进而求出摄像头在世界坐标系中的坐标,也即手持终端在世界坐标系中的坐标为:Xw1Yw1Zw1=-T·R-1.]]>如图5所示,本发明第二实施例提出一种手持终端的室内导航方法,在上述实施例的基础上,在上述步骤S30之后还包括:步骤S40,基于计算出的所述手持终端在世界坐标系中的坐标,按照预设的方向计算规则,计算出所述手持终端的方向向量。本实施例中,在计算出所述手持终端在世界坐标系中的坐标之后,还可按照预设的方向计算规则,计算出所述手持终端的方向向量。具体的,所述预设的方向计算规则如下:设方向向量与地面交点在世界坐标系中的坐标是(Xw2,Yw2,Zw2),其中Zw2=0,则只需求Xw2,Yw2。根据手持终端在世界坐标系中的坐标(Xw1,Yw1,Zw1),相机内参数(fx,fy,u0,v0),旋转矩阵R,平移矩阵T,并由摄像头标定模型得:Zcu0v01=fx0u00fyv0001R11R12R13T1R21R22R23T2R31R32R33T3Xw2Yw2Zw21,(Zw2=0)---(3)]]>为使表达式简洁,使用矩阵S表示,设S=S11S12S13S14S21S22S23S24S31S32S33S34=fx0u00fyv0001R11R12R13T1R21R22R23T2R31R32R33T3---(4)]]>可得uZc=S11Xw2+S12Yw2+S14(5)vZc=S21Xw2+S22Yw2+S24(6)Zc=S31Xw2+S32Yw2+S34(7)联立(5)(6)(7)三元一次方程可解得:Xw2=S12S24-S14S22+u0S22S34-u0S24S32-v0S12S34+v0S14S32S11S22-S12S21+u0S12S32-u0S22S31-v0S11S32+v0S12S32---(8)]]>Yw2=-S11S24-S14S21+uS21S34-uS24S32-v0S11S34+v0S14S31S11S22-S12S21+uS12S32-uS22S31-v0S11S32+v0S12S31---(9)]]>Zc=S11S22S34-S11S24S32-S12S21S34+S12S24S31+S14S21S32+S14S22S31S11S22-S12S21+u0S12S32-u0S22S31-v0S11S32+v0S12S31---(10)]]>又已知Zw2=0,法向量与地面交点在世界坐标系的坐标(Xw2,Yw2,Zw2)有解析解,则所述手持终端的方向向量为(Xw2-Xw1,Yw2-Yw1,Zw2-Zw1)。进一步地,如图6所示,图6为本发明手持终端的室内导航方法一实施例中的导航应用示意图;本实施例利用手持终端的相机摄像头获取镜头范围内的影像中预置在室内预设位置的条形码标签的标识信息,并从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;计算出每一个彩色块对应的像素坐标系中的坐标及对应的世界坐标系中的坐标;再根据选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算得到所述手持终端的位置及方向向量。由于根据在室内预设位置预置的条形码标签的彩色块的像素坐标系中的坐标及对应的世界坐标系中的坐标进行综合计算,能快速准确的对手持终端的实时位置及方向向量进行精确的计算,从而提高室内导航精度。本发明进一步提供一种室内导航的手持终端。参照图7,图7为本发明室内导航的手持终端第一实施例的功能模块示意图。在第一实施例中,该室内导航的手持终端包括:获取模块01,用于在接收到用户发出的室内导航指令后,控制手持终端的相机摄像头获取镜头范围内的影像,对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;本实施例中,可预先在室内场所的预设位置如地面、墙壁、天花板等设置条形码标签,该条形码标签中至少包括相应的标识信息、彩色块等。在手持终端接收到用户通过物理按键或虚拟按键发出的室内导航指令后,开启手持终端的相机摄像头,并控制相机摄像头获取镜头范围内的影像。通过手持终端的相机摄像头采集镜头范围内的影像中预置在室内预设位置的条形码标签,并对镜头范围内的影像中预置在室内预设位置的条形码标签的条形码进行数据解析,获取镜头范围内的影像中的各个条形码标签的标识信息,并按照预设的彩色块选择规则,从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块,在此对选择的彩色块数量不作限定。计算模块02,用于按照选择的每一个彩色块在镜头范围内的影像中的位置,计算出每一个彩色块对应的像素坐标系中的坐标;根据预先设定的条形码标签的标识信息与彩色块的世界坐标系的坐标的关联数据,按照选择的每一个彩色块所在的条形码标签,计算出每一个彩色块对应的世界坐标系中的坐标;为选择的每一个彩色块,按照其在镜头范围内的影像中的位置,确定出对应的像素坐标系中的坐标,如在一种实施方式中,可计算彩色块的几何中心在像素坐标系中的坐标;根据预先确定的条形码标签的标识信息和彩色块的世界坐标系的坐标的关联数据,为选择的每一个彩色块,按照其所在的条形码标签,确定出对应的世界坐标系中的坐标,如在一种实施方式中,可计算彩色块的几何中心在世界坐标系中的坐标。定位模块03,用于基于选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,得到所述手持终端的位置。根据选择的各个彩色块对应的像素坐标系中的坐标和世界坐标系中的坐标,并按照预设的坐标计算规则,计算出所述手持终端在世界坐标系中的坐标,也即所述手持终端的位置,从而实现对手持终端的实时位置进行精确的计算,进行室内导航。本实施例利用手持终端的相机摄像头获取镜头范围内的影像中预置在室内预设位置的条形码标签的标识信息,并从镜头范围内的影像中的至少两个条形码标签中选择预设数量的彩色块;计算出每一个彩色块对应的像素坐标系中的坐标及对应的世界坐标系中的坐标;再根据选择的各个彩色块对应的像素坐标系中的坐标及世界坐标系中的坐标,按照预设的坐标计算规则,计算得到所述手持终端的位置。由于仅需利用手持终端的相机摄像头及在室内预设位置预置条形码标签即可进行室内导航,对软、硬件要求较低,且根据在室内预设位置预置的条形码标签的彩色块的像素坐标系中的坐标及对应的世界坐标系中的坐标进行综合计算,能快速准确的对手持终端的实时位置进行精确的计算,从而提高室内导航精度。进一步地,在其他实施例中,上述条形码标签包括标签基体、条形码和两个彩色块,所述条形码和两个彩色块设于所述标签基体上,且所述两个彩色块位于所述条形码的两端,所述条形码编码有所属的条形码标签的标识信息(例如,ID);所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则锁定离镜头最近的两个条形码标签,并分别从锁定的两个条形码标签中各选择两个彩色块。进一步地,在其他实施例中,上述条形码标签包括标签基体、条形码和两个彩色块组合,所述条形码和两个彩色块组合设于所述标签基体上,且所述两个彩色块组合位于所述条形码的两端;所述彩色块组合包括颜色不相同的多个彩色块,所述条形码编码有所属的条形码标签的标识信息(例如,ID);所述选择的预设数量的彩色块的数量为四个,所述预设的彩色块选择规则为:若镜头范围内的影像中只有两个条形码标签,则分别从镜头范围内的影像中的两个条形码标签中各选择两个处于所在标签基体的最外端的彩色块,也即分别从镜头范围内的影像中的两个条形码标签中各选择两个最外围的彩色块;若镜头范围内的影像中的条形码标签数量大于两个,则从各个条形码标签中确定出具有最大分散指标的四个彩色块。进一步地,在其他实施例中,上述计算模块02还用于:从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点,如果确定的四个预设位置点构成的是凸四边形,则将该凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个预设位置点构成的是凹四边形,则确定所述凹四边形的四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。本实施例中,从不同的条形码标签中以排列组合的方式分别抽取四个彩色块以组成不同的彩色块组合,例如,若所有的条形码标签共有N个彩色块,则共可以组成种彩色块组合;针对每一个彩色块组合,确定彩色块组合中四个彩色块的预设位置点如几何中心点,如果确定的四个点构成的是凸四边形,则将凸四边形的面积作为对应的彩色块组合的分散指标;如果确定的四个点构成的是凹四边形,则确定所述四个点中构成的三角形面积最大的三个点,并将确定的三个点构成的三角形面积作为对应的彩色块组合的分散指标;比较各个彩色块组合对应的分散指标,确定出具有最大分散指标的彩色块组合中四个彩色块。其中,本实施例中将四边形分为凸四边形和凹四边形,有任意一个内角大于180度的四边形为凹四边形,否则为凸四边形。对于凸四边形,将其面积作为其分散程度的衡量指标;而对于凹四边形,则任取三个点构成的三角形的面积,将其中最大的面积作为其分散指标。进一步地,在其他实施例中,上述计算模块02还用于:如果确定的四个预设位置点构成的是凸四边形,则从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合;分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,得到凸四边形的面积,并将该凸四边形的面积作为对应的彩色块组合的分散指标。本实施例子,从凸四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合。分别计算出每个三角形顶点组合对应的三角形的面积,将所有三角形顶点组合对应的三角形面积之和除以2,以得到凸四边形的面积。进一步地,在其他实施例中,上述计算模块02还用于:如果确定的四个预设位置点构成的是凹四边形,则从所述凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合,分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为所述凹四边形对应的彩色块组合的分散指标。本实施例子,从凹四边形的四个点中以排列组合的方式分别抽取三个点以组成不同的三角形顶点组合。分别计算出每个三角形顶点组合对应的三角形的面积,确定出最大的三角形面积对应的三角形顶点组合,并将最大的三角形面积作为凹四边形的分散指标。进一步地,在其他实施例中,上述计算模块02还用于:在计算一个三角形顶点组合对应的三角形的面积时,遍历预存的三角形顶点组合与三角形面积的关联数据,分析是否有预存的三角形顶点组合与该三角形顶点组合匹配;例如,假设预存的三角形顶点组合包括A1、A2、A3组合,若该三角形顶点组合由A1、A2、A3顶点组成,则代表有预存的三角形顶点组合与该三角形顶点组合匹配。若有预存的三角形顶点组合与该三角形顶点组合匹配,则找出匹配的三角形顶点组合对应的三角形的面积,并将找出的面积作为该三角形顶点组合对应的三角形的面积;若没有预存的三角形顶点组合与该三角形顶点组合匹配,则根据该三角形顶点组合中各个顶点在世界坐标系中的坐标即该三角形顶点组合各个顶点所在的彩色块对应的世界坐标系的坐标,确定出该三角形顶点组合对应的三角形各条边的边长,根据确定出的边长计算出该三角形顶点组合对应的三角形的面积,并将该三角形顶点组合与计算出的三角形面积形成关联数据并保存,以供后续进行三角形面积的查找。进一步地,在其他实施例中,所述选择的预设数量的彩色块的数量为四个,所述预设的坐标计算规则如下:根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存在所述手持终端内的相机内参数,计算出属于相机外参数的旋转矩阵和平移矩阵;根据所述旋转矩阵和平移矩阵转换获取所述手持终端的摄像头在世界坐标系中的坐标作为所述手持终端在世界坐标系中的坐标。本实施例中,根据选择的四个彩色块对应的四个像素坐标系中的坐标和四个世界坐标系中的坐标,并根据预存于手持终端内的相机内参数(fx,fy,u0,v0),计算出属于相机外参数的旋转矩阵R和平移矩阵T,例如,可由OpenCV中的solvePnP函数计算出属于相机外参数的旋转向量Rvec和平移矩阵T,并由OpenCV中的cvRodrigues2函数转换旋转向量Rvec得到旋转矩阵R;将摄像头坐标系坐标原点坐标(Xc=0,Yc=0,Zc=0)带入以下坐标系转换公式:其中,c指摄像头坐标系,w指世界坐标系;进而求出摄像头在世界坐标系中的坐标,也即手持终端在世界坐标系中的坐标为:Xw1Yw1Zw1=-T·R-1.]]>如图8所示,本发明第二实施例提出一种室内导航的手持终端,在上述实施例的基础上,还包括:方向确定模块04,用于基于计算出的所述手持终端在世界坐标系中的坐标,按照预设的方向计算规则,计算出所述手持终端的方向向量。本实施例中,在计算出所述手持终端在世界坐标系中的坐标之后,还可按照预设的方向计算规则,计算出所述手持终端的方向向量。具体的,所述预设的方向计算规则如下:设方向向量与地面交点在世界坐标系中的坐标是(Xw2,Yw2,Zw2),其中Zw2=0,则只需求Xw2,Yw2。根据手持终端在世界坐标系中的坐标(Xw1,Yw1,Zw1),相机内参数(fx,fy,u0,v0),旋转矩阵R,平移矩阵T,并由摄像头标定模型得:Zcu0v01=fx0u00fyv0001R11R12R13T1R21R22R23T2R31R32R33T3Xw2Yw2Zw21,(Zw2=0)---(3)]]>为使表达式简洁,使用矩阵S表示,设S=S11S12S13S14S21S22S23S24S31S32S33S34=fx0u00fyv0001R11R12R13T1R21R22R23T2R31R32R33T3---(4)]]>可得uZc=S11Xw2+S12Yw2+S14(5)vZc=S21Xw2+S22Yw2+S24(6)Zc=S31Xw2+S32Yw2+S34(7)联立(5)(6)(7)三元一次方程可解得:Xw2=S12S24-S14S22+u0S22S34-u0S24S32-v0S12S34+v0S14S32S11S22-S12S21+u0S12S32-u0S22S31-v0S11S32+v0S12S32---(8)]]>Yw2=-S11S24-S14S21+uS21S34-uS24S32-v0S11S34+v0S14S31S11S22-S12S21+uS12S32-uS22S31-v0S11S32+v0S12S31---(9)]]>Zc=S11S22S34-S11S24S32-S12S21S34+S12S24S31+S14S21S32+S14S22S31S11S22-S12S21+u0S12S32-u0S22S31-v0S11S32+v0S12S31---(10)]]>又已知Zw2=0,法向量与地面交点在世界坐标系的坐标(Xw2,Yw2,Zw2)有解析解,则所述手持终端的方向向量为(Xw2-Xw1,Yw2-Yw1,Zw2-Zw1)。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1