Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Jpeg e metadata

Ciao a tutti,
ho provato a cercare su google ed in reta ma senza risultato... nemmeno
su Wotsit ho trovato grandi aiuti (ma forse lì ho dato un'occhiata
troppo frettolosa)...
Nell'intestazione delle Jpeg vengono memorizzate alcune informazioni,
variabili a seconda dell'immagine: quelle scattate da una fotocamera
digitale, ad esempio, includono il modello della fotocamera, le
impostazioni, l'apertura del diaframma, la velocità dell'otturatore, la
sensibilità della pellicola, la data e l'ora dello scatto, la
compressione, ed altre informazioni. Un esempio lo si può avere
visualizzando le proprietà della foto con una versione recente di
ACDSee.
Ebbene, io vorrei scoprire dove esattamente vengono memorizzate queste
info (a che byte trovo cosa): qualcuno di voi ha qualche idea a
proposito?
TIA.
Ciao,
Moreno
-- 
sirri at morenosoft dot com
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

 ha scritto

ok, quelle alle mie.
quelle alle tue, moreno, forse qui sotto:
http://www.jpeg.org/
io ci darei un'occhiata...
-- <--- qui oe mette uno spazio dopo il trattino. andra' bene ?
ciao, j.peg
www.sundaysw.com


Struttura dell'header jpeg:
----BEGIN----
Start of Image (SOI) marker -- two bytes (FFD8)
JFIF marker (FFE0)
 length -- two bytes
 identifier -- five bytes: 4A, 46, 49, 46, 00 (the ASCII code equivalent of
a zero terminated "JFIF" string)
 version -- two bytes: often 01, 02 the most significant byte is used for
major revisions
 the least significant byte for minor revisions
 units -- one byte: Units for the X and Y densities 0 => no units, X and Y
specify the pixel aspect ratio
 1 => X and Y are dots per inch
 2 => X and Y are dots per cm
 Xdensity -- two bytes
 Ydensity -- two bytes
 Xthumbnail -- one byte: 0 = no thumbnail
 Ythumbnail -- one byte: 0 = no thumbnail
 (RGB)n -- 3n bytes: packed (24-bit) RGB values for the thumbnail pixels, n
= Xthumbnail * Ythumbnail
Define Quantization table marker (FFDB)
 the first two bytes, the length, after the marker indicate the number of
bytes, including the two length bytes, that this header contains
 until the length is exhausted (loads two quantization tables for baseline
JPEG) the precision and the quantization table index -- one byte: precision
is specified by the higher four bits and index is specified by the lower
four bits precision in this case is either 0 or 1 and indicates the
precision of the quantized values; 8-bit (baseline) for 0 and  up to 16-bit
for 1
 the quantization values -- 64 bytes the quantization tables are stored in
zigzag format
Define Huffman table marker (FFC4)
 the first two bytes, the length, after the marker indicate the number of
bytes, including the two length bytes, that this header contains
 until length is exhausted (usually four Huffman tables) index -- one byte:
if >15 (i.e. 0x10 or more) then an AC table, otherwise a DC table
 bits -- 16 bytes
 Huffman values -- # of bytes = the sum of the previous 16 bytes
Start of frame marker (FFC0)
 the first two bytes, the length, after the marker indicate the number of
bytes, including the two length bytes, that this header contains
 P -- one byte: sample precision in bits (usually 8, for baseline JPEG)
 Y -- two bytes
 X -- two bytes
 Nf -- one byte: the number of components in the image 3 for color baseline
JPEG images
 1 for grayscale baseline JPEG images
 Nf times: Component ID -- one byte
 H and V sampling factors -- one byte: H is first four bits and V is second
four bits
 Quantization table number-- one byte
The H and V sampling factors dictate the final size of the component they
are associated with. For instance, the color space defaults to YCbCr and the
H and V sampling factors for each component, Y, Cb, and Cr, default to 2, 1,
and 1, respectively (2 for both H and V of the Y component, etc.) in the
Jpeg-6a library by the Independent Jpeg Group. While this does mean that the
Y component will be twice the size of the other two components--giving it a
higher resolution, the lower resolution components are quartered in size
during compression in order to achieve this difference. Thus, the Cb and Cr
components must be quadrupled in size during decompression.
Start of Scan marker (FFDA)
 the first two bytes, the length, after the marker indicate the number of
bytes, including the two length bytes, that this header contains
 Number of components, n -- one byte: the number of components in this scan
 n times: Component ID -- one byte
 DC and AC table numbers -- one byte: DC # is first four bits and AC # is
last four bits
 Ss -- one byte
 Se -- one byte
 Ah and Al -- one byte
Comment marker (FFFE)
 the first two bytes, the length, after the marker indicate the number of
bytes, including the two length bytes, that this header contains
 whatever the user wants
End of Image (EOI) marker (FFD9)
 the very last marker
-----END STRUCT-----
Maggiori info qui:
"Extracting IPTC header information from JPEG images"
http://www.codeproject.com/bitmap/iptc.asp
ciao
ugo

proposito?
Grazie ad ugo e pal. Ho utilizzato i vostri link come rampa di lancio ed
ho trovato la soluzione:
http://www.ba.wakwak.com/%7etsuruzoh/Computer/Digicams/exif-e.html
o adirittura:
http://www.pima.net/standards/it10/PIMA15740/Exif_2-1.PDF
Usavo chiavi di ricerca sbagliate.... vabbé.... grazie ancora!!! :-P


 -- <--- qui oe mette uno spazio dopo il trattino. andra' bene ?
Deve farlo. Ma non ci deve essere nient'altro, dopo.
Bye, G.
--
Son giunto alla conclusione che, almeno una volta nella vita, bisogna
usare Windows a fondo, perche' e' un'esperienza che rende uomini.
Almeno, io, dopo, ho sempre due palle cosi'.
Leonardo Serni

 writes:
j> -- <--- qui oe mette uno spazio dopo il trattino. andra' bene ?
j> ciao, j.peg
j> 
www.sundaysw.com
Non  so  se  e`  uno  standard  o una  convenzione,  ma  --  <EOL>  e`
l'indicazione di fine lettera  ed inizio signature. <EOL> puo` variare
a seconda del S.O, sotto Windows e` CR LF.
-- 
Gian  | main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Uberto|                        David Korn, 1987 ioccc best one liner 
Lauri |-------------------------------------------------------------------
(aka saint) >>Vedere X-Nospam nell'header - See X-Nospam field in Header<<

Leonardo Serni
ROTFL
Leonardo e' un grande :-)

 Leonardo e' un grande :-)
Se non stiamo attenti diventa un "fenomeno di costume" e ce lo rovinano.
Ma, intanto:
http://digilander.iol.it/ebassi/serni-fortune.20010926-1.tar.gz
Fidati...
Bye, G.