Реализация шумоподавления
(Non-Local Means)
аппаратно эффективное устранение шумов с фото и видео
Влияние шумов на качество фото

Высокое ISO, плохое освещение, дешевая оптика - все это порождает шум на фото и видео, что затрудняет их обработку и восприятие. Традиционные фильтры (медианный, гауссовский) сглаживают детали и края, делая картинку «мыльной», из чего получаем ряд проблем:


  • потеря мелких текстур
  • размытие границ объектов
  • невозможность удалить сильный шум без артефактов

Наш алгоритм убирает шум, сохраняя текстуру и границы объектов.

Идея алгоритма
Усреднение по похожим патчам по всему изображению
  • Патч вокруг пикселя
    Для каждого пикселя x берётся квадратный патч P(x) заданного размера.
  • Поиск похожих блоков
    Для каждой пары (исходный патч, патч-кандидат) вычисляется евклидово расстояние (сумма квадратов разностей). Вес определяется по экспоненциальной функции - чем меньше расстояние, тем больше вес.

  • Взвешенное усреднение
    Итоговое значение пикселя получается как сумма значений всех пикселей в окне поиска, умноженных на соответствующие веса, нормированная на сумму весов.
  • Пиксель = среднее с весами
    Итоговое значение - сумма центральных пикселей найденных блоков × их веса