2011-01-24 11 views
8

Ho alcune immagini da ruotare. Devo ruotarli (ognuno con un'angolazione diversa) con il minor numero possibile di artefatti dell'immagine (ad esempio sfocatura) che si verificano durante la rotazione dell'immagine (a causa dell'interpolazione).Quale interpolazione è ottimale per la rotazione dell'immagine?

Al momento ho GIMP 2.6 che dispone di interpolazioni Cubic e Sinc (Lanczos3) disponibili per la rotazione dell'immagine. Non sono sicuro quale sia migliore e introduce meno artefatti? Quali sono i suoi svantaggi, se ce ne sono?

Inoltre, c'è qualche altro software (ad esempio un plugin per Photoshop o gimp) o qualche script per Matlab che può fornire rotazioni di immagine pressoché perfette (ad esempio utilizzando un algoritmo di interpolazione migliore di quelli disponibili in GIMP)?

Molte grazie in anticipo.

+1

Lanczos3 fornisce spesso i migliori risultati perché è un'approssimazione più ravvicinata per il filtro livellatore ideale (in un certo senso teorico). –

+0

@Mr Fooz. Grazie. Ho anche trovato un processore di immagini SAR (general-cathexis.com) che ruota le immagini usando Lanczos in poche iterazioni per migliorare la qualità della rotazione. Suppongo che sia migliore di quello di GIMP. – Marcin

risposta

5

Ricordo di aver visto un confronto tra diversi algoritmi di interpolazione che era abbastanza intelligente - l'immagine è stata ruotata ripetutamente da un angolo fisso finché non è stata ruotata fino a 360 gradi. Eventuali artefatti o sfocature erano immediatamente evidenti e l'immagine poteva essere confrontata direttamente con l'originale. Edit: Trovato il legame - http://www.all-in-one.ee/~dersch/interpolator/interpolator.html

Si prega di non pensare che Lanczos è lo stesso di Sinc - sono collegate, ma Lanczos scambia una certa precisione per facilità di calcolo.

+0

Grazie. Confronti simili che ho trovato su http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=816070. Confrontano molti algoritmi di interpolazione su immagini mediche. – Marcin

+0

@Marcin, grazie per il link - sembra un gradino sopra quello che ho trovato. Purtroppo non ho un abbonamento IEEE. –

+0

@ Mark Ransom. Lo stesso articolo ho trovato anche qui: http://ee.sharif.edu/~miap/Files/Survey-%20Interpolation%20Methods%20in%20Medical%20Image%20Processing.pdf – Marcin

3

Un altro approccio alla rotazione dell'immagine consiste nell'applicare due operazioni di taglio. Vedere i dettagli in "Un algoritmo rapido per la rotazione raster generale" di Alan W. Paeth (si possono trovare nel popolare libro “Graphics Gems I” nel capitolo 3 parte 6 o here). Per quanto ho capito, questo metodo produce immagini molto nitide.

ImageMagick's -rotate è implementato in questo modo. Quindi puoi confrontare i suoi risultati con il metodo di rotazione diretta.

+0

Grazie. Darei un'occhiata a rotazione. Ho anche trovato un processore di immagini SAR (http://www.general-cathexis.com/) che ruota le immagini usando Lanczos in poche iterazioni per migliorare la qualità della rotazione. – Marcin

Problemi correlati