OpenCV фоновое вычитание + обмолот кожи, чтобы обнаружить руку C++

Я работал над проектом по обнаружению ладони, используя только компьютерную веб-камеру и без оборудования (без цветных перчаток для облегчения обнаружения). До сих пор я совмещал обнаружение кожи и фоновое вычитание, используя битовое разделение между обоими циновками.

Skin + Back Thresh

Я объединил оба, чтобы преодолеть объекты цвета кожи, такие как моя гитара, моя дверь и мой шкаф. Но, как вы видите, все еще много шума, и рука прерывается. Я пытался размыть это, что только усугубило ситуацию. также, изменение освещения действительно повредило процесс, пытался отменить автоэкспозицию, которая не сильно помогла. Я не хочу, чтобы это было идеально, потому что это всего лишь часть моего большого проекта, но знает ли кто-нибудь из вас, как я могу улучшить алгоритм?

1 ответ

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

  1. Закрытие, чтобы уменьшить шум
  2. Открытие сразу после, чтобы минимизировать потерю информации о вещах, которые мы хотим обнаружить

см. эту ссылку для примера кода.

После этого вам нужно "обнаружить" руку на вашем изображении, но я думаю, что это не тот запрос, но эта ссылка может вам помочь.

Надеюсь, что поможет.

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