Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling кратко

Лекция



Привет, Вы узнаете о том , что такое масштабирование изображения, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое масштабирование изображения, ремасштабирование, алгоритмы апскейлинга, upscaling , настоятельно рекомендую прочитать все из категории Компьютерная графика.

масштабирование изображения — изменение размера цифрового изображения с сохранением пропорций. Под масштабированием подразумевается как увеличение («апскейлинг» от англ. upscaling), так и уменьшение («даунскейлинг», англ. downscaling) разрешения изображения. Широко применяется в компьютерной графике, обработке видео, в частности, реализуется на аппаратном уровне в телевизорах и видеопроигрывателях.

При этом, в зависимости от типа графики (растровая, векторная), масштабирование производится разными алгоритмами. Масштабирование векторных изображений происходит без потерь качества изображения, при увеличении растровых может происходить потеря качества изображения: возможны существенные искажения геометрии мелких деталей и появление ложных узоров на текстурах. Поэтому при масштабировании растровых изображений используются специализированные алгоритмы, сглаживающие нежелательные эффекты.

Методы масштабирования общего назначения. Передискретизация

Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Слева — изображение, полученное размножением, справа — результат бикубической интерполяции

Передискретиза́ция (англ. resampling) в обработке сигналов — изменение частоты дискретизации дискретного (чаще всего цифрового) сигнала. Алгоритмы передискретизации широко применяются при обработке звуковых сигналов, радиосигналов и изображений (передискретизация растрового изображения — это изменение его разрешения в пикселах).

Отсчеты сигнала, соответствующие новой частоте дискретизации, вычисляются по уже имеющимся отсчетам и не содержат новой информации.

