Один из способов, который я использую в настоящее время, измеряет распространение ребер в изображении. Посмотрите на эту статью:
@ARTICLE{Marziliano04perceptualblur,
author = {Pina Marziliano and Frederic Dufaux and Stefan Winkler and Touradj Ebrahimi},
title = {Perceptual blur and ringing metrics: Application to JPEG2000,” Signal Process},
journal = {Image Commun},
year = {2004},
pages = {163--172} }
Обычно это за платой, но я видел несколько бесплатных копий. В основном, они определяют вертикальные края изображения, а затем измеряют ширину этих краев. Усреднение ширины дает окончательный результат оценки размытия для изображения. Более широкие края соответствуют размытым изображениям и наоборот.
Эта проблема относится к области оценки качества безреференсного изображения . Если вы посмотрите на Google Scholar, вы получите много полезных ссылок.
EDIT
Вот график оценок размытости, полученных для 5 изображений в сообщении nikie. Более высокие значения соответствуют большему размытию. Я использовал гауссовский фильтр с фиксированным размером 11x11 и менял стандартное отклонение (используя команду femfmememagick для получения размытых изображений).
[/g1]
Если вы сравниваете изображения разных размеров, не забудьте нормализовать ширину изображения, так как большие изображения будут иметь более широкие края.
Наконец, значительная проблема заключается в различии между художественным размытием и нежелательным размытием (вызванным фокусным промахом, сжатием, относительным движением объекта к камере), но это выходит за рамки простых подходов, подобных этому. Для примера художественного размытия взгляните на изображение Ленны: отражение Ленны в зеркале размыто, но ее лицо полностью сосредоточено. Это способствует более высокой оценке размытия для изображения Lenna.
Как предположил Дэниел, использование общедоступной корзины s3 для обслуживания файлов в этом случае работает и намного проще, чем кодирование, как я делал.