Вычитание фона с удалением теней с помощью EmguCV

Я ищу способ извлечь передний план (без тени) из видеопоследовательности, используя C# (EmguCV). Я пробовал несколько методов, таких как KNN, MOG и MOG2. В конце концов, MOG2 является лучшим, что очень близко к моему желаемому результату. Тем не менее, по-прежнему не удалось устранить тень.

Как я знаю, есть несколько свойств, которые можно использовать для лучшего удаления теней с помощью MOG2, например: fTau, но эти свойства доступны только в OpenCV (не EmguCV). Так есть кто-нибудь, кто реализовал такую ​​функцию с помощью C#?

1 ответ

Решение

В настоящее время я могу устранить тень от переднего плана, превратив тень в черный пиксель. Это можно сделать методом ThresholdToZero, указав значение интенсивности тени (150).

Перед удалением тенивведите описание изображения здесь

После удаления тенивведите описание изображения здесь

Примечание:я использую вычитатель фона MOG2 и включаю функцию обнаружения тени.

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