Читал этот вопрос и задумался. Как именно вы можете определить, какое решение по передискретизации является лучшим? У меня есть понятие, хотя и несколько расплывчатое, о том, что делают основные методы.
Есть ли хорошие общие правила для разных типов изображений? Например, используя определенный набор алгоритмов передискретизации для фотографий и другой набор для веб-графики? Влияет ли общий цвет изображения, контраст предмета, фона и т. Д.?
Ответы:
Существует ряд очень информативных учебных пособий по цвету Cambridge in Color, которые касаются темы изменения размера изображения.
Последний урок особенно хорош, так как есть таблица общих алгоритмов интерполяции вместе со схемой, которая помогает вам визуально найти компромисс, который есть у каждого алгоритма в отношении сглаживания, размытия и краевых ореолов.
источник
Прямой ответ заключается в том, что в конечном итоге вы этого не сделаете. В очень многих случаях это сводится к вопросу вкуса. Три человека, которые рассматривают уменьшенные версии определенного изображения, могут (и часто будут) иметь три разных мнения о том, какой из них лучше. Самое лучшее, что вы можете сделать, - это выбрать, какие функции изображения вы считаете важными, и выбрать метод, основанный на этом.
Например, ближайший сосед довольно хорошо справляется с поддержанием острых краев на линиях - гораздо больше, чем большинство методов интерполяции. В то же время, при применении к вещам, которые должны выглядеть «гладкими» (например, чистое голубое небо), он может создавать артефакты, которые выглядят скорее как края.
Обратное также верно: интерполяция может помочь сгладить градиенты, но также имеет тенденцию «сглаживать» то, что должно быть острыми краями. Если вы зайдете слишком далеко, мелкие детали могут быть полностью уничтожены.
Большинство лучших методов в некоторой степени адаптивны. Значительно упрощая, они оценивают, насколько «резкими» градиенты содержат исходные данные, и пытаются поддерживать примерно такой же уровень сглаживания / резкости, который присутствует в оригинале. Адаптация обычно выполняется путем сканирования изображения в блоках и применения адаптации на блочной основе.
Например, если у вас есть пейзаж с ясным голубым небом и деревьями с множеством мелких деталей (ветки, листья и т. Д.), То к ветвям будет применено гораздо меньшее сглаживание, чем к небу.
Однако существуют различные способы оценки градиентов, ни один из которых не является идеальным, и различные размеры окон, ни один из которых не является идеальным для всех изображений. Это оставляет место для значительной разницы даже между адаптивными алгоритмами.
источник
Этот сайт ( Сравнение методов увеличения изображения ) хорошо сравнивает различные методы интерполяции. И если вы загрузите их инструмент ( SAR Image Processor, версия 4.3 ), вы сможете измерить разницу в качестве.
Хотя это и кажется хорошим руководством, оно не отвечает на вопрос, какой алгоритм подходит для какого типа изображения.
Ниже приводится выдержка из результатов их испытаний для различных алгоритмов интерполяции. Схема авторского права general-cathexis.com .
источник