Обнаружение шума изображения Javascript

Я работаю над проектом, в котором я получаю массив изображений, сделанных камерами мобильных телефонов, которые сильно различаются по качеству. Я хочу исключить любые изображения с большим количеством шума изображения, а затем сохранить/отобразить остальные.

Каждая библиотека обработки изображений JS, которую я рассматривал до сих пор, упоминает шумоподавление или возможность добавлять шум к изображению на холсте, но ни один из них не подходит для моего случая использования, когда просто нужно отметить, слишком ли шумно изображение или нет. В идеале, это было бы что-то, что я мог бы сделать в браузере с холстом, но я также подумал бы о серверной библиотеке, где я мог бы обрабатывать изображения и отправлять их обратно.

Это вообще возможно? У меня не так много знаний, когда речь идет о компьютерном зрении/обработке изображений, и я был бы признателен за любые предложенные ресурсы/библиотеки/подходы.


person jellycola    schedule 18.05.2015    source источник


Ответы (1)


Чтобы обнаружить шум, вам сначала нужно знать свойства ваших полезных данных.

Поэтому, если у вас нет предварительных знаний о входных изображениях, вы не сможете надежно обнаружить шум.

Есть много видов шумов. Обычно шум присутствует в более высоких частотных диапазонах (точечный артефакт, зернистый шум и т. д.). Но это не всегда так, например, искажение положения изображения или световой артефакт обычно являются низкочастотным шумом.

Некоторые подходы:

  1. Идея заключается в том, чтобы знать, что должны содержать данные, и отфильтровывать остальное.

    поэтому определите, присутствует ли какая-либо частота, не соответствующая вашим данным, с помощью FFT/DCT, и это должно пометить шум. То же самое касается цветов, сделайте гистограмму и посмотрите, есть ли несоответствия с ожидаемой формой гистограммы.

  2. Знать, какой шум присутствует (зная, как были получены данные)

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

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

  3. если у вас нет предварительных знаний о присутствующих данных или шуме

    то вам не повезло, потому что вы не можете надежно отличить шум от данных

person Spektre    schedule 19.05.2015