本发明涉及视觉测距领域,尤其涉及一种测距方法、装置、电子设备以及可读存储介质。
背景技术:
双目立体视觉作为一种低成本的测距技术,得到了广泛的应用。在相机参数(图像分辨率;基线:两个摄像头的距离)确定的情况下,双目立体视觉的测距精度取决于立体像对的匹配误差以及物体距离摄像头的距离。
现有技术中,基于双目立体视觉的高精度测距中,由于采用稠密视差匹配算法来估计初始视差,导致当物体内部缺乏纹理时,初始视差的估计结果不可靠,其次获取准确的物体轮廓的计算复杂度过高。
技术实现要素:
本发明提供一种测距方法、装置、电子设备以及可读存储介质,以解决测距时初始视差的估计结果不准确以及计算复杂度过高的问题。
根据本发明的第一方面,本发明提供一种测距方法,所述方法包括:获取双目摄像头拍摄的第一图像和第二图像;根据所述第一图像,得到包含目标物的第一子图;根据所述第二图像,得到包含所述目标物的第二子图;根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
在一些实施例中,在计算所述目标物在所述第一子图和所述第二子图中的视差的步骤中,包括:对所述第一子图进行采样,得到第一像素点集,所述第一像素点集包括所述特征像素点;对所述第二子图进行采样,得到第二像素点集,所述第二像素点集包括所述特征像素点;根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差;根据所述第一像素点集、所述第二子图的全部像素以及所述初始视差,得到所述目标物的视差。
在一些实施例中,在对所述第一子图进行采样,得到第一像素点集的步骤中,包括:在所述第一子图上选取一预设大小的目标物区域,根据所述目标物区域计算所述目标物的颜色模型;根据满足所述颜色模型的所述第一子图中的像素,得到目标物像素;根据边缘强度大于第一阈值的所述第一子图中的像素,得到边缘像素;根据所述目标物像素与所述边缘像素的交集,得到第一像素点集。
在一些实施例中,所述颜色模型为高斯模型时,计算所述目标物的平均颜色以及颜色方差,得到颜色范围,所述颜色范围用于判断所述第一子图中的像素是否满足所述颜色模型。
在一些实施例中,所述边缘强度的计算公式为:edge(x,y)=|i(x 2,y)–i(x-2,y)|,其中edge(x,y)为所述边缘强度,x和y为像素的坐标,i为像素点。
在一些实施例中,在对所述第二子图进行采样,得到第二像素点集的步骤中,包括:根据边缘强度大于第二阈值的所述第二子图中的像素,得到第二像素点集。
在一些实施例中,在根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差的步骤中,包括:选取一预设视差范围;针对所述预设视差范围内的每一视差,计算所述第一像素点集和所述第二像素点集的颜色匹配度;确定所述颜色匹配度最大时对应的视差为初始视差。
根据本发明的第二方面,本发明提供一种测距装置,所述测距装置包括:获取模块,用于获取双目摄像头拍摄的第一图像和第二图像;第一得到模块,用于根据所述第一图像,得到包含目标物的第一子图;第二得到模块,用于根据所述第二图像,得到包含所述目标物的第二子图;第一计算模块,用于根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;第二计算模块,用于根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
根据本发明的第三方面,本发明提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述的测距方法的步骤。
根据本发明的第四方面,本发明提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上述的测距方法。
相较现有技术,本发明的有益效果为:本发明通过采样策略获取对物体匹配度高的特征像素点进行稀疏匹配,降低算法的计算复杂度,同时对物体纹理需求不高,提升初始视差的估计结果的准确性,从而提升测距精度。
附图说明
图1为本发明实施例提供的一种测距方法的步骤流程示意图。
图2为图1所示的步骤s14的具体步骤流程示意图。
图3为图2所示的步骤s21的具体步骤流程示意图。
图4为图2所示的步骤s23的具体步骤流程示意图。
图5为本发明实施例提供的一种测距装置的结构示意图。
图6为本发明实施例提供的电子设备的结构示意图。
图7为本发明实施例提供的电子设备的具体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种测距方法,该方法包括步骤s11至步骤s15。
步骤s11,获取双目摄像头拍摄的第一图像和第二图像。
在本发明实施例中,获取第一图像和第二图像之前,通过双目摄像头的相机参数对拍摄预览界面进行立体矫正,以使预览界面完全行对准。
步骤s12,根据所述第一图像,得到包含目标物的第一子图。
在本发明实施例中,预先设置目标物的特征信息,根据该特征信息在第一图像中寻找与之匹配的目标,并通过该目标的外接矩形截取第一图像,得到包含目标物的第一子图。
步骤s13,根据所述第二图像,得到包含所述目标物的第二子图。
在本发明实施例中,预先设置目标物的特征信息,根据该特征信息在第一图像中寻找与之匹配的目标,并通过该目标的外接矩形截取第二图像,得到包含目标物的第二子图。
步骤s14,根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差。
在本发明实施例中,通过获取对物体匹配度高的特征像素点进行稀疏匹配,降低算法的计算复杂度。
在一些实施例中,参阅图2,步骤s14具体包括步骤s21至步骤s24。
步骤s21,对所述第一子图进行采样,得到第一像素点集,所述第一像素点集包括所述特征像素点。
参阅图3,步骤s21具体包括步骤s31至步骤s34。
步骤s31,在所述第一子图上选取一预设大小的目标物区域,根据所述目标物区域计算所述目标物的颜色模型。
在本发明实施例中,第一子图的中心区域作为最佳的目标物区域。该目标物区域包含的像素均为目标物对应的像素。颜色模型可以为高斯模型或混合高斯模型,当颜色模型为高斯模型时,计算目标物的平均颜色以及颜色方差,得到颜色范围(r_min,g_min,b_min)至(r_max,g_max,b_max),其中r_min,g_min,b_min为像素点的rgb分量的最小值,r_max,g_max,b_max为像素点的rgb分量的最大值。颜色范围用于判断第一子图中的像素是否满足颜色模型。
步骤s32,根据满足所述颜色模型的所述第一子图中的像素,得到目标物像素。
在本发明实施例中,针对第一子图中的每一像素进行判断其是否满足颜色模型,以得到目标物像素。
步骤s33,根据边缘强度大于第一阈值的所述第一子图中的像素,得到边缘像素。
在本发明实施例中,通过边缘强度的计算公式:edge(x,y)=|i(x 2,y)–i(x-2,y)|,计算边缘强度大于第一阈值的像素,其中edge(x,y)为所述边缘强度,x和y为像素的坐标,i为像素点。
步骤s34,根据所述目标物像素与所述边缘像素的交集,得到第一像素点集。
通过如图3所示的采样方式,能够采样得到的特征像素点符合目标物的颜色模型,避免后续过程中背景像素对视差匹配的影响;同时特征像素点位于边缘附近,保证特征像素点是对视差匹配有效的,减少视差匹配计算量的同时,增强视差匹配的鲁棒性。
继续参阅图2。
步骤s22,对所述第二子图进行采样,得到第二像素点集,所述第二像素点集包括所述特征像素点。
在本发明实施例中,根据边缘强度大于第二阈值的所述第二子图中的像素,得到第二像素点集。
步骤s23,根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差。
参阅图4,步骤s23具体包括步骤s41至步骤s43。
步骤s41,选取一预设视差范围。
步骤s42,针对所述预设视差范围内的每一视差,计算所述第一像素点集和所述第二像素点集的颜色匹配度。
在本发明实施例中,在每一视差下,判断第二像素点集中是否存在第一像素点集中对应的像素,若不存在,则颜色匹配度为0;若存在,则颜色匹配度为match_value=256*3-|r(1)–r(2)| |g(1)–g(2)| |b(1)–b(2)|,其中match_value为颜色匹配度,r(1),g(1),b(1)为第一像素点集中的像素点对应的rgb分量,r(2),g(2),b(2)为第二像素点集中的像素点对应的rgb分量。累加第一像素点集中所有像素点的颜色匹配度,得到第一像素点集和第二像素点集的颜色匹配度。
步骤s43,确定所述颜色匹配度最大时对应的视差为初始视差。
继续参阅图2。
步骤s24,根据所述第一像素点集、所述第二子图的全部像素以及所述初始视差,得到所述目标物的视差。
在本发明实施例中,通过ldm(lineardawgmatching)匹配算法对第一子图和第二子图进行视差匹配。具体如下:。
给定一个初始视差d,ldm采用如下公式经过多次迭代后收敛到一个精确的视差:
h0=d;
其中,h0以及hk 1是视差,f(x)是左图上的像素值,g(x)是右图上当前视差hk对应的像素值,f′(x)是左图水平方向上的差分。
步骤s15,根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
在本发明实施例中,依据三角测量原理,计算目标物与双目摄像头的距离。
如图5所示,本发明实施例提供一种测距装置,该装置包括获取装置51、第一得到模块52、第二得到模块53、第一计算模块54以及第二计算模块55。
获取装置51用于获取双目摄像头拍摄的第一图像和第二图像。
在本发明实施例中,获取第一图像和第二图像之前,通过双目摄像头的相机参数对拍摄预览界面进行立体矫正,以使预览界面完全行对准。
第一得到模块52用于根据所述第一图像,得到包含目标物的第一子图。
在本发明实施例中,预先设置目标物的特征信息,根据该特征信息在第一图像中寻找与之匹配的目标,并通过该目标的外接矩形截取第一图像,得到包含目标物的第一子图。
第二得到模块53用于根据所述第二图像,得到包含所述目标物的第二子图。
在本发明实施例中,预先设置目标物的特征信息,根据该特征信息在第一图像中寻找与之匹配的目标,并通过该目标的外接矩形截取第二图像,得到包含目标物的第二子图。
第一计算模块54用于根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差。
在本发明实施例中,通过获取对物体匹配度高的特征像素点进行稀疏匹配,降低算法的计算复杂度。
在一些实施例中,第一计算模块54还包括第一得到子模块、第二得到子模块、第三得到子模块、第四得到子模块。
第一得到子模块用于对所述第一子图进行采样,得到第一像素点集,所述第一像素点集包括所述特征像素点。
第一得到子模块具体包括计算单元、第一得到单元、第二得到单元以及第三得到单元。
计算单元用于在所述第一子图上选取一预设大小的目标物区域,根据所述目标物区域计算所述目标物的颜色模型。
在本发明实施例中,第一子图的中心区域作为最佳的目标物区域。该目标物区域包含的像素均为目标物对应的像素。颜色模型可以为高斯模型或混合高斯模型,当颜色模型为高斯模型时,计算目标物的平均颜色以及颜色方差,得到颜色范围(r_min,g_min,b_min)至(r_max,g_max,b_max),其中r_min,g_min,b_min为像素点的rgb分量的最小值,r_max,g_max,b_max为像素点的rgb分量的最大值。颜色范围用于判断第一子图中的像素是否满足颜色模型。
第一得到单元用于根据满足所述颜色模型的所述第一子图中的像素,得到目标物像素。
在本发明实施例中,针对第一子图中的每一像素进行判断其是否满足颜色模型,以得到目标物像素。
第二得到单元用于根据边缘强度大于第一阈值的所述第一子图中的像素,得到边缘像素。
在本发明实施例中,通过边缘强度的计算公式:edge(x,y)=|i(x 2,y)–i(x-2,y)|,计算边缘强度大于第一阈值的像素,其中edge(x,y)为所述边缘强度,x和y为像素的坐标,i为像素点。
第三得到单元用于根据所述目标物像素与所述边缘像素的交集,得到第一像素点集。
通过上述的采样方式,能够采样得到的特征像素点符合目标物的颜色模型,避免后续过程中背景像素对视差匹配的影响;同时特征像素点位于边缘附近,保证特征像素点是对视差匹配有效的,减少视差匹配计算量的同时,增强视差匹配的鲁棒性。
第二得到子模块用于对所述第二子图进行采样,得到第二像素点集,所述第二像素点集包括所述特征像素点。
在本发明实施例中,根据边缘强度大于第二阈值的所述第二子图中的像素,得到第二像素点集。
第三得到子模块用于根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差。
第三得到子模块具体包括选取单元,颜色匹配度计算单元以及确定单元。
选取单元用于选取一预设视差范围。
颜色匹配度计算单元用于针对所述预设视差范围内的每一视差,计算所述第一像素点集和所述第二像素点集的颜色匹配度。
在本发明实施例中,在每一视差下,判断第二像素点集中是否存在第一像素点集中对应的像素,若不存在,则颜色匹配度为0;若存在,则颜色匹配度为match_value=256*3-|r(1)–r(2)| |g(1)–g(2)| |b(1)–b(2)|,其中match_value为颜色匹配度,r(1),g(1),b(1)为第一像素点集中的像素点对应的rgb分量,r(2),g(2),b(2)为第二像素点集中的像素点对应的rgb分量。累加第一像素点集中所有像素点的颜色匹配度,得到第一像素点集和第二像素点集的颜色匹配度。
确定单元用于确定所述颜色匹配度最大时对应的视差为初始视差。
第四得到子模块用于根据所述第一像素点集、所述第二子图的全部像素以及所述初始视差,得到所述目标物的视差。
在本发明实施例中,通过ldm(lineardawgmatching)匹配算法对第一子图和第二子图进行视差匹配。具体如下:。
给定一个初始视差d,ldm采用如下公式经过多次迭代后收敛到一个精确的视差:
h0=d;
其中,h0以及hk 1是视差,f(x)是左图上的像素值,g(x)是右图上当前视差hk对应的像素值,f′(x)是左图水平方向上的差分。
第二计算模块55用于根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
在本发明实施例中,依据三角测量原理,计算目标物与双目摄像头的距离。
参阅图6,本发明实施例还提供一种电子设备600,该电子设备600可以是手机、平板以及电脑等设备。如图6所示,电子设备600包括处理器601、存储器602。其中,处理器601与存储器602电性连接。
处理器601是电子设备600的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器602内的应用程序,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,该电子设备600设有多个存储分区,该多个存储分区包括系统分区和目标分区,电子设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
获取双目摄像头拍摄的第一图像和第二图像;
根据所述第一图像,得到包含目标物的第一子图;
根据所述第二图像,得到包含所述目标物的第二子图;
根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;
根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
参阅图7,图7示出了本发明实施例提供的电子设备700的具体结构框图,该电子设备700可以用于实施上述实施例中提供的测距方法。该电子设备700可以为手机或平板。电子设备700还包括以下部件。
rf电路710用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。rf电路710可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。rf电路710可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm)、增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,wcdma),码分多址技术(codedivisionaccess,cdma)、时分多址技术(timedivisionmultipleaccess,tdma),无线保真技术(wirelessfidelity,wi-fi)(如美国电气和电子工程师协会标准ieee802.11a,ieee802.11b,ieee802.11g和/或ieee802.11n)、网络电话(voiceoverinternetprotocol,voip)、全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器720可用于存储软件程序以及模块,如上述实施例中测距方法对应的程序指令/模块,处理器780通过运行存储在存储器720内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现测距方法的功能。存储器720可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器720可进一步包括相对于处理器780远程设置的存储器,这些远程存储器可以通过网络连接至电子设备700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元730可包括触敏表面731以及其他输入设备732。触敏表面731,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面731上或在触敏表面731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面731。除了触敏表面731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及电子设备700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元740可包括显示面板741,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板741。进一步的,触敏表面731可覆盖显示面板741,当触敏表面731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触敏表面731与显示面板741是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面731与显示面板741集成而实现输入和输出功能。
电子设备700还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与电子设备700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经rf电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。音频电路760还可能包括耳塞插孔,以提供外设耳机与电子设备700的通信。
电子设备700通过传输模块770(例如wi-fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了传输模块770,但是可以理解的是,其并不属于电子设备700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是电子设备700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行电子设备700的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理核心;在一些实施例中,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
电子设备700还包括给各个部件供电的电源790(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源790还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备700还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,电子设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
获取双目摄像头拍摄的第一图像和第二图像;
根据所述第一图像,得到包含目标物的第一子图;
根据所述第二图像,得到包含所述目标物的第二子图;
根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;
根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读的可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测距方法中的步骤。
其中,该可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
由于该可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测距方法中的步骤,因此,可以实现本发明实施例所提供的任一种测距方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本发明的有益效果在于:本发明通过采样策略获取对物体匹配度高的特征像素点进行稀疏匹配,降低算法的计算复杂度,同时对物体纹理需求不高,提升初始视差的估计结果的准确性,从而提升测距精度。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本发明实施例所提供的一种测距方法、系统、可读存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。
1.一种测距方法,其特征在于,包括:
获取双目摄像头拍摄的第一图像和第二图像;
根据所述第一图像,得到包含目标物的第一子图;
根据所述第二图像,得到包含所述目标物的第二子图;
根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;
根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
2.如权利要求1所述的测距方法,其特征在于,在计算所述目标物在所述第一子图和所述第二子图中的视差的步骤中,包括:
对所述第一子图进行采样,得到第一像素点集,所述第一像素点集包括所述特征像素点;
对所述第二子图进行采样,得到第二像素点集,所述第二像素点集包括所述特征像素点;
根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差;
根据所述第一像素点集、所述第二子图的全部像素以及所述初始视差,得到所述目标物的视差。
3.如权利要求2所述的测距方法,其特征在于,在对所述第一子图进行采样,得到第一像素点集的步骤中,包括:
在所述第一子图上选取一预设大小的目标物区域,根据所述目标物区域计算所述目标物的颜色模型;
根据满足所述颜色模型的所述第一子图中的像素,得到目标物像素;
根据边缘强度大于第一阈值的所述第一子图中的像素,得到边缘像素;
根据所述目标物像素与所述边缘像素的交集,得到第一像素点集。
4.如权利要求3所述的测距方法,其特征在于,所述颜色模型为高斯模型时,计算所述目标物的平均颜色以及颜色方差,得到颜色范围,所述颜色范围用于判断所述第一子图中的像素是否满足所述颜色模型。
5.如权利要求3所述的测距方法,其特征在于,所述边缘强度的计算公式为:edge(x,y)=|i(x 2,y)–i(x-2,y)|,其中edge(x,y)为所述边缘强度,x和y为像素的坐标,i为像素点。
6.如权利要求2所述的测距方法,其特征在于,在对所述第二子图进行采样,得到第二像素点集的步骤中,包括:
根据边缘强度大于第二阈值的所述第二子图中的像素,得到第二像素点集。
7.如权利要求2所述的测距方法,其特征在于,在根据所述第一像素点集和所述第二像素点集,对所述第一子图和所述第二子图进行视差匹配,得到所述目标物的初始视差的步骤中,包括:
选取一预设视差范围;
针对所述预设视差范围内的每一视差,计算所述第一像素点集和所述第二像素点集的颜色匹配度;
确定所述颜色匹配度最大时对应的视差为初始视差。
8.一种测距装置,其特征在于,包括:
获取模块,用于获取双目摄像头拍摄的第一图像和第二图像;
第一得到模块,用于根据所述第一图像,得到包含目标物的第一子图;
第二得到模块,用于根据所述第二图像,得到包含所述目标物的第二子图;
第一计算模块,用于根据所述目标物的特征像素点,计算所述目标物在所述第一子图和所述第二子图中的视差;
第二计算模块,用于根据所述视差和所述双目摄像头的相机参数,计算所述目标物与所述双目摄像头的距离。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7任一项所述的测距方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7任一项所述的测距方法。
技术总结