【摘要】:实际应用中,图7.4中对整个曲线段进行线性拟合的情况实用性受限制。机器人巡线的轨迹如果是曲线,应用如图7.4所示的方法,追踪的角度就会较差。简明的方法是依次将曲线分段处理,每段进行线性拟合,得到对曲线的逼近,分段越细,逼近的效果越好。#roi代表3个取样区域,ROIS由组成,代表左上顶点(x,y),宽高分别为w和h的矩形,weight为当前矩形的权值。#实际应用中,3个矩形的阈值要根据实际情况进行调整。
实际应用中,图7.4中对整个曲线段进行线性拟合的情况实用性受限制。机器人巡线的轨迹如果是曲线,应用如图7.4所示的方法,追踪的角度就会较差。简明的方法是依次将曲线分段处理,每段进行线性拟合,得到对曲线的逼近,分段越细,逼近的效果越好。
import sensor,image,time,math
#设置阈值,如果是跟踪黑线,GRAYSCALE_THRESHOLD=[(0,64)];
#如果是跟踪白线,取GRAYSCALE_THRESHOLD=[(128,255)];
GRAYSCALE_THRESHOLD=[(0,64)]
#每一个roi区域的位置参数是(x,y,w,h)。线检测算法搜索每一个roi区域内的最大目标块,并定位到矩心;
#靠近图像底部的roi区域分配最大的权值,接下来的roi区域依次分配越小的权值,矩心点的x坐标通过不同的权值平均算出。
#roi代表3个取样区域,ROIS由(x,y,w,h,weight)组成,代表左上顶点(x,y),宽高分别为w和h的矩形,weight为当前矩形的权值。上述定义中,最下方的矩形即(0,100,160,20,0.7);
#例程中采用QQVGA图像,分辨率大小为160×120。roi即把图像横分成3个矩形。(www.xing528.com)
#实际应用中,3个矩形的阈值要根据实际情况进行调整。如离机器人视野最近的矩形权值要最大。
center_pos=(centroid_sum/weight_sum) #确定线的中心
以上例程运行后,检测较长的S形曲线,分3段线性拟合,并计算出各段矩心的情况如图7.5所示。
图7.5 分段线性拟合情况
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。