Как корректно определить, какое из изображений содержит меньше шумов?

Сравниваю одинаковые изображения, но с разным качеством (снято в разных условиях, пожато с разными потерями). Хочу вычислить лучшее качества.


Например:

473897386b4e839e466f5637b379d3ef.png
76265bd688e090657ebc5ffc5e121c20.png


Контрастность и количество цветов выше у нижнего (спасибо шумам). Может кто-то подскажет более интеллектуальные алгоритмы? (эталона нет, исходные данные только такие).
  • Вопрос задан
  • 3299 просмотров
Пригласить эксперта
Ответы на вопрос 10
@shipovalov
на взгляд, не профессионала, верхнее выглядит лучше
Ответ написан
Я бы порекомендовал посмотреть в сторону алгоритмов шумоподавления, возможно там есть метрики для определения зашумленности изображения. Например вот эта статья.
Ответ написан
Комментировать
Infthi
@Infthi
ну я бы попробовал находить разность картинок с картинками, обработанными шумоподавителями (примитивный вариант — блюр) — у зашумленной по идее разность будет больше.
Ответ написан
@Maximus5
Это ведь все отностельно. Смотря какая задача стоит. Ведь у верхнего гораздо меньший динамический диапазон, и если его растянуть (например AutoLevels), то моожет получиться такая же фигня, что и на нижнем.

Если прикидывать какие-то общие критерии (они ведь от задачи зависят) то наверное нужно смотреть на гистограмму. Подозреваю, лучше будет тот, у которого она больше похожа на «колокол» и расположена ближе к центру (типа пересвет/недосвет). По идее, чем она ровнее (без «расчесок») тем картинка лучше.
Ответ написан
@impass
погуглите «image quality assessment», если английским владеете
Ответ написан
Комментировать
Akson87
@Akson87
Вы сначала определите, что вы считаете лучшей картинкой. Люди о качествах картинок на всяких телеках с разных плееров итд итп спорят вечно (а еще аудиофилов можно вспомнить с теплым ламповым звуком:)). Вот когда определите, что такое хорошо, а что такое плохо для данного случая, тогда уже можно думать об алгоритме.

Могу предположить, что если прогнать их через FFT и посмотреть у кого высокочастотная часть меньше, то там будет меньше шумов, хотя там просто все может быть жестко замылено.
Ответ написан
@xaoc80
Можно еще сделать так — бинаризовать изображение (например по средней яркости) и там где меньше черных точек качество будет выше
Ответ написан
Wott
@Wott
шумы будут все портить, поэтому сначала надо их убирать
далее сжимать и смотреть процент потерь
качество сьемки можно определить по ширине гистограммы
Ответ написан
Комментировать
@Eddy_Em
Я бы попробовал для начала построить гистограмму HL + LH компонент вейвлет-образов картинок (Хааром, например). Правда, это будет не сильно объективно.
Еще можно сгладить картинки медианой (скажем, 3x3 или 9x9, смотря какого размера исходные изображения) и вычесть из оригиналов. STD остатка вполне может быть верной характеристикой шумов.
Ответ написан
Комментировать
Infthi
@Infthi
Кстати, мне тут сейчас пришла в голову ещё такая идея. Судя по картинкам, вы качества фильмов же пытаетесь сравнить? :) А в фильмах обычно есть такая штука, как титры — черный экран с высококонтрастными белыми символами. Мне кажется, от сравнение качества скриншотов титров будет куда проще.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы