Interpolacja dwuliniowa: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
WarXboT (dyskusja | edycje)
Lucassus (dyskusja | edycje)
wizualizacja interpolacji dwuliniowej
Linia 1:
{{linki}}
'''Interpolacja dwuliniowa''' jest rozszerzeniem [[Interpolacja (grafika komputerowa)|interpolacji]] liniowej. Metoda ta pozwala na interpolację funkcji dwóch zmiennych. Intuicyjnie interpolacja dwuliniowa jest złożeniem dwóch interpolacji liniowych. W celu przeprowadzenia interpolacji dwuliniowej przeprowadza się dwie interpolacje liniowe dla jednego kierunku (np. wzdłuż osi OX w układzie kartezjańskim), a następnie dla tak uzyskanych wartości przeprowadza się interpolację liniową dla drugiego kierunku (osi OY).
 
 
[[Grafika:Bilinear interpolation.png|frame|right|'''Q11''', '''Q12''', '''Q21''', '''Q22''' - znane wartości funkcji<br/>'''P''' - punkt, który chcemy interpolować.]]
Najpierw przeprowadzana jest interpolacja liniowa wzdłuż osi OX, otrzymujemy:
:<math> f(R_1) \approx \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21}) \quad\mbox{gdzie}\quad R_2 = (x,y_1). </math>
Linia 13:
:<math> f(P) \approx \frac{y_2-y}{y_2-y_1} f(R_1) + \frac{y-y_1}{y_2-y_1} f(R_2). </math>
 
<br clear="all" />
Jeśli przyjmiemy system współrzędnych, w którym znane wartości funkcji ''f'' znajdują się w punktach o współrzędnych Q11(0,&nbsp;0), Q12(0,&nbsp;1), Q21(1,&nbsp;0), i Q22(1,&nbsp;1), wtedy wzór na interpolację upraszcza się do postaci:
:<math> f(x,y) \approx f(0,0) \, (1-x)(1-y) + f(1,0) \, x(1-y) + f(0,1) \, (1-x)y + f(1,1) xy. </math>
 
'''Interpolacja dwuliniowa''' używana jest m.in. w algorytmach służących do zmiany rozdzielczości obrazu cyfrowego.
Postać macierzowa równania:
:<math> f(x,y) \approx \begin{bmatrix}
1-x & x \end{bmatrix} \begin{bmatrix}
f(0,0) & f(0,1) \\
f(1,0) & f(1,1) \end{bmatrix} \begin{bmatrix}
1-y \\
y \end{bmatrix}</math>
 
 
Wizualizacja interpolacji dwuliniowej. Wartość funkcji ''f'' w punkcie Q22 zmienia się od wartości 0.0 do 1.0;
<gallery>
Grafika:BilinearInterpolation_00.png|[[Q22=0.0]]
Grafika:BilinearInterpolation_02.png|[[Q22=0.1]]
Grafika:BilinearInterpolation_03.png|[[Q22=0.2]]
Grafika:BilinearInterpolation_04.png|[[Q22=0.3]]
Grafika:BilinearInterpolation_05.png|[[Q22=0.4]]
Grafika:BilinearInterpolation_06.png|[[Q22=0.5]]
Grafika:BilinearInterpolation_07.png|[[Q22=0.6]]
Grafika:BilinearInterpolation_08.png|[[Q22=0.7]]
Grafika:BilinearInterpolation_08.png|[[Q22=0.8]]
Grafika:BilinearInterpolation_09.png|[[Q22=0.9]]
Grafika:BilinearInterpolation_10_Legend.png|[[Q22=1.0]]
</gallery>
 
 
'''Interpolacja dwuliniowa''' używana jest m.in. w [[algorytm|algorytmach]] służących do zmiany rozdzielczości obrazu cyfrowego.
 
[[Kategoria:cyfrowe przetwarzanie obrazów]]
[[Kategoria:Grafika komputerowa]]