Повышение частоты дискретизации называется интерполяцией, понижение — децимацией.[

Если в изображении есть мелкие контрастные детали, важно его перевести в линейное цветовое пространство — иначе (если исходник в sRGB) на уменьшенном изображении получившаяся «каша» из светлого и темного будет темнее, чем надо.

Окно передискретизационного фильтра равно размеру исходного или целевого пикселя — что больше .

Многим алгоритмам нужны виртуальные пиксели за границей кадрового буфера. В зависимости от назначения алгоритма, можно физически сделать изображение на несколько пикселей больше или брать данные из другого места методом if-then. Данные можно брать с краев (если имеем дело с законченным изображением), брать пустые пиксели (если изображение — спрайт) или брать пиксели с другой стороны изображения (если изображение должно бесшовно повторяться) .

Увеличение

Для увеличения обычно используют не передискретизационные фильтры в общем виде, а частный случай — интерполяцию.

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

Метод билинейной интерполяции обеспечивает некоторое сохранение гладкости контуров рисунка, но иногда вызывает нежелательные эффекты сглаживания деталей и все равно порождает довольно заметный «эффект лестницы». Более совершенным методом является использование бикубической интерполяции.

Уменьшение

Для уменьшения изображений используют свертку с той или иной функцией-ядром. Об этом говорит сайт https://intellect.icu . Методу ближайшего соседа соответствует узкий прямоугольник, билинейной интерполяции — треугольное ядро… Часто для уменьшения фотографий используются фильтр Ланцоша, дающий субъективную резкость, и прямоугольный фильтр (box filter), размывающий изображение.

Использование методов увеличения для уменьшения и наоборот

Небольшое (до 0,5×) уменьшение часто проводят интерполяцией. При бо́льших коэффициентах начинаются потери информации — отсюда возникшая во времена первых фоторедакторов рекомендация уменьшать поэтапно, не более чем вдвое за раз.

Интерполяция методом ближайшего соседа и билинейная, как самые простые, используются, когда надо масшабировать в реальном времени, в играх и графическом ПО. MIP-текстурирование основано на том, что берут качественно уменьшенную текстуру подходящего размера — а потом масштабируют интерполяцией с коэффициентом, близким к единице.

Метод свертки с ядром, используемый при уменьшении, при увеличении (если установить правильную ширину окна — 1 исходный пиксель) не вредит качеству, но может давать лишнюю вычислительную работу. Некоторые ядра (например, фильтр Ланцоша) при увеличении более чем в два раза вносят свои артефакты.

Прямоугольным фильтром пользуются современные (2010-е и позже) пиксельные игры, чтобы увеличить изображение вдвое и более, в том числе с нецелым коэффициентом .

Методы и алгоритмымасштабирования пиксельной графики

Для увеличения малоцветных изображений в малом разрешении лучше всего подходят специальные алгоритмы, разработанные для растровой графики, позволяющие при незначительных искажениях точности прорисовки форм сохранить и подчеркнуть четкие контуры и мелкие детали. Также существуют сглаживающие алгоритмы, подходящие для обработки фотографий и многоцветных растровых изображений с эффектом лесенки, объединяемые под наименованием «методов сверхмасштаба» (англ. supersampling).

Сравнение

В таблице приведено сравнение алгоритмов масштабирования, выполненных с помощью свободно распространяемой программы 2dimagefilter.

Алгоритм Изображение
(Исходные изображения) Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscalingМасштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Super-xBR 4x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Eagle 3x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
hq3x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Scale 3x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
XBR 3x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
SuperEagle Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
SuperSaI Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
SaI 2x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Scale 2x Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling

Методы масштабирования векторной графики

Векторную графику можно отрендерить в любом разрешении, которое нужно. Но есть нюансы.

  • На сверхнизких разрешениях векторная графика становится немасштабируемой, потому что погрешности рендеринга становятся велики. Векторная иконка, нарисованная под 16×16, плохо смотрится в 24×24 и совсем плохо — в 20×20. Уже в TrueType (конец 80-х) попытались разрешить это противоречие, добавив сложные коды хинтинга. Хинтинг устанавливает взаимосвязи между разными элементами буквы, и в зависимости от них искажает пропорции, чтобы улучшить читаемость.
  • Устройство изображения во многом зависит от того, какую часть поля зрения оно занимает. Если оно займет существенную часть поля зрения, можно сделать тонкие линии и узкие пробелы между буквами. Если малую часть (маленькая иконка, смотрим издали, дорожный знак с совмещенными изображениями вроде «стоянка на 5 машин»…) — наоборот, нужны толстые линии и большие пробелы. Автоматически этот вопрос не решается, только ручной нюансировкой.

Отдельная задача — масштабирование заведомо векторного/графического изображения, отрендеренного в растр и, возможно, искаженного алгоритмами сжатия (например, для реставрации мультфильмов). Задача не столь ограничивающая, как трассировка растра — если обнаружена, например, градиентная заливка, не нужно ее переводить в векторные примитивы. Для этого существует, например, нейросетевой алгоритм waifu2x.

Использование в эмуляторах игровых консолей

Благодаря мощной аппаратной составляющей современных компьютеров возможно использование алгоритмов масштабирования изображений в реальном времени для видеоигр. Высокооптимизированные алгоритмы дают четкую и детальную картинку при минимальном эффекте размытия, при этом не требуют значительных ресурсов системы. Они используются во многих эмуляторах игровых приставок, таких как HqMAME, DOSBox и ScummVM.

Алгоритмы масштабирования изображений применяются в коммерческих эмуляторах Xbox Live, Virtual Console и PlayStation Network и позволяют геймерам, поклонникам игр 80-х и 90-х годов, созданных в низком разрешении, получать новый игровой опыт на HD-экранах. Такие алгоритмы используются в Sonic's Ultimate Genesis Collection, Castlevania: The Dracula X Chronicles, Castlevania: Symphony of the Night и Akumajō Dracula X Chi no Rondo.

Проблемы масштабирования изображений

Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling
Пример сглаживания — изображение слева не сглажено, к изображению справа применено сглаживание 4x

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

Масштабирование изображения со сглаживанием зависит от цветовой модели, принятой в нем. Стандартной под экран считается модель sRGB с кусочно-полиномиальной кривой отклика, которая неплохо приближается степенной кривой Масштабирование изображения, ремасштабирование, Алгоритмы апскейлинга, upscaling. Однако большинство графических библиотек считают sRGB линейным пространством. Проблема менее заметна для фото и более — для чертежей.

Существует простой алгоритм увеличения пиксельной графики («продвинутый ближайший сосед») с дробным коэффициентом 2 и более, но нет похожего алгоритма с коэффициентом от 1 до 2. Потому современные (2010-е годы) игры с пиксельной графикой стараются делать с разрешением как минимум вдвое меньшим, чем целевая машина .

Историки всерьез озабочены нейросетевыми алгоритмами, автоматически придумывающими детали — ведь они придумывают то, чего не было на исходном изображении. И может оказаться, что самым ходовым будет изображение технически более высокого качества — но неаутентичное. Или после прогона через подобный сервис владелец удалит «некачественный» оригинал .

Вау!! 😲 Ты еще не читал? Это зря!

Исследование, описанное в статье про масштабирование изображения, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое масштабирование изображения, ремасштабирование, алгоритмы апскейлинга, upscaling и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная графика

Из статьи мы узнали кратко, но содержательно про масштабирование изображения
создано: 2020-12-08
обновлено: 2022-02-13
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Компьютерная графика

Термины: Компьютерная графика