Come leggere embed da anteprima immagini JPEG?

voti
4

Sto scrivendo un visualizzatore di miniature in C ++.

Ho utilizzare le informazioni EXIF ​​per retrive miniatura di un'immagine, ma la miniatura nella EXIF ​​è male, con le bande nere. Quindi voglio ottenere miniatura incorporato della jpeg, come posso fare questo?

Un'altra domanda: non miniature embeded di jpeg exif pari a thumbnial?

È pubblicato 25/08/2009 alle 02:36
fonte dall'utente
In altre lingue...                            


4 risposte

voti
6

Se la miniatura EXIF ​​è male, è possibile generare il proprio dal JPEG in sé, senza la necessità di decodificare completamente il JPEG.

Cercare il codice sorgente per Epeg . E 'parte del progetto illuminista su SourceForge, e faceva parte del vecchio EFL di un anno fa. Si può ancora scavare in su da qualche vecchio SVN commit o da un tarball sorgente che potrebbe essere galleggianti intorno.

Fondamentalmente, ciò fa Epeg, è raccoglie i coefficienti DCT dall'immagine, ed esegue un'operazione di ridimensionamento su di essi. Il coefficiente DCT viene normalmente utilizzato come coefficiente di base per un blocco 8x8 di pixel. È possibile trattarlo come un pixel. Di conseguenza, si ha un (computazionalmente gratuito) thumbnail esattamente 1 / 8th la dimensione dell'immagine originale. Ridimensionare come si farebbe con qualsiasi dati di immagine per le dimensioni desiderate.

Risposto il 25/08/2009 a 02:48
fonte dall'utente

voti
2

Nella maggior parte dei casi in cui la gente parla di file JPEG avere miniature, significano il file è JPEG-EXIF ei dati EXIF ​​contiene una miniatura.

Tuttavia, è vero che JFIF 1.02 supporta una miniatura. La miniatura può essere conservato nel marcatore JFIF APP0 o un indicatore ufficiale estensione JFXX APP0; La miniatura può essere compresso RGB, JPEG o palletted. Vedere http://en.wikipedia.org/wiki/JPEG_File_Interchange_Format#JFIF_segment_format per i dettagli.

Risposto il 31/12/2011 a 20:36
fonte dall'utente

voti
0

Il modo più veloce e consigliati sono librerie.

Per esempio www.exiv2.org in grado di fornire con la libreria per miniature embedded e informazioni EXIF ​​estrazione. C'è un sacco di alternative, ma credo che questa è una buona soluzione.

Risposto il 25/08/2009 a 02:44
fonte dall'utente

voti
-1

www.exiv2.org ai miei occhi è una cattiva soluzione. Ci sono troppe dipendenze ad altri progetti. Expat e zlib per esempio. Se si vuole trovare una soluzione leggera che si può sostenere da soli, io consiglierei di scrivere il proprio decoder EXIF.

Risposto il 22/06/2010 a 11:02
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more