更改边线偏移量&新加一组角点检测(待测)

This commit is contained in:
Glz
2024-03-22 21:39:36 +08:00
parent fba4476d35
commit b46f372af4
7 changed files with 39 additions and 10 deletions

View File

@@ -89,22 +89,34 @@ void img_processing() {
pts_resample_right_count = valid_points_count;
// 边线角度变化率
// 大距离边线角度变化率
local_angle_points(pts_resample_left, pts_resample_left_count, angle_left, (int) round(ANGLEDIST / RESAMPLEDIST));
angle_left_num = pts_resample_left_count;
local_angle_points(pts_resample_right, pts_resample_right_count, angle_right, (int) round(ANGLEDIST / RESAMPLEDIST));
angle_right_num = pts_resample_right_count;
// 角度变化率非极大值抑制
// 小距离边线角度变化率
local_angle_points(pts_resample_left, pts_resample_left_count, angle_left_barrier, (int) round(ANGLEDIST_barrier / RESAMPLEDIST));
angle_left_barrier_num = pts_resample_left_count;
local_angle_points(pts_resample_right, pts_resample_right_count, angle_right_barrier, (int) round(ANGLEDIST_barrier / RESAMPLEDIST));
angle_right_barrier_num = pts_resample_right_count;
// 大距离角度变化率非极大值抑制
nms_angle(angle_left, angle_left_num, angle_new_left, (int) round(ANGLEDIST / RESAMPLEDIST) * 2 + 1);
angle_new_left_num = angle_left_num;
nms_angle(angle_right, angle_right_num, angle_new_right, (int) round(ANGLEDIST / RESAMPLEDIST) * 2 + 1);
angle_new_right_num = angle_right_num;
// 小距离角度变化率非极大值抑制
nms_angle(angle_left_barrier, angle_left_barrier_num, angle_new_left_barrier, (int) round(ANGLEDIST_barrier / RESAMPLEDIST) * 2 + 1);
angle_new_left_num_barrier = angle_left_barrier_num;
nms_angle(angle_right_barrier, angle_right_barrier_num, angle_new_right_barrier, (int) round(ANGLEDIST_barrier / RESAMPLEDIST) * 2 + 1);
angle_new_right_num_barrier = angle_right_barrier_num;
// 左右中线跟踪
GetMidLine_Left(pts_resample_left, pts_resample_left_count, mid_left, (int) round(ANGLEDIST / RESAMPLEDIST), PIXPERMETER * ROADWIDTH / 2);
GetMidLine_Left(pts_resample_left, pts_resample_left_count, mid_left, (int) round(ANGLEDIST / RESAMPLEDIST), PIXPERMETER_ACROSS * ROADWIDTH / 2);
mid_left_count = pts_resample_left_count;
GetMidLine_Right(pts_resample_right, pts_resample_right_count, mid_right, (int) round(ANGLEDIST / RESAMPLEDIST), PIXPERMETER * ROADWIDTH / 2);
GetMidLine_Right(pts_resample_right, pts_resample_right_count, mid_right, (int) round(ANGLEDIST / RESAMPLEDIST), PIXPERMETER_ACROSS * ROADWIDTH / 2);
mid_right_count = pts_resample_right_count;