2016-04-27 5 views
1

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

1

2

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

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

meanShift() также не показал хороших результатов из-за шнура и случайных шумов.

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

Я продолжаю думать, что должно быть более простое и эффективное решение.

ответ

0

Чтобы снять шнур, я просто сделаю закрытие, а затем отверстие. Как будто вы сначала подключаете точки закрытия, затем вы удаляете изолированные точки и вырезаете шнур.

Затем вы можете вычислить ограничительную рамку с соответствующей функцией MatLab.

+0

После завершения операций закрытия/открытия могут возникнуть некоторые нежелательные капли. Вы можете «фильтровать» их ими свойствами контуров (например: вы можете игнорировать blob, если это периметр или поверхность недостаточно высока) – Pierre

0

Согласно вашему второму изображению, процесс закрытия может удалить большую часть игрушки (из-за тонкой границы тела игрушки), поэтому (если мы можем предположить, что положение игрушки и шнура всегда вертикаль), вы должны сначала использовать выпуклый корпус, а затем в «каждом ряду изображения» отдельно, искать толстые объекты (исходя из того, что ширина игрушки во всех частях больше, чем шнур или шумные пятна). В каждой строке каждая горизонтальная линия, длина которой больше порога, сохранит эту строку, в противном случае удалите ее. Таким образом, вы можете восстановить только выпуклый корпус игрушки, и теперь вы можете легко подобрать прямоугольник.