Самый близкий сосед, билинейный, и методы бикубической интерполяции

Самая близкая соседняя интерполяция

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

Например, предположите эту матрицу,

123456789

представляет ваше входное изображение. Вы хотите перевести это изображение 1,7 пикселя в положительном горизонтальном направлении с помощью самой близкой соседней интерполяции. Самый близкий соседний алгоритм интерполяции блока Translate проиллюстрирован следующими шагами:

  1. Нуль заполняет входную матрицу и переводит ее на 1,7 пикселя направо.

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

    001230045600789

Примечание

Вы хотели перевести изображение на 1,7 пикселя, но этот метод перевел изображение на 2 пикселя. Самая близкая соседняя интерполяция в вычислительном отношении эффективна, но не так точна как билинейная или бикубическая интерполяция.

Билинейная интерполяция

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

Например, предположите эту матрицу,

123456789

представляет ваше входное изображение. Вы хотите перевести это изображение 0,5 пикселя в положительном горизонтальном направлении с помощью билинейной интерполяции. Алгоритм билинейной интерполяции блока Translate проиллюстрирован следующими шагами:

  1. Нуль заполняет входную матрицу и переводит ее на 0,5 пикселя направо.

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

    0.51.52.51.524.55.533.57.58.54.5

Бикубическая интерполяция

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

Например, предположите эту матрицу,

123456789

представляет ваше входное изображение. Вы хотите перевести это изображение 0,5 пикселя в положительном горизонтальном направлении с помощью бикубической интерполяции. Алгоритм бикубической интерполяции блока Translate проиллюстрирован следующими шагами:

  1. Нуль заполняет входную матрицу и переводит ее на 0,5 пикселя направо.

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

    0.3751.531.6251.8754.8756.3753.1253.3758.259.754.625