摄像头循迹——中线测试版本
This commit is contained in:
@@ -66,16 +66,16 @@ void MidLineTrack() {
|
||||
}
|
||||
|
||||
// 车轮对应点 (纯跟踪起始点)
|
||||
float cx = UndistInverseMapW[(int) (IMAGE_H * 0.90f)][78];
|
||||
float cy = UndistInverseMapH[(int) (IMAGE_H * 0.90f)][78];
|
||||
float cx = InverseMapW[(int) (IMAGE_H * 0.85f)][94];
|
||||
float cy = InverseMapH[(int) (IMAGE_H * 0.85f)][94];
|
||||
|
||||
// 找最近点 (起始点中线归一化)
|
||||
float min_dist = 1e10;
|
||||
|
||||
int begin_id = -1;
|
||||
for (int i = 0; i < rpts_num; i++) {
|
||||
float dx = rpts[i][1] - cx;
|
||||
float dy = rpts[i][0] - cy;
|
||||
for (int i = 0; i < mid_track_count; i++) {
|
||||
float dx = mid_track[i][1] - cx;
|
||||
float dy = mid_track[i][0] - cy;
|
||||
float dist = sqrt(dx * dx + dy * dy);
|
||||
if (dist < min_dist) {
|
||||
min_dist = dist;
|
||||
@@ -83,12 +83,12 @@ void MidLineTrack() {
|
||||
}
|
||||
}
|
||||
|
||||
if (begin_id >= 0 && rpts_num - begin_id >= 3){
|
||||
if (begin_id >= 0 && mid_track_count - begin_id >= 3){
|
||||
// 归一化中线
|
||||
rpts[begin_id][0] = cy;
|
||||
rpts[begin_id][1] = cx;
|
||||
mid_track[begin_id][0] = cy;
|
||||
mid_track[begin_id][1] = cx;
|
||||
rptsn_num = sizeof(rptsn) / sizeof(rptsn[0]);
|
||||
GetLinesResample(rpts + begin_id, rpts_num - begin_id, rptsn, &rptsn_num, RESAMPLEDIST * PIXPERMETER );
|
||||
GetLinesResample(mid_track + begin_id, mid_track_count - begin_id, rptsn, &rptsn_num, RESAMPLEDIST * PIXPERMETER );
|
||||
|
||||
// 远预锚点位置
|
||||
int aim_idx = clip(round(aim_distance / RESAMPLEDIST), 0, rptsn_num - 1);
|
||||
@@ -111,7 +111,7 @@ void MidLineTrack() {
|
||||
//考虑近点
|
||||
near_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx_near / dn_near / dn_near) / PI * 180 ;
|
||||
//考虑远点
|
||||
pure_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx/ dn / dn) / PI * 180 ;
|
||||
``` pure_angle = -atanf(PIXPERMETER * 2 * 0.2 * dx/ dn / dn) / PI * 180 ;
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user