Я работаю над приложением faceetection, используя сегментацию скинселей с предопределенной скинмодели в пространстве YCrCb. Я свободно основываю свои алгоритмы этого отчета; http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1, Дугласом Чаем и королем Н. Нганом.Шумоподавление OpenCV образец сканирования
I первый сегмент из всех пикселей на экране (см. Слева). После этого я выполняю некоторые вычисления для уменьшения шума (см. Шаги ниже). Это приводит к отфильтрованному растровому изображению 1/8-го размера оригинала. В идеале это было бы бесшумным как в области лица, так и в фоновом режиме, но это не так. Я уже пытался уменьшить его, используя мою карту плотности, а затем проверяя соседние пиксели области 3x3 и размывая/расширяя значения пикселей в зависимости от их соседей. Затем я изменяю размер этого растрового изображения и применяю результат как маску на исходном изображении (см. Правое изображение для результата, игнорируйте мою цензуру).
Мой вопрос, какие методы вы рекомендуете для избавления от шума? Кроме того, есть ли хорошие методы для получения более гладких контуров? В идеале я бы не хотел использовать «найти большой контур и заливку заливом», желательно что-то более сложное.
Там также, кажется, немного перемещение измененной маски (она немного порезается на правой стороне лица и немного отличается от левой стороны). Что может быть причиной этого?
Да, я уже использовал resize() и pyrUp() с различными методами интерполяции, чтобы получить результат, показанный на картинке (по-видимому, INTER_CUBIC дал лучший результат). Я посмотрел документацию, но пока не нашел ничего лучшего. В любом случае спасибо. – Hopploppa