Codifica immagini
Last updated
Last updated
L'immagine è suddivisa in pixel
Ad ogni pixel associamo una rappresentazione binaria
Assegnando un bit ad ogni pixel si possono rappresentare solo immagini in bianco e nero
Per rappresentare immagini a diversi livelli di grigio o a colori: a ogni pixel `e associata una sequenza di bit
con 8 bit per pixel: 2^8 = 256 livelli di grigio
con 24 bit per pixel: 2^24 = 16777216, 16.7 milioni di colori
Nei monitor è utilizzato lo standard RGB: ogni colore è ottenuto mescolando tre diverse gradazioni dei colori primari (rosso, verde e blu)
Per ogni pixel bisogna specificare quali sono i livelli dei tre colori.
Esempio: un byte per ogni livello. Un pixel `è rappresentato con 24 bit (3 byte).
Risoluzione: numero di pixel presenti sullo schermo (800 × 600, 1024 × 768, 1600 × 1200)
Domanda: quanti byte occupa un’immagine di 100 × 100 pixel in bianco e nero?
Risposta: l’immagine è composta da 100 × 100 = 10.000 pixel. Per ogni pixel, in bianco e nero, serve 1 bit quindi servono in totale 10.000 bit e cioè 10000/8 = 1250 byte.
Domanda: quanti byte occupa un’immagine di 100 x 100 pixel a 256 colori?
Risposta: l’immagine `e composta da 10.000 pixel. Per ogni pixel, con 256 colori, serve 1 byte (8 bit), quindi servono in totale 10.000 byte.
Domanda: se un’immagine a 16,7 milioni di colori occupa 2400 byte, da quanti pixel sarà composta?
Risposta: con 16,7 milioni di colori un pixel occupa 3 byte, quindi l’immagine occupa 2400/3 = 800 pixel.
Immagini bitmap
rappresentate pixel per pixel
tipicamente in file con estensione .bmp
hanno elevate dimensioni
Immagini bitmap compresse
GIF
(Graphics Interchange Format), JPEG
(Joint Photographic Experts Group)
Per esempio, se k pixel lungo la stessa riga hanno lo stesso colore, si memorizza il colore una volta sola e il numero k
Immagini vettoriali
sono rappresentate specificando gli elementi geometrici (punti, segmenti, poligoni,. . . ) che le compongono
SVG (Scalable Vector Graphics)
dimensioni ridotte
Di solito si usano i multipli del byte
Kilo
KB
2^10 (circa un migliaio, 1024)
Mega
MB
2^20 (circa un milione, 1KB * 1024)
Giga
GB
2^30 (circa un miliardo, 1MB * 1024)
Tera
TB
2^40 (circe un migliaio di miliardi, 1GB * 1024)