OpenCV фоновое вычитание + обмолот кожи, чтобы обнаружить руку C++
Я работал над проектом по обнаружению ладони, используя только компьютерную веб-камеру и без оборудования (без цветных перчаток для облегчения обнаружения). До сих пор я совмещал обнаружение кожи и фоновое вычитание, используя битовое разделение между обоими циновками.
Я объединил оба, чтобы преодолеть объекты цвета кожи, такие как моя гитара, моя дверь и мой шкаф. Но, как вы видите, все еще много шума, и рука прерывается. Я пытался размыть это, что только усугубило ситуацию. также, изменение освещения действительно повредило процесс, пытался отменить автоэкспозицию, которая не сильно помогла. Я не хочу, чтобы это было идеально, потому что это всего лишь часть моего большого проекта, но знает ли кто-нибудь из вас, как я могу улучшить алгоритм?
1 ответ
Вы можете удалить шум путем морфологического преобразования (например, открытия и закрытия). Эти методы часто используются после вычитания фона
- Закрытие, чтобы уменьшить шум
- Открытие сразу после, чтобы минимизировать потерю информации о вещах, которые мы хотим обнаружить
см. эту ссылку для примера кода.
После этого вам нужно "обнаружить" руку на вашем изображении, но я думаю, что это не тот запрос, но эта ссылка может вам помочь.
Надеюсь, что поможет.