Interpolacja

Używajc różnych pzekształceń, od najprostszych polegających na zmianie wielkości obrazu przez bardziej skomplikowane przekształcenia afiniczne, perspektywiczne itd. zmieniamy położenie pikseli, zamieniając ich współrzędne (liczby naturalne) na współrzędne, które często są typu rzeczywistego. Ponadto podczas powiększania często powstają nowe piksele, a podczas zmniejszania obrazu jeden piksel musi zastępować kilka elmentów z obrazu przed przekształceniem. Dlatego musimy używać interpolacji / przybliżenia do punktu po przekształceniu. Interpolacja odbywa się na podstawie elementów z otoczenia.

Interpolacja za pomocą metody najbliższych sąsiadów

Metoda najbliższych sąsiadów opiera się poprostu na zaokrągleniu rzeczywistych współrzędnych tak, że używamy najbliższej wartości piksela. Taka interpolacja powoduje bardzo różne efekty blokowe, najczęściej widoczne są one na obiektach prostych o kształtach z granicami w kształcie lini. Dlatego ta prosta technika jest rzadko stosowana w praktyce. 

\[f ′(i′, j′) = f (\mathrm{round}(i), \mathrm{round}( j)) \]

Interpolacja dwuliniowa (Bilinear Interpolation)

Interpolacja dwuliniowa polega na wyznaczeniu koloru piksela na podstawie czterech najbliższych sąsiadujących rozważanego piksela ($f (trunc(I), trunc(j)) f (trunc(i) + 1, trunc(j)) f (trunc(i), trunc(j) + 1) if (trunc(i) + 1, trunc(j) + 1)$). Wartość piksela jest wyznaczana za pomocą średniej ważonej sąsiednich:

\[ f ′(i′, j′) = (trunc(i) + 1 − i)(trunc( j) + 1 − j)f (trunc(i), trunc( j)) + \]
\[+ (i − trunc(i))(trunc( j) + 1 − j)f (trunc(i) + 1, trunc( j)) + \]
\[+ (trunc(i) + 1 − i)( j − trunc( j))f (trunc(i), trunc( j) + 1)+ \]
\[+ (i − trunc(i))( j − trunc( j))f (trunc(i) + 1, trunc( j) + 1) \]

Interpolacja dwuliniowa nie powoduje efektów blokowych, natomiast posiada tendencję do rozmywania krawędzi.

Bi-Cubic Interpolation

Interpolacja sześcienna wykorzystuje 16 pikseli sąsiadujących i opiera się na użyciu funkcji kwadratowej. Mówiąc troszkę bardziej dokładnie funkcja kwadratowa zostaje dopasowana do 8 pikseli otoczenia. Wartość przyjmowana przez piksel jest zależna od wartości pikseli w otoczeniu. Interpolacja kwadratowa powoduje najmniejszy efekt zniekształcenia i jednocześnie jest najbardziej złożona numerycznie,