Как обнаружить закрытый бар с помощью OpenCV? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть несколько изображений турникета, ориентацию которого нужно определить.Вот два образца без какого-либо объекта перед его более легкой планкой.

Бар в горизонтальном направлении:

enter image description here

Штанга в вертикальном направлении:

enter image description here

Как видно, этот турникет имеет четкий рисунок: белая полоса (параллельные края) надтемный фон.Для этих изображений мой конвейер обнаружения был:

  1. Размытие изображения с помощью фильтра Гаусса;
  2. Порог его порождения;
  3. Применение некоторых морфологических операций открытия и закрытия;
  4. Определите его края, применив детектор Канни;
  5. Используйте вероятностное преобразование Хафа для обнаружения вертикальных и горизонтальных линий;
  6. Группируйте параллельные линии и исключайте те, у которых расстояние больше чемпорог.

Как видно на рисунке ниже, этот конвейер работает достаточно хорошо.

enter image description here

Однако мойпроблема в обработке изображений с объектами , как показано ниже:

enter image description here

Кто-то держит рюкзак с нарисованными линиямив теме.Я знаю, что это особая ситуация, но моя точка зрения такова, что когда кто-то (или что-то) находится перед белой полосой турникета, обнаруживается много шумных линий, и я не могу просто выбрать более высокое значение аккумулятора для преобразования Хафа, поскольку в этих ситуацияхпланка закрыта, поэтому длина такта меньше.

Мой вопрос: есть ли лучший и более простой конвейер для этой задачи?Я имею в виду, есть ли способ сегментирования этого бара не только путем обнаружения его параллельных линий, но и с учетом его правильной текстуры?Я пытался использовать фильтр Габора, но не смог добиться лучшего результата.

Спасибо, что прочитали этот вопрос.Я был бы очень признателен, если бы вы, ребята, могли бы дать мне какое-либо предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...