У меня есть изображение, которое выглядит так:
У меня есть задача, в которой я должен объединить все бутылки вокруг их открытия. Я создал простой алгоритм и начал его работать. Мой алгоритм:
- Порог исходного изображения
- Сделайте морфологическое открытие в нем
- Заполните пустые отверстия
- Отделите часть изображения с помощью реквизитов региона так, чтобы была выбрана только область, эквивалентная устью бутылок.
- Найдите центроид для каждого и нарисуйте круг вокруг каждой бутылки.
Я сделал в соответствии с вышеприведенным алгоритмом, но у меня есть часть изображения, вокруг которого я рисую круг. Это потому, что я выбрал область, так как область рта бутылки и оставшийся шум почти такой же. И поэтому я дал такую цифру.
Обработка, применяемая к изображению, выглядит следующим образом:
И мое окончательное изображение после построения круга над исходным изображением выглядит следующим образом:
Я думаю, что я могу справиться с дополнительным кругом, то есть из-за какой-то белой части изображения осталось, как показано на рисунке 2 ниже. Это можно отфильтровать, используя regionproping для эксцентриситета. Это хорошая идея или есть некоторые другие подходы к этому? Как я буду разбираться с другими бутылками за стеклом и выбрать их?