Du skal have dekodet JPEG'en for at kunne lave histogram over farverne. At dekode en JPEG er ikke trivielt.
Der er en introducerende artikel om kompressionsteknikken her:
http://www.vectorsite.net/ttdcmp2.html#m4Under borrisholt's link finder du en specifikation af JFIF (JPEG File Interchange Format) som er det egentlige filformat af JPEG's. Her kan du læse hvordan du finder de enkelte datablokke i filen.
Dernæst er fremgangsmåden noget i retning af:
1) Hver lossless-enkodede frame dekodes vha. de særlige huffman og runlength tabeller, der enten er embedded i JPEG eller ligger fast via standarden (hvis de ikke er defineret i filen)
2) Invers DCT udføres på hver blok af hhv. chrominans og luminans.
3) Omdan 1-d elements output fra invers DCT til 8x8 makroblokke (luminans og chrominans idet du skal huske at chrominans kan være subsamplet).
4) Omsæt evt. til RGB colorspace, hvis du skal bruge det.
5) Billedet kan samles udfra de fundne makroblokke.