speed20: 搜线反光优化(高斯模糊+形态学核5x5)

This commit is contained in:
spdis
2026-07-06 18:49:03 +08:00
parent b69a5ff5bc
commit ad48c955d9
+4 -7
View File
@@ -76,12 +76,6 @@ cv::Mat image_binerize(cv::Mat &frame)
cv::bitwise_or(output, binarizedFrame, output);
// V 通道反光剔除: 高亮度(V>180) 且 低饱和度(S<40) → 白反光,标记为非赛道
cv::Mat hi_v, lo_s;
cv::threshold(hsvChannels[2], hi_v, 180, 255, cv::THRESH_BINARY);
cv::threshold(hsvChannels[1], lo_s, 40, 255, cv::THRESH_BINARY_INV);
output.setTo(0, hi_v & lo_s);
return output;
}
@@ -110,7 +104,7 @@ cv::Mat image_binerize(cv::Mat &frame)
// ============================================================
cv::Mat find_road(cv::Mat &frame)
{
static cv::Mat kernel = cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(3, 3));
static cv::Mat kernel = cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(5, 5));
cv::morphologyEx(binarizedFrame, morphologyExFrame, cv::MORPH_OPEN, kernel);
static cv::Mat mask;
@@ -179,6 +173,9 @@ void image_main()
cv::merge(labCh, labFrame);
cv::cvtColor(labFrame, resizedFrame, cv::COLOR_Lab2BGR);
// ── 1.6 高斯模糊 → 融合反光噪点 ────────────────────
cv::GaussianBlur(resizedFrame, resizedFrame, cv::Size(3, 3), 0);
// ── 2. HSV 双通道 Otsu 二值化 ─────────────────────
// 赛道区域 = 白色(255),背景/边界 = 黑色(0)
binarizedFrame = image_binerize(resizedFrame);