1 靶标的设计
本文设计了如图1所示的靶标(其中,中心处的编码标志点是不同的),利用其已知信息,完成对摄像机位置的标定,实现了与圆形光栅尺相同的作用。在圆形导轨内侧均匀设置了6组(12块)含有一个编码标志点和18个非编码点的靶标(如图2所示),其中编码标志点位于靶标的中心,其余非编码点均为正方形,按一定尺寸关系均匀分布在编码标志点的两侧。
根据实际需要,本文采用了马扬飚等设计的编码标志点。编码标志点由编码点和标志点组成,其中标志点提供位置信息,编码信息被编译储存在编码点的排布中。编码标志点应该满足以下要求:
·旋转与改变比例的不变性;
·对可能存在误差修正的目标数量的强鲁棒陛识别几率;
·制定一个能精确测量与物体上一个控制点对应的标志点的中心的规则;
·在没有统—对比度的图像中,—个标志点的强检测几率。
为了满足这些要求,本文采用的8位编码标志点如图3所示。其中标志点和编码点全部为圆形,标志点位于中央,面积较大,编码点规则排布在同一个圆周上,面积较小,整个编码标志点的位置信息由中央的标志点圆心位置提供,各个编码位上编码点的有无决定了不同的编码信息。编码点由8个圆构成,因此可能得到个编码,然而由于一个编码应满足旋转和改变比例不变的需要,只有34个(编码点个数为1的丢弃)可以作为编码。
2 靶标的识别
2.1 编码标志点的识别
2.1.1 图像截取
使用双目主动立体视觉监测平台上的任一摄像机拍摄一幅靶标图像,其中可以含有几个靶标,使用图像截取函数,从图像中截取出只包含编码标志点的图像。
2.1.2 图像二值化
为了简化目标识别过程,需要将截取出的彩色图像转化成灰度图像,然后再将灰度图像转化为二值图像,通过与阈值比较,图像二值化按下式执行:
其中:f(x,y)初始图像,b(x,y)为二值图像,t(x,y)为像素的阈值。由于图像中对比度比较统一,应用一个自适应的阈值t(x,y)=t0,可以比较精确地将对象阈值初始化。
2.1.3 圆点质心查询
为了提取每个圆点的区域,使用"标签算法",执行标签算法后,每个区域得到一个唯一的数字。对每一个连通区域使用"测量图像中的对象属性"方法,得到各个区域的面积和质心。对中央标志点圆来说,其质心为(x0,y0),对于外围的编码点圆来说,其质心为(xc,yc)。按照参数读入的顺序对所有区域进行编号,通过比较,找到面积最大的圆,即中心标志点,记住其编号。
2.1.4 质心角的求取
以任意一点为起始点,按照逆时针的顺序对编码点进行排序,然后利用相邻两个编码点的质心信息与中心标志点的质心信息,求出各个相邻编码点间的质心角θn(其中0°≤θn≤180°,2≤n≤8),并按逆时针顺序存储。
2.1.5 目标编码读取
由于起始编码点一定存在,故将其环形码相应位置"1"。对于8位编码标志点,当8个编码点都存在时,各个相邻编码点间的质心角均为45°。利用这个信息,按照存储顺序,将求得的质心角θn分别与45°的整数倍进行比较,如果相等,表示在该角度位置存在一个编码点。实际操作中,编码点质心角θn值是根据图像处理中求得的编码点质心与中心标志点质心值计算所得,由于误差的存在,质心角θn值的实际值往往与理论取值(m×45°,1≤m≤4)有出入,所以在判断某个角度位置是否有编码点存在时,可以先设定一个误差允许范围δ(0≤δ<22.5°),如果θn的实际值介于理论值±δ的范围内,就说明该角度位置上存在编码点,将环形码相应位置"1"。通过循环,对编码点质心角θn的实际值逐一判断,看其是否在上述的取值区间内,从而决定将环形码相应位置"0"或置"1"。