Scopri milioni di eBook, audiolibri e tanto altro ancora con una prova gratuita

Solo $11.99/mese al termine del periodo di prova. Cancella quando vuoi.

Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare
Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare
Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare
E-book113 pagine52 minuti

Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare

Valutazione: 0 su 5 stelle

()

Leggi anteprima

Info su questo ebook

Che cos'è l'interpolazione bilineare


In matematica, l'interpolazione bilineare è un metodo per interpolare funzioni di due variabili utilizzando l'interpolazione lineare ripetuta. Di solito viene applicato a funzioni campionate su una griglia rettilinea 2D, sebbene possa essere generalizzato a funzioni definite sui vertici di quadrilateri convessi arbitrari.


Come trarrai vantaggio


(I) Approfondimenti e convalide sui seguenti argomenti:


Capitolo 1: Interpolazione bilineare


Capitolo 2: Interpolazione


Capitolo 3: Lineare interpolazione


Capitolo 4: Interpolazione polinomiale


Capitolo 5: Polinomio di Newton


Capitolo 6: Polinomio di Lagrange


Capitolo 7: Interpolazione spline


Capitolo 8: Spline cubica di Hermite


Capitolo 9: Interpolazione trilineare


Capitolo 10: Interpolazione bicubica


(II) Rispondere al pubblico top domande sull'interpolazione bilineare.


(III) Esempi reali dell'utilizzo dell'interpolazione bilineare in molti campi.


A chi è rivolto questo libro


Professionisti, studenti universitari e laureati, appassionati, hobbisti e coloro che desiderano andare oltre le conoscenze o le informazioni di base per qualsiasi tipo di interpolazione bilineare.


 


 

LinguaItaliano
Data di uscita4 mag 2024
Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare

Correlato a Interpolazione bilineare

Titoli di questa serie (100)

Visualizza altri

Ebook correlati

Intelligenza artificiale e semantica per voi

Visualizza altri

Articoli correlati

Recensioni su Interpolazione bilineare

Valutazione: 0 su 5 stelle
0 valutazioni

0 valutazioni0 recensioni

Cosa ne pensi?

Tocca per valutare

