Bilinear interpolation: Resample Image Cell Size with 4 Nearest Neighbors
Hvad er bilinear interpolation?
Når du resample eller reprojicerer data, kan du blive nødt til at interpolere dine data.
De mest almindelige resamplingoperatorer er bilinear interpolation, kubisk konvolution og nærmeste nabo.
I dag fokuserer vi på bilinear interpolation, som estimerer en udgangsflade med 4 kendte værdier.
Hvordan er den forskellig fra de andre interpolationsteknikker? Lad os tage et kig.
Hvornår bruger du bilinear interpolation?
Hvor vi laver en fuldstændig dybdegående forklaring på bilinear interpolation, er det vigtigt at vide, hvorfor du overhovedet vil bruge den.
Temperaturgradienter raster, digitale højdemodeller, årlige nedbørsgitre, støjafstandsraster – det er alle potentielle eksempler på, hvornår interpolation kan bruges til at resample billeder. Hvert eksempel har værdier, der varierer kontinuerligt fra celle til celle for at danne en overflade.
Her er et par eksempler på, hvornår du kan bruge bilinear interpolation:
- Når du resample dine data fra en cellestørrelse til en anden, ændrer du cellestørrelsen og vil have brug for interpolation.
- Når du projicerer dine rasterdata til et andet koordinatsystem, ændrer du konfigurationen og resampler dine data
I begge disse tilfælde ville du bruge en resamplingsteknik. For når du har et inputraster, hvordan ved outputrasteret så, hvilke celler det skal basere output på, hvis inputcellerne ikke passer sammen?
Du skal vælge en resamplingsteknik som f.eks. bilinear interpolation, kubisk konvolution eller nærmeste nabo.
Sådan fungerer bilineær interpolation
Bilineær interpolation er en teknik til beregning af værdier for en gitterplacering baseret på nærliggende gitterceller. Den vigtigste forskel er, at den bruger de fire nærmeste cellecentre.
Med brug af de fire nærmeste naboceller tildeler bilineær interpolation værdien af udgangscellen ved at tage det vægtede gennemsnit. Den anvender vægte baseret på afstanden mellem de fire nærmeste cellecentre, der udglatter outputrasteret.
Det anbefales at bruge bilineær interpolation til kontinuerlige datasæt uden tydelige grænser. Overfladen skal være kontinuerlig, og de nærmeste punkter skal være relaterede.
Når du kører processen, genererer den en glattere overflade, men ikke så voldsom som kubisk konvolution, som bruger 16 naboceller. Udgangsrasteret tager kun fire nærmeste cellecentre og anvender et gennemsnit ved hjælp af afstand.
Hvorfor bruge bilinear interpolation?
Den vigtigste forskel i bilinear interpolation er, at den bruger 4 nærmeste naboer til at generere en udgangsflade.
På den anden side bruger kubisk konvolution 16 nærmeste naboer, hvilket udglatter overfladen mere.
Bilinear interpolation antager, at input er kontinuerligt.
Denne resamplingmetode bruger et afstandsgennemsnit til at estimere med tættere celler, der får højere vægtning.