CN103913149A - 一种基于stm32单片机的双目测距系统及其测距方法 - Google Patents

一种基于stm32单片机的双目测距系统及其测距方法 Download PDF

Info

Publication number
CN103913149A
CN103913149A CN201410103469.8A CN201410103469A CN103913149A CN 103913149 A CN103913149 A CN 103913149A CN 201410103469 A CN201410103469 A CN 201410103469A CN 103913149 A CN103913149 A CN 103913149A
Authority
CN
China
Prior art keywords
hot spot
ordinate
white point
camera
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410103469.8A
Other languages
English (en)
Other versions
CN103913149B (zh
Inventor
谢巍
黄进钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201410103469.8A priority Critical patent/CN103913149B/zh
Publication of CN103913149A publication Critical patent/CN103913149A/zh
Application granted granted Critical
Publication of CN103913149B publication Critical patent/CN103913149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/24Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with fixed angles and a base of variable length in the observation station, e.g. in the instrument
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • G01C11/08Interpretation of pictures by comparison of two or more pictures of the same area the pictures not being supported in the same relative position as when they were taken

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明公开了一种基于STM32单片机的双目测距系统,包括底座、摄像头支撑架,所述摄像头支撑架上设有左摄像头和右摄像头,所述底座上设有同一水平面的左红外激光发射管和右红外激光发射管;所述底座上设有STM32F407VGT6控制器,所述STM32F407VGT6控制器通过接口电路与分别与左摄像头和右摄像头连接;所述摄像头支撑架通过垂直于底座的固定杆固定于底座上方;所述左摄像头和右摄像头的结构相同,且位于同一水平面。本发明还公开了上述基于STM32单片机的双目测距系统的双目测距方法。本发明使用价格低廉的STM32单片机作为系统核心,大大降低双目定位系统的研发成本。

Description

一种基于STM32单片机的双目测距系统及其测距方法
技术领域
本发明涉及计算机视觉处理领域,特别涉及一种基于STM32单片机的双目测距系统及其测距方法。
背景技术
人类接收的外部环境信息中,有80%的信息是通过视觉获取的。换言之,视觉是人类感知世界的窗口,使我们更加准确地用大脑去思考和分析这个世界。在20世纪90年代后,计算机的运算速度、各类传感器的精度都有了很大的提升,为计算机的自动控制提供了扎实的硬件基础,于是人工智能的发展便蒸蒸日上,各类工业机器人不断涌现。那么,人工智能机器人感知外部环境信息也需要一双“眼睛”,那就是机器视觉,其实现形式的一个最为关键的就是摄像头,由模拟摄像头到数字摄像头的发展,摄像头的输出图片信号越来越高清,为机器视觉的各类研究应用提供了良好的条件。
发明内容
为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种基于STM32单片机的双目测距系统,大大降低双目定位系统的研发成本。
本发明的另一目的在于提供上述双目测距系统的测距方法。
本发明的目的通过以下技术方案实现:
一种基于STM32单片机的双目测距系统,包括底座、摄像头支撑架,所述摄像头支撑架上设有左摄像头和右摄像头,所述底座上设有位于同一水平面的左红外激光发射管和右红外激光发射管;所述底座上设有STM32F407VGT6控制器,所述STM32F407VGT6控制器通过接口电路分别与左摄像头和右摄像头连接;所述摄像头支撑架通过垂直于底座的固定杆固定于底座上方;所述左摄像头和右摄像头的结构相同,且位于同一水平面。
所述基于STM32单片机的双目测距系统的测距方法,包括以下步骤:
(1)左摄像头和右摄像头采集图样,采用MATLAB软件中的StereoCalibration工具箱,对采集到的图样进行标定,得到左摄像头的焦距fL和右摄像头的焦距fR,及左摄像头光心和右摄像头光心之间的距离T;其中,fL=fR=f;
(2)获取目标光斑在左摄像头采集的图样中的横坐标值XPL和目标光斑在右摄像头采集的图样中的横坐标值XPR,具体步骤如下:
(2-1)定义当前访问白点的坐标的缓存数组、每个光斑极限点坐标缓存数组、每个光斑的面积缓存数组和每个光斑的周长缓存数组;
(2-2)从图样的第一列的最后一行的像素点开始,逐列对每列的每个像素点由下而上地访问;
(2-3)当检测到访问的像素点为白点时,将光斑标志位置为true,并使光斑计数器自加1,同时将其坐标存入当前访问的白点坐标的缓存数组中,并将该白点的坐标值认为是暂时的光斑上、下、左、右边缘的坐标值,存入光斑极限点坐标缓存数组中,再往对应的光斑的面积缓存数组中累计面积;
(2-4)在光斑标志位置为true后,每当遇到一个白点时,进行第一个边缘判断:判断该白点的正下方一点是否为黑点,并且该白点的纵坐标与步骤(2-3)中保存在当前访问的白点坐标的缓存数组中的白点的纵坐标的差值是否小于设定的像素阈值;如果是,则认为该白点是光斑轮廓上的点;再比较当前白点与前一白点的横坐标和纵坐标,如果前者大于后者,就将当前白点的横坐标认为是暂时的右边缘的横坐标和上边缘的纵坐标,并保存起来;同时,累计该光斑的周长,存入周长缓存数组中;
(2-5)进行第二个边缘判断:判断该白点的正上方是否为黑点并且该白点的纵坐标与暂时的光斑上边缘的纵坐标差值是否大于设定的像素阈值,如果是,则认为该白点不属于本光斑,将光斑出现标志位清零;如果不是,进行步骤(2-6);
(2-6)进行第三个边缘判断:判断该白点的正上方的点是否为黑点并且该白点的纵坐标与暂时的光斑下边缘的纵坐标的差值是否小于设定的像素阈值;如果是,则比较该白点的纵坐标是否比暂时的光斑下边缘的纵坐标的小,若是,则更新下边缘纵坐标;同时,累计周长;
(2-7)进行第四个边缘判断:判断该白点的正上方的点是否为黑点,并且该白点纵坐标与暂时的光斑下边缘点纵坐标的差值是否小于设定的像素阈值;如果是,那么说明该点不属于本光斑,光斑出现标志位清零;
(2-8)完成对图样所有的像素点的访问后,得到每个光斑的上、下、左、右4个边缘坐标及每个光斑的面积和周长;
(2-9)对得到的每个光斑进行面积滤波:对每个光斑对应的面积的大小进行判断,如果大于设定的上限值或者小于设定的下限值,则将此光斑滤去,记录删除;对满足面积要求的光斑进行步骤(2-10);
(2-10)进行圆形度滤波:计算光斑的圆形度σ是否大于设定的阈值,若是,则认为该光斑为有效光斑;其中,圆形度的计算方法如下:
σ = 4 · π · Area Length 2
其中,Area是光斑的面积,Length是光斑的周长;
(2-11)计算有效光斑的中心点坐标,作为光斑的位置坐标,同时保存在对应的光斑位置数组中,得到左摄像头图样中的光斑横坐标XPL和右摄像头图样中的光斑横坐标XPR
(3)对|XPL-XPR|进行校正:
(4)根据下式计算根据下式计算目标到测量起始线的距离:
S = | f 2 · T 2 l 2 - H 2 |
其中,H为左摄像头到地面的高度,l为经步骤(3)校正后的|XPL-XPR|。
所述对|XPL-XPR|进行校正,具体为:
(3-1)利用左摄像头和右摄像头各拍摄一张用于实现校正的样本图,将样本图中的校正区域在垂直方向上分为6段,每一段的水平方向上又平均划分为若干个小段,在MATLAB中,计算这两幅样本图中目标物出现在每一小段时的横坐标差值并记录下来,将获取到的非线性校正数据以数组的形式保存在STM32单片机的flash中;
(3-2)在左摄像头和右摄像头采集到的图样中,计算出目标光斑的坐标所在的区域范围,并将它的位置分类到所对应的校正区间,然后访问并读取非线性校正数据中对应位置的校正参数;
(3-3)进行如下计算:
Adjust _ Err = Last _ Err · Max { Adjust _ Table } Cur _ Adjust · η
其中,Last_Err表示未经校正的|XPL-XPR|;Adjust_Err表示经过校正的|XPL-XPR|;
Max{Adjust_Table}表示对应的校正数组中横坐标区域位置处于中间时,|XPL-XPR|的最大值;Cur_Adjust表示当前光斑所在区域对应的校正样本值;η表示校正的强度。
所述设定的像素阈值为15个像素。
与现有技术相比,本发明具有以下优点和有益效果:
(1)本发明的系统使用价格低廉的STM32单片机作为系统核心,大大降低双目定位系统的研发成本;
(2)本发明的系统没有使用任何的图像缓冲存储器(如FIFO),单片机对图像信息的捕获具有快速性和实时性,能够做到每个摄像头每秒25帧以上的采集速度;
(3)本发明的系统没有使用任何的植入操作系统(如Linux、uC/OS等),因此软件运行对硬件的要求较低;
(4)本发明的测距方法,所有算法的实现,包括目标光斑识别和测距算法,都是有最基本的C语言语句实现,没有使用任何API函数。
附图说明
图1为本发明的实施例的基于STM32单片机的双目测距系统的结构示意图。
图2为本发明的双目测距方法的几何原理图。
图3为本发明的实施例的双目测距系统与目标的相对位置示意图。
图4为本发明的实施例的目标光斑检测原理图。
具体实施方式
下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例一种基于STM32单片机的双目测距系统,包括底座1、摄像头支撑架2,所述摄像头支撑架2上设有左摄像头21和右摄像头22,所述底座1上设有位于同一水平面的左红外激光发射管11和右红外激光发射管12;所述底座1上设有STM32F407VGT6控制器13,所述STM32F407VGT6控制器13通过接口电路与分别与左摄像头21和右摄像头22连接;所述摄像头支撑架2通过垂直于底座1的固定杆3固定于底座上方;所述左摄像头21和右摄像头22的结构相同,且位于同一水平面。
下面对双目视觉测距理论进行介绍:
双目视觉测距的目标物成像几何学示意图如图2所示,OL和OR分别为左右两个摄像头的光心,Z1和Z2分别是左右两个摄像头的像平面,并使两个平面保持着同样的高度那么就可以使同一目标的质心在两个摄像头的成像在同一高度。点P为假设目标物,那么点P在透镜作用下成像分别成像于Z1和Z2平面,像点分别是PL和PR,坐标分别为(XPL,YP,f)、(XPR,YP,f)。现假设两个摄像头之间的距离为两个光心OL和OR的距离,大小为T;点P距离两个摄像头的距离为L,到像平面的距离大小为L1
根据上图的几何关系,在ΔPOLOR中运用相似三角形定理,有:
S P L P R T = L 1 L
S P L P R = T - 1 σ P · ( XP L - XP R ) - - - ( 2 )
L1=L-F  (3)
F = f · 1 σ P - - - ( 4 )
其中,σP为每毫米所对应的像素大小,F为两个相同参数的摄像头的焦距,而f为两个相同参数的摄像头的像素焦距。
从式(1)~(4)式可以得出:
T - 1 σ P · ( XP L - XP R ) T = L - f · 1 σ P L - - - ( 5 )
⇒ 1 - 1 σ P · ( XP L - XP R ) T = 1 - f · 1 σ P L - - - ( 6 )
⇒ ( XP L - XP R ) T = f L - - - ( 7 )
· · · L = f · T ( XP L - XP R ) - - - ( 8 )
式从(1)~(8)的推导,最终得出目标点到摄像头(左摄像头或右摄像头)的垂直距离L和摄像头的像素焦距f、摄像头之间的水平距离T以及目标点在两个图样中的视差(XPL-XPR)的值有关。而f和T可以通过标定摄像头得到准确的常量值,而视差(XPL-XPR)则可以通过对目标图样进行定位、识别、滤波等操作后计算得出。
接下来,考虑一个实际的问题,如图3所示,之前计算得到的是目标点P到摄像头的距离为L,而我们希望系统最后得出的是地面目标点P到摄像头所在竖直平面的距离S。考虑到本系统所设计的摄像头具有一定的俯仰角,因此L不能作为我们所需要的S,而是要通过以下计算得到S:
S = | L 2 - H 2 | - - - ( 9 )
· · · S = | f 2 · T 2 ( XP L - XP R ) 2 - H 2 | - - - ( 10 )
其中,H为摄像头到地面的垂直距离。
本实施例的基于STM32单片机的双目测距系统的测距方法,包括以下步骤:
(1)左摄像头和右摄像头采集图样,采用MATLAB软件中的StereoCalibration工具箱,对采集到的图样进行标定,得到左摄像头的焦距和右摄像头的焦距,焦距均为f,及左摄像头光心和右摄像头光心之间的距离T,其中,fL=fR=f;;具体如下:
(1-1)首先导入左右摄像头所拍摄的标定图样各20张,每一张所拍摄的都是一幅黑白格的棋盘,每个黑色或白色的方形格都是边长为25mm的正方形;
(1-2)对每一张图样进行角点搜寻,直到全部的图样都被搜寻完毕;
(1-3)角点搜寻完毕后,开始进行自动标定计算,从而得到每个摄像头的焦距;
(1-4)将左摄像头和右摄像头单独标定的数据保存在不同的MAT文件中,通过这两个文件的数据,进行Stereo Calibration工具箱的处理,以此获取双目的整体标定参数,也就是所需要的参数中双摄像头间距的大小。
(2)获取目标光斑在左摄像头采集的图样中的横坐标值XPL和目标光斑在右摄像头采集的图样中的横坐标值XPR,具体步骤如下:
(2-1)定义当前访问白点的坐标的缓存数组、每个光斑极限点坐标缓存数组、每个光斑的面积缓存数组和每个光斑的周长缓存数组;
(2-2)如图4所示,从图样的第一列的最后一行的像素点开始,逐列对每列的每个像素点由下而上地访问,到了图样的首行后,又重新返回到下一列的图样的底行,直到将图样访问完毕再继续下一步;
(2-3)当检测到访问的像素点为白点时,将光斑标志位置为true,并使光斑计数器自加1,同时将其坐标存入用于保存当前访问的白点坐标的缓存数组中,并将该白点的坐标值认为是暂时的光斑上、下、左、右的边缘的坐标值,存入光斑极限点坐标缓存数组中,再往对应的光斑的面积缓存数组中累计面积;
(2-4)在光斑标志位置为true后,每当遇到一个白点时,进行第一个边缘判断:判断该白点的正下方一点是否为黑点,并且该白点的纵坐标与步骤(2-3)中保存当前访问的白点坐标的缓存数组中的白点的纵坐标的差值是否小于15个像素。如果是,则认为该白点是光斑轮廓上的点;再比较当前该白点与前一白点的横坐标和纵坐标,如果前者大于后者的话,就将当前白点的横坐标认为是暂时的右边缘的横坐标和上边缘的纵坐标,并保存起来;同时,累计该光斑的周长,存入周长缓存数组中;
(2-5)进行第二个边缘判断:判断该白点的正上方是否为黑点并且该白点的纵坐标暂时的光斑上边缘的纵坐标是否大于15个像素,如果是,则认为该白点不属于本光斑,将光斑出现标志位清零;如果不是,进行步骤(2-6);
(2-6)进行第三个边缘判断:判断该白点的正上方的点是否为黑点并且该点的纵坐标与暂时的光斑下边缘的纵坐标的差值是否小于15个像素;如果是,则比较该白点的纵坐标是否比暂时的下边缘的纵坐标的小,若是,则更新下边缘纵坐标;同时,累计周长;
(2-7)进行第四个边缘判断:判断该白点的正上方的点是否为黑点,并且其纵坐标与暂时的光斑下边缘点纵坐标的差值是否小于15个像素;如果是,那么说明该点不属于本光斑,光斑出现标志位清零;
(2-8)完成对图样所有的像素点的访问后,得到每个光斑的上下左右4个边缘坐标及每个光斑的面积和周长;
(2-9)对得到的每个光斑进行面积滤波:对每个光斑对应的面积的大小进行判断,如果大于设定的上限值或者小于设定的下限值,则将此光斑滤去,记录删除;对满足面积要求的光斑进行步骤(2-10);
(2-10)进行圆形度滤波:计算光斑的圆形度σ是否大于设定的阈值,若是,则认为该光斑为有效光斑,本实施例将圆形度大于0.65的光斑认为是有效的手指光斑,阈值设为0.65;其中,圆形度的计算方法如下:
σ = 4 · π · Area Length 2
其中,Area是光斑的面积,Length是光斑的周长;
(2-11)计算有效光斑的中心点坐标,作为光斑的位置坐标,同时保存在对应的光斑位置数组中;得到左摄像头图样中的光斑横坐标XPL和右摄像头图样中的光斑横坐标XPR
(3)对|XPL-XPR|进行校正:
(3-1)利用系统的左摄像头和右摄像头各拍摄一张用于实现校正的样本图,将样本图中的校正区域在垂直方向上分为6段,每一段的水平方向上又平均的划分分为若干个小段,在MATLAB中,计算这两幅样本图中目标物出现在每一小段时的横坐标差值并记录下来,于是得到表1~6的标定数据,将获取到的非线性校正数据以数组的形式保存在STM32单片机的flash中;
(3-2)在左摄像头和右摄像头采集到的图样中,计算出目标光斑的坐标所在的区域范围,并将它的位置分类到所对应的校正区间,然后访问并读取非线性校正数据中对应位置的校正参数;
(3-3)进行如下计算:
Adjust _ Err = Last _ Err · Max { Adjust _ Table } Cur _ Adjust · η
其中,Last_Err表示未经校正的|XPL-XPR|;Adjust_Err表示经过校正的|XPL-XPR|;
Max{Adjust_Table}表示对应的校正数组中横坐标区域位置处于中间时,|XPL-XPR|的最大值;Cur_Adjust表示当前光斑所在区域对应的校正样本值;η表示校正的强度;
(4)根据下式计算目标到测量起始线的距离:
S = | f 2 · T 2 l 2 - H 2 |
其中,H为左摄像头到地面的高度,l为经步骤(3)校正后的|XPL-XPR|。
表1纵坐标区间为108~120的校正数据表
XR 0~27 27~51 52~71 72~93 94~115 116~136 137~160
DELTAX 45 45 52 55 58 58 54
XR是横坐标的区间,DELTAX是光斑横坐标差值的样本值。
表2纵坐标区间为84~95的校正数据表
XR 0~17 17~35 36~53 54~72 73~92 93~113 114~134 135~160
DELTAX 43 43 45 50 53 57 56 52
表3纵坐标区间为73~84的校正数据表
表4纵坐标区间为61~72的校正数据表
XR 0~16 16~30 31~43 44~59 60~74
DELTAX 28 28 33 36 40
XR 75~90 91~106 107~123 124~139 140~160
DELTAX 43 44 45 41 37
表5纵坐标区间为61~72的校正数据表
XR 0~15 15~26 27~37 38~49 50~62 63~75
DELTAX 22 22 24 29 31 34
XR 76~89 90~103 104~116 117~131 132~144 145~160
DELTAX 35 36 37 35 32 27
表6纵坐标区间为49~60的校正数据表
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (4)

1.一种基于STM32单片机的双目测距系统,其特征在于,包括底座、摄像头支撑架,所述摄像头支撑架上设有左摄像头和右摄像头,所述底座上设有位于同一水平面的左红外激光发射管和右红外激光发射管;所述底座上设有STM32F407VGT6控制器,所述STM32F407VGT6控制器通过接口电路分别与左摄像头和右摄像头连接;所述摄像头支撑架通过垂直于底座的固定杆固定于底座上方;所述左摄像头和右摄像头的结构相同,且位于同一水平面。
2.权利要求1所述基于STM32单片机的双目测距系统的测距方法,其特征在于,包括以下步骤:
(1)左摄像头和右摄像头采集图样,采用MATLAB软件中的StereoCalibration工具箱,对采集到的图样进行标定,得到左摄像头的焦距fL和右摄像头的焦距fR,及左摄像头光心和右摄像头光心之间的距离T;其中,fL=fR=f;
(2)获取目标光斑在左摄像头采集的图样中的横坐标值XPL和目标光斑在右摄像头采集的图样中的横坐标值XPR,具体步骤如下:
(2-1)定义当前访问白点的坐标的缓存数组、每个光斑极限点坐标缓存数组、每个光斑的面积缓存数组和每个光斑的周长缓存数组;
(2-2)从图样的第一列的最后一行的像素点开始,逐列对每列的每个像素点由下而上地访问;
(2-3)当检测到访问的像素点为白点时,将光斑标志位置为true,并使光斑计数器自加1,同时将其坐标存入当前访问的白点坐标的缓存数组中,并将该白点的坐标值认为是暂时的光斑上、下、左、右边缘的坐标值,存入光斑极限点坐标缓存数组中,再往对应的光斑的面积缓存数组中累计面积;
(2-4)在光斑标志位置为true后,每当遇到一个白点时,进行第一个边缘判断:判断该白点的正下方一点是否为黑点,并且该白点的纵坐标与步骤(2-3)中保存在当前访问的白点坐标的缓存数组中的白点的纵坐标的差值是否小于设定的像素阈值;如果是,则认为该白点是光斑轮廓上的点;再比较当前白点与前一白点的横坐标和纵坐标,如果前者大于后者,就将当前白点的横坐标认为是暂时的右边缘的横坐标和上边缘的纵坐标,并保存起来;同时,累计该光斑的周长,存入周长缓存数组中;
(2-5)进行第二个边缘判断:判断该白点的正上方是否为黑点并且该白点的纵坐标与暂时的光斑上边缘的纵坐标差值是否大于设定的像素阈值,如果是,则认为该白点不属于本光斑,将光斑出现标志位清零;如果不是,进行步骤(2-6);
(2-6)进行第三个边缘判断:判断该白点的正上方的点是否为黑点并且该白点的纵坐标与暂时的光斑下边缘的纵坐标的差值是否小于设定的像素阈值;如果是,则比较该白点的纵坐标是否比暂时的光斑下边缘的纵坐标的小,若是,则更新下边缘纵坐标;同时,累计周长;
(2-7)进行第四个边缘判断:判断该白点的正上方的点是否为黑点,并且该白点纵坐标与暂时的光斑下边缘点纵坐标的差值是否小于设定的像素阈值;如果是,那么说明该点不属于本光斑,光斑出现标志位清零;
(2-8)完成对图样所有的像素点的访问后,得到每个光斑的上、下、左、右4个边缘坐标及每个光斑的面积和周长;
(2-9)对得到的每个光斑进行面积滤波:对每个光斑对应的面积的大小进行判断,如果大于设定的上限值或者小于设定的下限值,则将此光斑滤去,记录删除;对满足面积要求的光斑进行步骤(2-10);
(2-10)进行圆形度滤波:计算光斑的圆形度σ是否大于设定的阈值,若是,则认为该光斑为有效光斑;其中,圆形度的计算方法如下:
σ = 4 · π · Area Length 2
其中,Area是光斑的面积,Length是光斑的周长;
(2-11)计算有效光斑的中心点坐标,作为光斑的位置坐标,同时保存在对应的光斑位置数组中,得到左摄像头图样中的光斑横坐标XPL和右摄像头图样中的光斑横坐标XPR
(3)对|XPL-XPR|进行校正:
(4)根据下式计算根据下式计算目标到测量起始线的距离:
S = | f 2 · T 2 l 2 - H 2 |
其中,H为左摄像头到地面的高度,l为经步骤(3)校正后的|XPL-XPR|。
3.根据权利要求2所述的基于STM32单片机的双目测距系统的测距方法,其特征在于,所述对|XPL-XPR|进行校正,具体为:
(3-1)利用左摄像头和右摄像头各拍摄一张用于实现校正的样本图,将样本图中的校正区域在垂直方向上分为6段,每一段的水平方向上又平均划分为若干个小段,在MATLAB中,计算这两幅样本图中目标物出现在每一小段时的横坐标差值并记录下来,将获取到的非线性校正数据以数组的形式保存在STM32单片机的flash中;
(3-2)在左摄像头和右摄像头采集到的图样中,计算出目标光斑的坐标所在的区域范围,并将它的位置分类到所对应的校正区间,然后访问并读取非线性校正数据中对应位置的校正参数;
(3-3)进行如下计算:
Adjust _ Err = Last _ Err · Max { Adjust _ Table } Cur _ Adjust · η
其中,Last_Err表示未经校正的|XPL-XPR|;Adjust_Err表示经过校正的|XPL-XPR|;
Max{Adjust_Table}表示对应的校正数组中横坐标区域位置处于中间时,|XPL-XPR|的最大值;Cur_Adjust表示当前光斑所在区域对应的校正样本值;η表示校正的强度。
4.根据权利要求2所述的基于STM32单片机的双目测距系统的测距方法,其特征在于,所述设定的像素阈值为15个像素。
CN201410103469.8A 2014-03-19 2014-03-19 一种基于stm32单片机的双目测距系统及其测距方法 Active CN103913149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410103469.8A CN103913149B (zh) 2014-03-19 2014-03-19 一种基于stm32单片机的双目测距系统及其测距方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410103469.8A CN103913149B (zh) 2014-03-19 2014-03-19 一种基于stm32单片机的双目测距系统及其测距方法

Publications (2)

Publication Number Publication Date
CN103913149A true CN103913149A (zh) 2014-07-09
CN103913149B CN103913149B (zh) 2016-05-04

Family

ID=51039016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410103469.8A Active CN103913149B (zh) 2014-03-19 2014-03-19 一种基于stm32单片机的双目测距系统及其测距方法

Country Status (1)

Country Link
CN (1) CN103913149B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106949883A (zh) * 2017-02-15 2017-07-14 邢天宜 一种三坐标测绘仪及测绘方法
CN107895425A (zh) * 2017-12-05 2018-04-10 中国人民银行印制科学技术研究所 验钞装置、验钞仪、智能终端和验钞方法
CN107912488A (zh) * 2016-10-11 2018-04-17 电子科技大学中山学院 一种基于双目测距的自动蛋糕裱花装置
CN108844486A (zh) * 2018-04-12 2018-11-20 西安交通大学 一种定像距双目仿生三维测量仪器
CN109901136A (zh) * 2019-04-05 2019-06-18 哈尔滨理工大学 一种基于机器视觉的双摄像头测距系统
CN111805628A (zh) * 2020-07-21 2020-10-23 上饶师范学院 一种适用于家具板材的高效精准打孔装置
WO2021134809A1 (zh) * 2019-12-31 2021-07-08 深圳市欢创科技有限公司 测距模组、机器人、测距方法及非易失性可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102422832A (zh) * 2011-08-17 2012-04-25 中国农业大学 喷雾视觉定位系统及定位方法
CN103170980A (zh) * 2013-03-11 2013-06-26 常州铭赛机器人科技有限公司 一种家用服务机器人的定位系统及定位方法
CN103335630A (zh) * 2013-07-17 2013-10-02 北京航空航天大学 低成本三维激光扫描仪
CN203824555U (zh) * 2014-03-19 2014-09-10 华南理工大学 一种基于stm32单片机的双目测距系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102422832A (zh) * 2011-08-17 2012-04-25 中国农业大学 喷雾视觉定位系统及定位方法
CN103170980A (zh) * 2013-03-11 2013-06-26 常州铭赛机器人科技有限公司 一种家用服务机器人的定位系统及定位方法
CN103335630A (zh) * 2013-07-17 2013-10-02 北京航空航天大学 低成本三维激光扫描仪
CN203824555U (zh) * 2014-03-19 2014-09-10 华南理工大学 一种基于stm32单片机的双目测距系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋万里: "《基于嵌入式平台的双目主动测距系统》", 《中国优秀硕士学位论文全文数据库》 *
韩国阁 等: "《基于Matlab的双目CCD标定》", 《上海工程技术大学学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107912488A (zh) * 2016-10-11 2018-04-17 电子科技大学中山学院 一种基于双目测距的自动蛋糕裱花装置
CN106949883A (zh) * 2017-02-15 2017-07-14 邢天宜 一种三坐标测绘仪及测绘方法
CN106949883B (zh) * 2017-02-15 2022-12-23 天津长瑞大通流体控制系统有限公司 一种三坐标测绘仪及测绘方法
CN107895425A (zh) * 2017-12-05 2018-04-10 中国人民银行印制科学技术研究所 验钞装置、验钞仪、智能终端和验钞方法
CN108844486A (zh) * 2018-04-12 2018-11-20 西安交通大学 一种定像距双目仿生三维测量仪器
CN109901136A (zh) * 2019-04-05 2019-06-18 哈尔滨理工大学 一种基于机器视觉的双摄像头测距系统
WO2021134809A1 (zh) * 2019-12-31 2021-07-08 深圳市欢创科技有限公司 测距模组、机器人、测距方法及非易失性可读存储介质
CN111805628A (zh) * 2020-07-21 2020-10-23 上饶师范学院 一种适用于家具板材的高效精准打孔装置

Also Published As

Publication number Publication date
CN103913149B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN103913149B (zh) 一种基于stm32单片机的双目测距系统及其测距方法
CN108416791B (zh) 一种基于双目视觉的并联机构动平台位姿监测与跟踪方法
CN105225482B (zh) 基于双目立体视觉的车辆检测系统和方法
CN110230998B (zh) 基于线激光和双目相机的快速精密三维测量方法和装置
CN107798330A (zh) 一种焊缝图像特征信息提取方法
CN105700525B (zh) 基于Kinect传感器深度图机器人工作环境不确定性地图构建法
CN106650701B (zh) 基于双目视觉的室内阴影环境下障碍物检测方法及装置
CN104574393A (zh) 一种三维路面裂缝图像生成系统和方法
WO2021120574A1 (en) Obstacle positioning method and apparatus for autonomous driving system
CN111243003B (zh) 车载双目摄像机及其检测道路限高杆的方法、装置
CN103993548A (zh) 基于多台相机立体拍摄的路面损坏裂缝检测系统及方法
CN104700395A (zh) 一种构造物外观裂缝检测方法及系统
Lyu et al. An interactive LiDAR to camera calibration
CN113327296B (zh) 基于深度加权的激光雷达与相机在线联合标定方法
CN112184804B (zh) 大体积工件高密度焊点定位方法、装置、存储介质及终端
CN115410167A (zh) 目标检测与语义分割方法、装置、设备及存储介质
CN114037762A (zh) 基于图像与高精度地图配准的实时高精度定位方法
CN114396875B (zh) 一种基于深度相机垂直拍摄的长方形包裹体积测量方法
CN108734054B (zh) 无遮挡的柑橘果实图像识别方法
CN117710588A (zh) 一种基于视觉测距先验信息的三维目标检测方法
CN203824555U (zh) 一种基于stm32单片机的双目测距系统
CN111256651B (zh) 一种基于单目车载摄像头的周车测距方法和装置
CN108090930A (zh) 基于双目立体相机的障碍物视觉检测系统及方法
CN115546216A (zh) 一种托盘检测方法、装置、设备及存储介质
CN114359403A (zh) 一种基于非完整性蘑菇图像的三维空间视觉定位方法、系统及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant