Resumé

Miglioramenti alla Distorsione delle Immagini

Cristian Merighi () 5,00

Grazie ai contributi di Luke Jackson e Gilberto Carcano, posso pubblicare alcune migliorie apportate all'algoritmo e al processo di distorsione delle immagini. Sempre utilizzando le API GDI+ del .NET Framework.
Questo articolo è da considerarsi obsoleto. Alcune funzionalità potrebbero non essere più disponibili e non è possibile aggiungere commenti.

Ciao a tutti, scrivo questo articolo per riportare feedbacks e aggiustamenti proposti da alcuni sviluppatori interessatisi al mio post sulla distorsione delle immagini utilizzando GDI+ ed il relativo algoritmo.

Ho davvero apprezzato i contributi da parte di Luke Jackson della Lateral e di Gilberto Carcano (brillante ed appassionato connazionale).

Luke Jackson:
ha migliorato il processo di rendering dell'immagine tramite una procedura di interpolazione bilineare.
Voglio riportare una parte della e-mail che mi spedì a suo tempo:
«...I have adapted your code to create 3D-style book covers for a website I am currently building. I have made some changes which you may be interested in:
1. the code does not produce a mirror image when drawing to an area outside of ABCD. therefore you don't need to mask them out after the loop.
2. the code uses bilinear interpolation when setting the value of the pixel. e.g. (0.2, 0.8) will do a weighted average of source pixels (0,0), (0, 1), (1, 0), (1, 1) instead of taking the pixel (0, 1) only.
3. the code uses alpha transparency around the edges of the image, to remove the jagged lines, and also allow the image to be placed over a background.
4. i fixed getintersection which would return a non-null point (with one of the coordinates set to + or - infinity) when two lines did not intersect...»


Qui il link al suo distortion-enhanced website.

Gilberto Carcano:
mi ha recentemente proposto un algoritmo più appropriato - leggi "corretto" - (vedi qui come riferimento), il quale proietta l'immagine originale sul quadrilatero distorto rispettando le leggi geometriche della prospettiva.
Mooolto apprezzato...

Vediamo i risultati:

Versione originale:
original
Versione di Luke:
interpolated
Versione di Gilberto:
warped

Infine, le righe di codice gentilmente inviatemi e di cui, ovviamente, faccio tutti partecipi:

zip file « contributo di Luke (versione VB.Net inclusa)
zip file « contributo di Gilberto

Take care. Bye.

Feedbacks

  • Re: Image Distortion Enhancements

    Josh martedì 1 settembre 2009 5,00

    Wonderful work! Is it possible to use Gilberto's code to distort an image? The example source draws lines, and I've tried to modify it to skew an image but it only works in part. Thanks again for your great work. Superb site by the way!

feedback
 

Syndicate

Autore

Cristian Merighi facebook twitter google+ youtube

Ultimi articoli

Top rated

Archivio

Dove sono?

Autore

Cristian Merighi facebook twitter google+ youtube

Le mie letture

Feeds