Маскирование пакета изображений

У меня есть примерно 400 изображений двух рук, выполняющих жесты. Руки никогда не встречаются. Мне нужно убрать левую руку с изображения без изменения разрешения или размера изображения, и в основном нужно сделать черный цвет таким же серым, как фон. Что я могу сделать лучше всего?

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

silhouette hands

3
задан 17 August 2019 в 20:50

1 ответ

Я знаю, что этому вопросу уже несколько дней, но если кто-то столкнется с этим, я могу предложить, как решить эту проблему:

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

  1. Сначала вы могли применить некоторые морфологические операции (например, открытие или закрытие), чтобы уменьшить ложные черные пиксели на заднем плане. Вы должны поиграть с различными комбинациями таких операций, чтобы получить то, что вы хотите.
  2. Затем вы можете вычислить связанные компоненты (= соединенные области пикселей, принадлежащие друг другу), что в основном дает вам метки для всех областей пикселей.
  3. Затем вы можете отфильтровать эти связанные компоненты для 2 самых больших (= тех, у которых больше всего пикселей), что даст вам только две области рук.
  4. Теперь вы можете решить — возможно, используя координаты x/y центра каждой области — какую область вы хотите замаскировать, например. заполнив его значением серого из фоновых пикселей.

Надеюсь, это поможет и даст некоторые подсказки о том, как это сделать.

0
ответ дан 25 September 2020 в 08:59

Другие вопросы по тегам:

Похожие вопросы: