speed20: 搜线反光优化(高斯模糊+形态学核5x5)
This commit is contained in:
+4
-7
@@ -76,12 +76,6 @@ cv::Mat image_binerize(cv::Mat &frame)
|
|||||||
|
|
||||||
cv::bitwise_or(output, binarizedFrame, output);
|
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;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +104,7 @@ cv::Mat image_binerize(cv::Mat &frame)
|
|||||||
// ============================================================
|
// ============================================================
|
||||||
cv::Mat find_road(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);
|
cv::morphologyEx(binarizedFrame, morphologyExFrame, cv::MORPH_OPEN, kernel);
|
||||||
|
|
||||||
static cv::Mat mask;
|
static cv::Mat mask;
|
||||||
@@ -179,6 +173,9 @@ void image_main()
|
|||||||
cv::merge(labCh, labFrame);
|
cv::merge(labCh, labFrame);
|
||||||
cv::cvtColor(labFrame, resizedFrame, cv::COLOR_Lab2BGR);
|
cv::cvtColor(labFrame, resizedFrame, cv::COLOR_Lab2BGR);
|
||||||
|
|
||||||
|
// ── 1.6 高斯模糊 → 融合反光噪点 ────────────────────
|
||||||
|
cv::GaussianBlur(resizedFrame, resizedFrame, cv::Size(3, 3), 0);
|
||||||
|
|
||||||
// ── 2. HSV 双通道 Otsu 二值化 ─────────────────────
|
// ── 2. HSV 双通道 Otsu 二值化 ─────────────────────
|
||||||
// 赛道区域 = 白色(255),背景/边界 = 黑色(0)
|
// 赛道区域 = 白色(255),背景/边界 = 黑色(0)
|
||||||
binarizedFrame = image_binerize(resizedFrame);
|
binarizedFrame = image_binerize(resizedFrame);
|
||||||
|
|||||||
Reference in New Issue
Block a user