Заполнить контур / пиксели внутри других контуров |Обнаружение ящиков с использованием изображений глубины - PullRequest
1 голос
/ 06 ноября 2019

Я использую OpenCV, чтобы найти прямоугольники в изображении в градациях серого.

Сначала я вырезал изображение глубины из верхней части окна, как показано ниже: Cutting image from the top of the box

Затем я вырезал изображение глубины из нижней части окна, как показано ниже: Cutting image at the bottom of the box

После некоторой фильтрации, закрытия и выполнения некоторых основных операций я получаюизображение верхнего разреза, объединенное с тем, где находятся днища ящиков вместе с ограничивающими ящиками. Пожалуйста, смотрите изображение ниже: Merged Image


Теперь цель состоит в том, чтобы попытаться растянуть внутренние прямоугольники, пока они не коснутся углов верхнего края. Проблема заключается в том, что ящики можно вращать, что делает заполнение намного сложнее, чем просто зацикливание по горизонтали / вертикали и заполнение пробелов.

Подход заключается в получении стороны внутреннего прямоугольника, продолжайте перемещать его в направлениирастяжение до тех пор, пока оно не коснется некоторых пикселей со значением 255. Однако это занимает много времени и неэффективно.

Другой подход заключается в устранении всех пикселей, которые не расположены вдоль направления растяжения сегмента, нахожденияконтуры оставшихся объектов и попытка того же метода.

Третий подход и тот, который имеет для меня наибольшее значение:

  • Нарисуйте 2 других сегмента, связанных со сторонойпрямоугольник, но в виде линий, чтобы заполнить все изображение.
  • Все, что находится за пределами 2 строк игнорируется
  • Найти получить список координат контуров оставшихся объектов в направлении растяжения /заливка
  • Найти ближайший пиксель в сторону;это то место, где мы растянем рамку. Это все еще довольно неэффективно.

Любая помощь, руководство или идеи будут высоко оценены. Спасибо!

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