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