Вопрос об изображении: Как определить качество изображения? - PullRequest
8 голосов
/ 12 января 2009

Я ищу способы определения качества фотографии (jpg). Первое, что мне пришло в голову, - это сравнить размер файла с количеством пикселей, хранящихся в нем. Есть ли другие способы, например, проверить количество шума в JPG? У кого-нибудь есть хорошая ссылка для чтения на эту тему или какой-либо опыт? Кстати, проект, над которым я работаю, написан на C # (.net 3.5), и я использую Aurigma Graphics Mill для обработки изображений.

Заранее спасибо!

Ответы [ 5 ]

6 голосов
/ 12 января 2009

Мне не совсем понятно, что вы подразумеваете под «качеством», если вы имеете в виду настройку качества в алгоритме сжатия JPG, то вы сможете извлечь ее из тегов EXIF ​​изображения (полагается на устройство захвата, помещающее их в и никто другой перезаписывает их) для вашей библиотеки см. здесь:

http://www.aurigma.com/Support/DocViewer/30/JPEGFileFormat.htm.aspx

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

Если под «качеством» вы подразумеваете эстетические свойства композиции и т. Д., То - удачи!

2 голосов
/ 07 марта 2011

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

0 голосов
/ 12 января 2009

Я хотел сделать что-то похожее, но хотел выбрать опцию «Soylent Green» и использовал людей для ранжирования изображений путем сравнения. Смотрите ответы на вопросы здесь .

0 голосов
/ 12 января 2009

Я думаю, вы спрашиваете, как определить качество самого процесса сжатия. Это можно сделать, конвертировав JPEG в BMP и сравнив этот BMP с исходным растровым изображением с JPEG. Вы можете перебирать растровые изображения попиксельно и вычислять межпиксельное «расстояние», суммируя различия между значениями R, G и B каждой пары пикселей (т. Е. Пиксель оригинала и JPEG) и деление на общее количество пикселей. Это даст вам оценку средней разницы между оригиналом и JPEG.

0 голосов
/ 12 января 2009

Считывание количества пикселей на изображении может сказать вам размер мегапикселя (# пикселей / 1000000), который может быть грубой формой проверки качества программы, но это не скажет вам, если фотография правильно сфокусирована, предполагая, что она должна быть сфокусированной (например, объекты с быстрым движением, например, поезда), ни погоды, либо нет того, на что стоит посмотреть, что потребует человека, или голубь если вы предпочитаете.

...