Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare
Di Fouad Sabry
()
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.
Correlato a Interpolazione bilineare
Titoli di questa serie (100)
Equalizzazione dell'istogramma: Miglioramento del contrasto dell'immagine per una migliore percezione visiva Valutazione: 0 su 5 stelle0 valutazioniVisione computerizzata: Esplorare le profondità della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRiduzione del rumore: Miglioramento della chiarezza, tecniche avanzate per la riduzione del rumore nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformata del radon: Svelare modelli nascosti nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniMappatura dei toni: Mappatura dei toni: prospettive illuminanti nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniDiffusione anisotropa: Miglioramento dell'analisi delle immagini attraverso la diffusione anisotropa Valutazione: 0 su 5 stelle0 valutazioniRetinex: Svelare i segreti della visione computazionale con Retinex Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di Hough: Svelare la magia della trasformazione di Hough nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniSistema di gestione del colore: Ottimizzazione della percezione visiva negli ambienti digitali Valutazione: 0 su 5 stelle0 valutazioniVisione artificiale subacquea: Esplorando le profondità della visione artificiale sotto le onde Valutazione: 0 su 5 stelle0 valutazioniCorrezione gamma: Migliorare la chiarezza visiva nella visione artificiale: la tecnica di correzione gamma Valutazione: 0 su 5 stelle0 valutazioniModello di aspetto del colore: Comprendere la percezione e la rappresentazione nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniOmografia: Omografia: trasformazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniVisione stereoscopica del computer: Esplorare la percezione della profondità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniScala dello spazio: Esplorare le dimensioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniGruppo congiunto di esperti fotografici: Sfruttare la potenza dei dati visivi con lo standard JPEG Valutazione: 0 su 5 stelle0 valutazioniFunzione di corrispondenza dei colori: Comprendere la sensibilità spettrale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRidipintura: Colmare le lacune nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniIstogramma dell'immagine: Svelare intuizioni visive, esplorare le profondità degli istogrammi delle immagini nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniConsenso del campione casuale: Stima robusta nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRilevatore di bordi astuto: Svelare l'arte della percezione visiva Valutazione: 0 su 5 stelle0 valutazioniModello a colori: Comprendere lo spettro della visione artificiale: esplorare i modelli di colore Valutazione: 0 su 5 stelle0 valutazioniSpazio colore: Esplorare lo spettro della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniStima della posa del corpo articolato: Sbloccare il movimento umano nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMappatura dei colori: Esplorare la percezione visiva e l'analisi nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRilevamento delle macchie: Scoprire modelli nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniCompressione delle immagini: Tecniche efficienti per l'ottimizzazione dei dati visivi Valutazione: 0 su 5 stelle0 valutazioniProfilo colore: Esplorare la percezione visiva e l'analisi nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione affine: Sbloccare le prospettive visive: esplorare la trasformazione affine nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di feature invarianti di scala: Svelare il potere della trasformazione delle caratteristiche invarianti su scala nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioni
Ebook correlati
Algoritmo della linea di Bresenham: Rendering delle linee efficiente e pixel perfetto per la visione artificiale Valutazione: 0 su 5 stelle0 valutazioniComputer grafica bidimensionale: Esplorazione del regno visivo: computer grafica bidimensionale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione affine: Sbloccare le prospettive visive: esplorare la trasformazione affine nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMetodo di impostazione del livello: Avanzamento della visione artificiale, esplorazione del metodo dell'impostazione dei livelli Valutazione: 0 su 5 stelle0 valutazioniTrasformazione lineare diretta: Applicazioni pratiche e tecniche nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniComputer grafica della radiosità: Avanzamento della visualizzazione attraverso la radiosità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniModellazione e rendering basati su immagini: Esplorare il realismo visivo: tecniche di visione artificiale Valutazione: 0 su 5 stelle0 valutazioniOmografia: Omografia: trasformazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTensore trifocale: Esplorare la profondità, il movimento e la struttura nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniEsercizi svolti di Matematica: Geometria Analitica Valutazione: 0 su 5 stelle0 valutazioniCorrelazione incrociata: Sbloccare i modelli nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniHashing geometrico: Algoritmi efficienti per il riconoscimento e la corrispondenza delle immagini Valutazione: 0 su 5 stelle0 valutazioniEqualizzazione dell'istogramma: Miglioramento del contrasto dell'immagine per una migliore percezione visiva Valutazione: 0 su 5 stelle0 valutazioniAlgoritmo di disegno di linee: Padroneggiare le tecniche per il rendering di immagini di precisione Valutazione: 0 su 5 stelle0 valutazioniRegolazione del pacchetto: Ottimizzazione dei dati visivi per una ricostruzione precisa Valutazione: 0 su 5 stelle0 valutazioniEsercizi Svolti di Matematica: Integrali Doppi Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: analisi numerica Valutazione: 0 su 5 stelle0 valutazioniTrasformata del radon: Svelare modelli nascosti nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniPartizionamento binario dello spazio: Esplorazione del partizionamento binario dello spazio: fondamenti e applicazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMosaicazione di documenti: Sbloccare intuizioni visive attraverso il mosaico di documenti Valutazione: 0 su 5 stelle0 valutazioniLe quadrature numeriche Valutazione: 0 su 5 stelle0 valutazioniModello di fotocamera stenopeica: Comprendere la prospettiva attraverso l'ottica computazionale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di Hough: Svelare la magia della trasformazione di Hough nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMatematica: geometria analitica Valutazione: 5 su 5 stelle5/5Punto di fuga: Esplorare i limiti della visione: approfondimenti dall'informatica Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: studio di funzioni a variabile reale Valutazione: 0 su 5 stelle0 valutazioniEsercizi svolti di Matematica: Vettori Valutazione: 0 su 5 stelle0 valutazioniAnalisi matematica avanzata Valutazione: 5 su 5 stelle5/5Esercizi di matematica: geometria analitica avanzata Valutazione: 0 su 5 stelle0 valutazioniComputer grafica di vertice: Esplorando l'intersezione tra la computer grafica di vertice e la visione artificiale Valutazione: 0 su 5 stelle0 valutazioni
Intelligenza artificiale e semantica per voi
Il Terzo Like Valutazione: 0 su 5 stelle0 valutazioniGuida Intelligenza Artificiale Valutazione: 0 su 5 stelle0 valutazioniANonniMus: Vecchi rivoluzionari contro giovani robot Valutazione: 0 su 5 stelle0 valutazioni
Recensioni su Interpolazione bilineare
0 valutazioni0 recensioni
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