La recensione deve contenere almeno 10 parole

    Anteprima del libro

    Interpolazione bilineare - Fouad Sabry

    Capitolo 1: Interpolazione bilineare

    L'interpolazione bilineare è una tecnica per interpolare funzioni a due variabili (ad esempio, x e y) utilizzando l'interpolazione lineare ripetuta. Viene spesso applicato a funzioni campionate su una griglia rettilinea 2D, ma può essere esteso a funzioni specificate sui vertici di quadrilateri convessi arbitrari.

    L'interpolazione bilineare si ottiene impiegando l'interpolazione lineare in una direzione e poi nell'altra. Sebbene ogni passaggio sia lineare in termini di valori campionati e posizione, l'interpolazione nel suo complesso è quadratica in termini di posizione del campione.

    L'interpolazione bilineare è uno dei metodi di ricampionamento fondamentali nella visione artificiale e nell'elaborazione delle immagini, dove è anche nota come filtraggio bilineare e mappatura della trama bilineare.

    Supponiamo di voler determinare il valore di una funzione incognita f nella posizione (x, y), y).

    Si assume di conoscere il valore di f nei quattro punti Q11 = (x1, y1), Q12 = (x1, y2), Q21 = (x2, y1) e Q22 = (x2, y2).

    Innanzitutto, eseguiamo l'interpolazione lineare lungo l'asse x. Questo porta a

    {\displaystyle {\begin{aligned}f(x,y_{1})={\frac {x_{2}-x}{x_{2}-x_{1}}}f(Q_{11})+{\frac {x-x_{1}}{x_{2}-x_{1}}}f(Q_{21}),\\f(x,y_{2})={\frac {x_{2}-x}{x_{2}-x_{1}}}f(Q_{12})+{\frac {x-x_{1}}{x_{2}-x_{1}}}f(Q_{22}).\end{aligned}}}

    Interpoliamo quindi lungo l'asse delle ordinate per acquisire la stima appropriata:

    {\displaystyle {\begin{aligned}f(x,y)&={\frac {y_{2}-y}{y_{2}-y_{1}}}f(x,y_{1})+{\frac {y-y_{1}}{y_{2}-y_{1}}}f(x,y_{2})\\&={\frac {y_{2}-y}{y_{2}-y_{1}}}\left({\frac {x_{2}-x}{x_{2}-x_{1}}}f(Q_{11})+{\frac {x-x_{1}}{x_{2}-x_{1}}}f(Q_{21})\right)+{\frac {y-y_{1}}{y_{2}-y_{1}}}\left({\frac {x_{2}-x}{x_{2}-x_{1}}}f(Q_{12})+{\frac {x-x_{1}}{x_{2}-x_{1}}}f(Q_{22})\right)\\&={\frac {1}{(x_{2}-x_{1})(y_{2}-y_{1})}}\left(f(Q_{11})(x_{2}-x)(y_{2}-y)+f(Q_{21})(x-x_{1})(y_{2}-y)+f(Q_{12})(x_{2}-x)(y-y_{1})+f(Q_{22})(x-x_{1})(y-y_{1})\right)\\&={\frac {1}{(x_{2}-x_{1})(y_{2}-y_{1})}}{\begin{bmatrix}x_{2}-x&x-x_{1}\end{bmatrix}}{\begin{bmatrix}f(Q_{11})&f(Q_{12})\\f(Q_{21})&f(Q_{22})\end{bmatrix}}{\begin{bmatrix}y_{2}-y\\y-y_{1}\end{bmatrix}}.\end{aligned}}}

    Si noti che il risultato è identico se l'interpolazione viene eseguita prima lungo la direzione y e poi lungo la direzione x.

    In alternativa, la soluzione del problema di interpolazione può essere espressa come un polinomio multilineare.

    {\displaystyle f(x,y)\approx a_{00}+a_{10}x+a_{01}y+a_{11}xy,}

    dove i coefficienti sono determinati tramite soluzione di sistema lineare

    {\displaystyle {\begin{aligned}{\begin{bmatrix}1&x_{1}&y_{1}&x_{1}y_{1}\\1&x_{1}&y_{2}&x_{1}y_{2}\\1&x_{2}&y_{1}&x_{2}y_{1}\\1&x_{2}&y_{2}&x_{2}y_{2}\end{bmatrix}}{\begin{bmatrix}a_{00}\\a_{10}\\a_{01}\\a_{11}\end{bmatrix}}={\begin{bmatrix}f(Q_{11})\\f(Q_{12})\\f(Q_{21})\\f(Q_{22})\end{bmatrix}},\end{aligned}}}

    Produrre il risultato

    {\displaystyle {\begin{aligned}{\begin{bmatrix}a_{00}\\a_{10}\\a_{01}\\a_{11}\end{bmatrix}}={\frac {1}{(x_{2}-x_{1})(y_{2}-y_{1})}}{\begin{bmatrix}x_{2}y_{2}&-x_{2}y_{1}&-x_{1}y_{2}&x_{1}y_{1}\\-y_{2}&y_{1}&y_{2}&-y_{1}\\-x_{2}&x_{2}&x_{1}&-x_{1}\\1&-1&-1&1\end{bmatrix}}{\begin{bmatrix}f(Q_{11})\\f(Q_{12})\\f(Q_{21})\\f(Q_{22})\end{bmatrix}}.\end{aligned}}}

    La risposta può anche essere espressa come media ponderata dei valori f (Q):

    {\displaystyle f(x,y)\approx w_{11}f(Q_{11})+w_{12}f(Q_{12})+w_{21}f(Q_{21})+w_{22}f(Q_{22}),}

    Se la somma dei pesi è 1 e il sistema lineare trasposto è soddisfatto

    {\displaystyle {\begin{bmatrix}1&1&1&1\\x_{1}&x_{1}&x_{2}&x_{2}\\y_{1}&y_{2}&y_{1}&y_{2}\\x_{1}y_{1}&x_{1}y_{2}&x_{2}y_{1}&x_{2}y_{2}\end{bmatrix}}{\begin{bmatrix}w_{11}\\w_{12}\\w_{21}\\w_{22}\end{bmatrix}}={\begin{bmatrix}1\\x\\y\\xy\end{bmatrix}},}

    Produrre il risultato

    {\displaystyle {\begin{aligned}{\begin{bmatrix}w_{11}\\w_{21}\\w_{12}\\w_{22}\end{bmatrix}}={\frac {1}{(x_{2}-x_{1})(y_{2}-y_{1})}}{\begin{bmatrix}x_{2}y_{2}&-y_{2}&-x_{2}&1\\-x_{2}y_{1}&y_{1}&x_{2}&-1\\-x_{1}y_{2}&y_{2}&x_{1}&-1\\x_{1}y_{1}&-y_{1}&-x_{1}&1\end{bmatrix}}{\begin{bmatrix}1\\x\\y\\xy\end{bmatrix}},\end{aligned}}}

    che semplifica a

    {\displaystyle {\begin{aligned}w_{11}&=(x_{2}-x)(y_{2}-y)/((x_{2}-x_{1})(y_{2}-y_{1})),\\w_{12}&=(x_{2}-x)(y-y_{1})/((x_{2}-x_{1})(y_{2}-y_{1})),\\w_{21}&=(x-x_{1})(y_{2}-y)/((x_{2}-x_{1})(y_{2}-y_{1})),\\w_{22}&=(x-x_{1})(y-y_{1})/((x_{2}-x_{1})(y_{2}-y_{1})),\end{aligned}}}

    coerente con il risultato di un'interpolazione lineare successiva. L'insieme di pesi può anche essere interpretato come un insieme di coordinate baricentriche per un rettangolo che sono state generalizzate.

    Considerando quanto sopra, abbiamo

    {\displaystyle {\begin{aligned}f(x,y)\approx {\frac {1}{(x_{2}-x_{1})(y_{2}-y_{1})}}{\begin{bmatrix}f(Q_{11})&f(Q_{12})&f(Q_{21})&f(Q_{22})\end{bmatrix}}{\begin{bmatrix}x_{2}y_{2}&-y_{2}&-x_{2}&1\\-x_{2}y_{1}&y_{1}&x_{2}&-1\\-x_{1}y_{2}&y_{2}&x_{1}&-1\\x_{1}y_{1}&-y_{1}&-x_{1}&1\end{bmatrix}}{\begin{bmatrix}1\\x\\y\\xy\end{bmatrix}}.\end{aligned}}}

    Se le quattro posizioni in cui f è nota sono (0, 0), (1, 0), (0, 1) e (1, 1), allora la formula di interpolazione si riduce a

    {\displaystyle 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,}

    Di conseguenza, nelle operazioni matriciali:

    {\displaystyle 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}}.}

    Inoltre, riconosciamo che i pesi:

    {\displaystyle {\begin{aligned}w_{11}&=(1-x)(1-y),\\w_{12}&=(1-x)y,\\w_{21}&=x(1-y),\\w_{22}&=xy.\end{aligned}}}

    In alternativa, l'interpolante quadrato unitario può essere espresso come

    {\displaystyle f(x,y)=a_{00}+a_{10}x+a_{01}y+a_{11}xy,}

    dove

    {\displaystyle {\begin{aligned}a_{00}&=f(0,0),\\a_{10}&=f(1,0)-f(0,0),\\a_{01}&=f(0,1)-f(0,0),\\a_{11}&=f(1,1)-f(1,0)-f(0,1)+f(0,0).\end{aligned}}}

    Quattro costanti corrispondono al numero di punti dati in cui f è dato in entrambi i casi.

    Come suggerisce il nome, l'interpolante bilineare non è lineare; Ciononostante, è lineare (cioè affine) lungo linee parallele all'asse X o Y, se X o Y è mantenuto costante. L'interpolante lungo qualsiasi altra retta è quadratico. Anche se l'interpolazione non è lineare nella posizione (x e y), i valori di interpolazione sono lineari in un punto fisso, come mostrato nei calcoli (matrici) precedenti.

    L'interpolazione bilineare produce lo stesso risultato indipendentemente dall'asse interpolato per primo e da quello interpolato per secondo. Se avessimo eseguito l'interpolazione lineare nella direzione y prima della direzione x, l'approssimazione risultante sarebbe stata la stessa.

    L'interpolazione viene eseguita utilizzando un polinomio bilineare, soddisfa anche l'equazione di Laplace per una funzione armonica.

    Il suo grafico è una patch di superficie di Bézier bilineare.

    L'interpolazione non è invertibile perché l'interpolante assume un qualsiasi valore (all'interno del guscio convesso dei valori dei vertici) in un numero infinito di punti (creando rami di iperboli).

    Quando l'interpolazione bilineare viene utilizzata contemporaneamente a due funzioni, ad esempio quando si interpola un campo vettoriale, l'interpolazione è invertibile (in determinate condizioni). In particolare, questa inversa può essere utilizzata per determinare le coordinate quadrate unitarie di un punto situato all'interno di un qualsiasi quadrilatero convesso (considerando le coordinate del quadrilatero come un campo vettoriale interpolato bilinearmente sul quadrato unitario). Utilizzando questo metodo, l'interpolazione bilineare può essere applicata a qualsiasi quadrilatero convesso, tuttavia il calcolo è sostanzialmente più difficile se il quadrilatero non è un parallelogramma. La trasformazione bilineare, la deformazione bilineare o la distorsione bilineare descrivono la mappa risultante tra i quadrilateri.

    Un'alternativa è quella di impiegare una mappatura proiettiva tra un quadrilatero e il quadrato unitario, ma l'interpolante risultante non sarà bilineare.

    Quando il quadrilatero è un parallelogramma, esiste una mappatura lineare al quadrato unitario, e la generalizzazione segue semplicemente.

    L'interpolazione

    Ti è piaciuta l'anteprima?
    Pagina 1 di 1