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

В этом уроке мы собираемся официально представить три метода масштабирования, которые были введены в уроке Введение в масштабирование.

методы

  • Пиксельная репликация или (интерполяция ближайшего соседа)
  • Метод удержания нулевого порядка
  • Масштабирование K раз

Каждый из методов имеет свои преимущества и недостатки. Мы начнем с обсуждения репликации пикселей.

Метод 1: Репликация пикселей:

Вступление:

Он также известен как интерполяция ближайшего соседа. Как следует из названия, в этом методе мы просто копируем соседние пиксели. Как мы уже обсуждали в учебнике по сэмплированию, это увеличение - не что иное, как увеличение количества выборок или пикселей. Этот алгоритм работает по тому же принципу.

Работает:

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

Например:

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

Для лучшего понимания изображение было взято в виде матрицы со значениями пикселей изображения.

1 2
3 4

Изображение выше имеет две строки и два столбца, мы сначала увеличим его по размеру строки.

Масштабирование строк:

Когда мы масштабируем его по строкам, мы просто скопируем пиксели строк в соседнюю новую ячейку.

Вот как это будет сделано.

1 1 2 2
3 3 4 4

Как вы можете это сделать в приведенной выше матрице, каждый пиксель дублируется в строках дважды.

Увеличение размера столбца:

Следующим шагом является копирование каждого столбца пикселей, так что мы просто скопируем пиксель столбца в соседний новый столбец или просто под ним.

Вот как это будет сделано.

1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4

Новый размер изображения:

Как видно из приведенного выше примера, исходное изображение из 2 строк и 2 столбцов было преобразовано в 4 строки и 4 столбца после увеличения. Это означает, что новое изображение имеет размеры

(Строки исходного изображения * коэффициент масштабирования, столбцы исходного изображения * коэффициент масштабирования)

Преимущества и недостатки:

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

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

Способ 2: удержание нулевого порядка

Вступление

Метод удержания нулевого порядка - это еще один метод масштабирования. Это также известно как увеличение масштаба изображения дважды. Потому что это может только увеличить в два раза. В следующем примере мы увидим, почему он это делает.

Работает

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

Например

Давайте возьмем изображение размеров 2 строк и 2 столбцов и дважды увеличим его, используя удержание в нулевом порядке.

1 2
3 4

Сначала мы будем увеличивать его по ряду, а затем по столбцам.

Масштабирование строк

1 1 2
3 3 4

Когда мы берем первые два числа: (2 + 1) = 3, а затем делим его на 2, мы получаем 1,5, которое приближается к 1. Тот же метод применяется в строке 2.

Мудрое масштабирование столбцов

1 1 2
2 2 3
3 3 4

Мы берем два значения пикселя в соседнем столбце, которые равны 1 и 3. Мы добавляем их и получаем 4. Затем 4 делится на 2, и мы получаем 2, которое помещается между ними. Один и тот же метод применяется во всех столбцах.

Новый размер изображения

Как вы можете видеть, размеры нового изображения 3 x 3, где размеры исходного изображения 2 x 2. Таким образом, это означает, что размеры нового изображения основаны на следующей формуле

(2 (количество строк) минус 1) X (2 (количество столбцов) минус 1)

Преимущества и недостатки.

Одно из преимуществ этого метода масштабирования в том, что он не создает размытое изображение по сравнению с методом интерполяции ближайшего соседа. Но у него также есть недостаток, заключающийся в том, что он может работать только на степени 2. Это можно продемонстрировать здесь.

Причина двойного увеличения:

Рассмотрим изображение выше 2 строк и 2 столбцов. Если нам нужно увеличить его 6 раз, используя метод удержания нулевого порядка, мы не сможем это сделать. Как формула показывает нам это.

Это может только увеличить степень 2 2,4,8,16,32 и так далее.

Даже если вы попытаетесь увеличить его, вы не сможете. Потому что сначала, когда вы увеличите его дважды, результат будет таким же, как показано в столбце, с масштабированием, равным 3х3. Затем вы снова увеличите масштаб и получите размеры, равные 5 x 5. Теперь, если вы сделаете это снова, вы получите размеры, равные 9 x 9.

Тогда как по вашей формуле ответ должен быть 11х11. Поскольку (6 (2) минус 1) X (6 (2) минус 1) дает 11 x 11.

Способ 3: увеличение K-Times

Вступление:

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

Работает:

Это работает так.

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

Разделите выход (OP) с коэффициентом масштабирования (K). Теперь вы должны добавить результат к меньшему значению и поместить результат между этими двумя значениями.

Снова добавьте значение OP к значению, которое вы только что поместили, и поместите его снова рядом с предыдущим введенным значением. Вы должны делать это, пока не поместите в него значения k-1.

Повторите тот же шаг для всех строк и столбцов, и вы получите увеличенные изображения.

Например:

Предположим, у вас есть изображение из 2 строк и 3 столбцов, которое приведено ниже. И вы должны увеличить его три или три раза.

15 30 15
30 15 30

К в этом случае составляет 3. К = 3.

Количество значений, которые должны быть вставлены, равно k-1 = 3-1 = 2.

Масштабирование строк

Возьмите первые два соседних пикселя. Которые 15 и 30.

Вычтите 15 из 30. 30-15 = 15.

Разделите 15 на k. 15 / k = 15/3 = 5. Мы называем это OP. (Где op это просто имя)

Добавьте ОП, чтобы уменьшить число. 15 + ОП = 15 + 5 = 20.

Снова добавьте OP к 20. 20 + ОП = 20 + 5 = 25.

Мы делаем это 2 раза, потому что мы должны вставить значения k-1.

Теперь повторите этот шаг для следующих двух соседних пикселей. Это показано в первой таблице.

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

Это показано во второй таблице

Таблица 1.

15 20 25 30 20 25 15
30 20 25 15 20 25 30

Таблица 2.

Таблица 2

Мудрое масштабирование столбцов

Эта же процедура должна быть выполнена в колонке. Процедура включает в себя получение двух смежных значений пикселей, а затем вычитание меньшего из большего. Затем, после этого, вы должны разделить его на k. Сохраните результат как OP. Добавьте OP к меньшему, а затем снова добавьте OP к значению, которое приходит при первом добавлении OP. Вставьте новые значения.

Вот что ты получил после всего этого.

15 20 25 30 25 20 15
20 21 21 25 21 21 20
25 22 22 20 22 22 25
30 25 20 15 20 25 30

Новый размер изображения

Лучший способ вычислить формулу для размеров нового изображения - сравнить размеры исходного изображения и конечного изображения. Размеры исходного изображения были 2 х 3. А размеры нового изображения 4 х 7.

Формула, таким образом, имеет вид:

(K (количество строк минус 1) + 1) X (K (количество строк минус 1) + 1)

Преимущества и недостатки

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

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