2

У меня есть морфологическая проблема, которую я пытаюсь решить с помощью OpenCV. У меня два изображения.OpenCV - Сохранение только отмеченных блобов в python

  1. Маска
  2. Seed

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

Underneath Я отправляю маски и семена изображения

маски Изображение:

Mask1

Seed Изображение:

enter image description here

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

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

Побитовые операции дают мне только перекрывающиеся области между семенем и маской (результат такой же квадратной формы). Одним из возможных решений является использование открытия путем реконструкции, однако OpenCV не имеет его реализации.

OpenCV - Is there an implementation of marker based reconstruction in opencv

Все указатели приветствуются!

ответ

1

Хорошо, спасибо всем, кто нашел время, чтобы просмотреть это сообщение. Мне не удалось найти решение этой проблемы в OpenCV. Поэтому я прибегал к использованию библиотеки PYMORPH.

https://pythonhosted.org/pymorph/

Функция Inf-реконструкция делает именно то, что я хотел.

pymorph.infrec (F, G, Bc = {3x3 крест})

infrec создает образ у бесконечного число рекурсивных итераций (итерация до стабильности) дилатации F по Bc не обусловлен г , Мы говорим, что y является inf-реконструкцией g от маркера f. Для алгоритмов и приложений см. Vinc: 93b.

Параметры:
f: Изображение маркера (серое или двоичное). g: Изображение кондиционирования (серое или двоичное). Bc: Элемент структурирования соединений (по умолчанию: крест 3x3). Возврат:
y: Изображение

Надеюсь, что это поможет другим путешествовать по схожим препятствиям.

Спасибо