修复四个关键bug: dest_fps限速/底行越界/255应为-1/删除debug文件重载
This commit is contained in:
+1
-1
@@ -437,7 +437,7 @@ int CameraHandler(void)
|
||||
if (g_cfg.start) {
|
||||
int foresee = (int)g_cfg.foresee;
|
||||
int check_row = foresee / calc_scale;
|
||||
if (check_row >= 0 && check_row < line_tracking_height && mid_line[check_row] != 255) {
|
||||
if (check_row >= 0 && check_row < line_tracking_height && mid_line[check_row] != -1) {
|
||||
double deviation = mid_line[check_row] * calc_scale - newWidth / 2;
|
||||
deviation -= g_cfg.center_bias;
|
||||
g_steer_deviation = deviation / (newWidth / 2.0);
|
||||
|
||||
+16
-1
@@ -261,7 +261,8 @@ void image_main()
|
||||
}
|
||||
|
||||
// ── 6. 中线计算 + 丢线补全 ─────
|
||||
for (int row = line_tracking_height - 1; row >= 10; --row)
|
||||
// 从倒数第二行开始向上,底行(row=height-1)单独兜底避免 mid_line[row+1] 越界
|
||||
for (int row = line_tracking_height - 2; row >= 10; --row)
|
||||
{
|
||||
// ── 6a. 丢线补全 ──────────────────────────────
|
||||
if (left_line[row] == -1 && right_line[row] == -1)
|
||||
@@ -290,4 +291,18 @@ void image_main()
|
||||
mid_line[row] = (left_line[row] + right_line[row]) / 2;
|
||||
}
|
||||
}
|
||||
// 底行兜底:正常计算,丢线时用图像中心
|
||||
{
|
||||
const int row = line_tracking_height - 1;
|
||||
if (left_line[row] == -1 && right_line[row] == -1)
|
||||
{
|
||||
mid_line[row] = line_tracking_width / 2;
|
||||
left_line[row] = 0;
|
||||
right_line[row] = line_tracking_width - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
mid_line[row] = (left_line[row] + right_line[row]) / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user