Najprostszym sposobem zrozumienia interpolacji dwuliniowej jest zrozumienie interpolacji liniowej w 1D.
Ta pierwsza cyfra powinna dać ci retrospekcje do matematyki w gimnazjum. Biorąc pod uwagę pewną lokalizację a, przy której chcemy poznać f (a), bierzemy sąsiadujące "znane" wartości i dopasowujemy linię między nimi.
Więc po prostu stosować stare równania gimnazjum y = mx + b i y-y1 = m (x-X1). Nic fajnego.
W zasadzie przenosimy tę koncepcję na 2-D, aby uzyskać interpolację dwuliniową. Możemy zaatakować problem ze znalezieniem f (a, b) dla każdego a, b poprzez wykonanie trzech interpolacji. Przestudiuj uważnie następną figurę. Nie daj się zastraszyć przez wszystkie etykiety. To jest naprawdę proste.
Dla Interpolacja dwuliniowa, ponownie używając punktów sąsiednich. Teraz są ich cztery, ponieważ jesteśmy w 2D. Sztuką jest atakowanie problemu po jednym wymiarze naraz.
Projektujemy nasz (a, b) na bokach i najpierw obliczamy dwie (jednowymiarowe!) Linie interpolujące.
- f (a, y J) gdzie Y J jest stała
- f (a, y J + 1) gdzie Y J + 1 jest utrzymywany na stałym poziomie.
Teraz jest tylko jeden ostatni krok. Bierzesz dwa punkty ty obliczone f (a, y j) i f (a, y j + 1) i dopasować linię pomiędzy nimi. To niebieski, idąc od lewej do prawej na schemacie, przechodząc przez f (a, b). Interpolacja wzdłuż tej ostatniej linii daje ostateczną odpowiedź.
Zostawię dla ciebie matematykę dla przypadku 2-D. Nie jest trudno pracować na diagramie. Samo przejście przez to pomoże ci naprawdę dowiedzieć się, co się dzieje.
Ostatnia drobna uwaga, nie ma znaczenia, które strony wybiorą dla pierwszych dwóch interpolacji. Mogłeś wybrać górny i dolny, a następnie zamiast tego wykonać trzecią linię interpolacji między tymi dwoma. Odpowiedź byłaby taka sama.
Masz za zadanie napisać własne? –
Czy interpolacja dwuliniowa z definicji nie jest przeznaczona dla macierzy 2D? – Phonon
Moim głównym celem jest optymalizacja za pomocą CUDA. To, w jaki sposób skalowanie obrazu odbywa się za pomocą dwuliniowego, jest tylko etapem pośrednim. Powinien edytować mój post. Profesor chce wyników optymalizacji, więc reszta należy do mnie. Za pomocą algorytmu mogę przejść do wywoływania CUDA, aby wykonać go równolegle, co przyspieszy to.:) – f0rfun