Intereting Posts
Получение данных из базы данных MySQL с использованием PHP, отображение ее в форме для редактирования Добавление цвета строки альтернативной таблицы PHP в существующую таблицу HTML php sprintf () с иностранными символами? Производительность PHP file_get_contents () vs readfile () и cat Symfony2 – запуск команды symfony2 Использование результатов PHPMailer во многих заблокированных электронных письмах Загрузка файлов .sql из PHP Symfony2 ManytoMany двунаправленное отношение – как сохранить вручную $ _SERVER не работает в скрипте php, проходящем через cron Песочница APNS Ошибка подключения «0» в php-файле? Сохранение пользовательского HTML на локальных сайтах без доступа к FTP? Действительно ли существует EOF? Поля групповой формы в Symfony2 WordPress: загрузить полноразмерное изображение в миниатюре Есть ли идиоматический способ получить потенциально неопределенный ключ из массива в PHP?

Проверить видимое качество изображения

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

Например, скажем, пользователь A загружает что-то вроде http://img.ruphp.com/image/Selfie.jpg

и пользователь B загружает что-то вроде http://img.ruphp.com/image/selfie.jpg

Очевидно, что фото B профессионально и качественно. Другое дело, что использовать размер и вес изображения (?) Нехорошо, потому что изображение B может быть изменено, фотошоп или что-то еще (потеряны некоторые данные изображения).

Есть ли способ обнаружить эту разницу? 🙂 Есть идеи?

Я все еще думаю о дальнейших показателях, но на данный момент …

Профиль IPTC и / или авторское право

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

Вы можете найти это с помощью ImageMagick следующим образом:

identify -verbose image.jpg | grep -i profile 

и ваше второе изображение

 Profile-8bim: 104 bytes Profile-iptc: 92 bytes 

Вы действительно можете прочитать профиль следующим образом:

 convert b.jpg 8BIMTEXT:- 8BIM#1028="IPTC" 2#103#Original Transmission Reference="53616c7465645f5fb085443d8e4c5898afc929fa83c3cc27d7bf6da5d5f63efdf47888b1a19ac93e" 2#0="�" 

или

 convert b.jpg IPTCTEXT:- 2#103#Original Transmission Reference="53616c7465645f5fb085443d8e4c5898afc929fa83c3cc27d7bf6da5d5f63efdf47888b1a19ac93e" 2#0="�" 

Разрешение (dpi)

Другой дискриминант, вероятно, будет резолюцией. Большинство мобильных телефонов, любителей и веб-изображений имеют разрешение 72dpi или 96dpi. Большинство профессиональных фотографов, как правило, предпочитают 300 точек на дюйм для печати высокого качества, поэтому я, вероятно, установил бы порог около 150 точек на дюйм. Вы можете получить разрешение следующим образом:

 identify -verbose image.jpg | grep -i resolution 

или быстрее и более лаконично

 identify -format %x image.jpg 300 

Я отмечаю, что ваше первое изображение имеет 72dpi, а второе – 300 точек на дюйм.

Область применения

Другая идея, о которой я думаю, – это то, что происходит, если вы попытаетесь улучшить изображение в цифровом виде, а затем увидите различия между улучшенным изображением и оригиналом и попытайтесь что-то вывести из этого. Предположительно, профессионально отредактированный образ не будет таким восприимчивым к усилению на основе, что он уже должен быть «хорошим». Итак, скажем, мы выбираем параметр ImageMagick -enhance и -enhance ваши два изображения, а затем изучаем различия между оригинальными и улучшенными изображениями. Я собираюсь переключиться на формат PNG без потерь, чтобы избежать эффектов квантования JPEG .

 # Make PNG convert a.jpg a.png # Enhance "a.png" and save as "ae.png" convert a.png -enhance ae.png # Compare "a.png" with "ae.png" compare -metric rmse a.png ae.png -format "%[distortion]" resa.png 360.479 (0.00550055)0.00550055 

введите описание изображения здесь

Теперь выполните ту же процедуру для второго, профессионального изображения:

 # Make a comparably sized PNG convert b.jpg -resize 1200x1200 b.png convert b.png -enhance be.png compare -metric rmse b.png be.png -format "%[distortion]" resb.png 421.08 (0.00642527)0.00642527 

введите описание изображения здесь

Я все еще думаю об этом …

Imagemagick читать качество

 $ identify -verbose tornado_ok.jpg | grep Quality 

Для получения дополнительной информации об идентификации

Получил информацию по этому вопросу