Как измерить шум изображения

Я нашел несколько способов уменьшить шум от изображения, но моя задача - измерить его.

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

Ответы

Ответ 1

Чтобы решить мою проблему, я использовал следующий подход:

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

if (ABS(1 - (currentPixel.R+currentPixel.G+currentPixel.B)/(neigborsMediumValues.R + neigboursMediumValues.G + neigboursMediumValues.B))) > criticalValue)
then
{
    currentPixelIsNoise = TRUE;
}    

Ответ 2

С точки зрения обработки изображений вы можете обратиться к классической бумаге " Оценка качества изображения: от видимости видимости до структурного сходства" опубликован в IEEE Transaction on Image Processing, который уже упоминался 3000+ раз в соответствии с Google Scholar. Основная идея - система визуального восприятия человека очень чувствительна к структурному сходству. Однако шум (или искажение) часто нарушает такое сходство. Поэтому авторы попытались предложить измерение цель для качества изображения на основе этой мотивации. Вы можете найти реализацию в MATLAB здесь.