Обнаружение полосы с изменением яркости и оттенков на полосах? - PullRequest
0 голосов
/ 25 апреля 2019

В настоящее время я работаю над проектом обнаружения дорожек, в котором входом является дорожное изображение RGB "img" из гоночной игры, а выводом является то же изображение, отмеченное нарисованными цветными линиями на обнаруженных дорожках.

Шаги:

  1. Конвертируйте изображение RGB «img» в изображение HSL, затем используйте на нем белую маску цвета (на изображении ожидаются только белые полосы) с белым диапазоном цветов, чтобы отбросить любые части изображения с цветами вне этого диапазона ( поместите их значения как нули), пусть вывод этого шага будет "white_img".
  2. конвертировать "white_img" в оттенки серого, получая "gray_img".
  3. Примените размытие по Гауссу к "gray_img", чтобы сделать края более гладкими, чтобы можно было обнаружить менее шумные края, создавая "smoothot_img".
  4. Применить обнаружение края к «smoothed_img», создавая «edge_img».
  5. Обрежьте "edge_img", выбрав интересующую область ROI, которая находится приблизительно в нижней половине изображения, и получим "roi_img".
  6. Наконец, примените преобразование Хафа к «roi_img», чтобы обнаружить линии, которые будут считаться обнаруженными полосами.

Самая большая проблема, с которой я сталкиваюсь сейчас, - это изменение яркости и оттенков на полосах. Для темного изображения с оттенками на полосах цвет полос может стать очень темным. Я попытался увеличить допустимый диапазон белого цвета в шаге 1, который хорошо работал для такого рода изображений. Но для яркого изображения без теней на дорожках большая часть изображения не отбрасывается после шага 1, что приводит к выводу, содержащему множество вещей, не относящихся к полосам.

Примеры входных изображений:

  1. Средняя яркость без теней на полосах движения
  2. Низкая яркость с оттенками на полосах
  3. Высокая яркость без теней на полосах движения

Буду признателен за любую помощь в решении этих вопросов. Заранее спасибо.

...