# Codifica immagini e unità misura

### Rappresentazione delle immagini <a href="#rappresentazione-delle-immagini" id="rappresentazione-delle-immagini"></a>

L'immagine è suddivisa in pixel

![](/files/-LzIDRehaYk4r0ofwqhc)

Ad ogni pixel associamo una rappresentazione binaria

![](/files/-LzIGFH81WKQ11xa3Dea)

* 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).

### Rappresentazione RGB (Red, Green, Blue)

La retina dell'occhio umano ha cellule a forma di bastoncino, sensibili alla luce, e cellule a cono di tre tipi: sensibili alla luce rossa, alla verde e alla luce blu. Quindi ecco perché i tre colori primari: Rosso (RED), Verde (GREEN) e Blu (Blue) o RGB. Tutti i colori visibili sono dovuti all'eccitazione a vari livelli di questi tre tipi di cellule.

![](/files/-LzQrorhj7KKKyXt289F)

{% embed url="<http://cs.wellesley.edu/~cs110/scott/L09-JS-events/slider-scott-v5b.html>" %}

In RGB ogni colore è rappresentato come un punto all'interno del cubo dei colori con assi ortogonali R, G, B.

![](/files/-LzR6FBDEjFqLIVFr77q)

Da notare che i livelli di grigio sono sulla diagonale del cubo che congiunge il bianco con il colore nero, lungo la linea, r = g = b.

### Risoluzione <a href="#esercizio-1" id="esercizio-1"></a>

La risoluzione è un attributo di una bitmap che è necessario per vedere o stampare un'immagine perché di per sé i pixel non hanno una dimensione fissa. La risoluzione è stabilita in pixel per *Inch* (indice = 2,54 cm circa).

Si parla di **DPI**, pixel per *Inch*.

Il concetto di risoluzione è indipendente dall'informazione contenuta nella bitmap, data una certa profondità di colore (numero di bit utilizzati per esprimere il colore di un pixel) e il numero dei pixel in orizzontale e verticale. La qualità, quando l'immagine è mostrata o stampata dipende dalla risoluzione. Poiché la risoluzione determina la dimensione dei pixel, modifica anche la dimensione dell'immagine.

![Stessa immagine con risoluzioni differenti](/files/-LzR0ZBBwVwNu8t-h4QE)

Quando un'immagine è mostrata sul monitor di un computer, la risoluzione è importante. Molti monitor di computer hanno una risoluzione che va da 60 DPI per risoluzioni basse a 120 DPI per risoluzioni alte. Per la stampa, più alta è la risoluzione e meno apparente sarà la natura a pixel della bitmap.

Come ulteriore esempio la due seguenti immagini sono identiche nel contenuto di informazione, esse hanno differente risoluzione e quindi differente dimensione dei pixel. La più piccola è a 80 DPI e la più grande a 30 DPI. I pixel sono più evidenti nella versione grande.

![](/files/-LzR3auiYwDSsN8gUv-c)

Riferimento: [A Beginners Guide to Bitmaps](http://paulbourke.net/dataformats/bitmaps/).

### Esercizio 1 <a href="#esercizio-1" id="esercizio-1"></a>

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.

### Esercizio 2 <a href="#esercizio-2" id="esercizio-2"></a>

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.

### Esercizio 3 <a href="#esercizio-3" id="esercizio-3"></a>

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.

### Formato immagini <a href="#formato-immagini" id="formato-immagini"></a>

* 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

### Unità di misura <a href="#unita-di-misura" id="unita-di-misura"></a>

Di solito si usano i multipli del byte​​

|          |    |                                                   |
| -------- | -- | ------------------------------------------------- |
| KiloByte | KB | 2^10 (circa un migliaio, 1024)                    |
| MegaByte | MB | 2^20 (circa un milione, 1KB \* 1024)              |
| GigaByte | GB | 2^30 (circa un miliardo, 1MB \* 1024)             |
| TeraByte | TB | 2^40 (circe un migliaio di miliardi, 1GB \* 1024) |

### Esercizi conversioni <a href="#rappresentazione-di-video" id="rappresentazione-di-video"></a>

Esegui le seguenti equivalenze:&#x20;

a) 1240 byte = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ KB;

b) 1240 KB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ MB;

c) 4320 MB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ GB;

d) 4320 MB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ TB;

Esegui le seguenti equivalenze:

a) 12 KB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ byte;&#x20;

b) 24 MB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ KB;&#x20;

c) 43 MB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ byte;&#x20;

d) 13 TB = \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ GB;

### Rappresentazione di video <a href="#rappresentazione-di-video" id="rappresentazione-di-video"></a>

* Un filmato è una sequenza temporale di immagini, dette **frames**;
* Per rappresentare un filmato si digitalizzano i suoi **frames**;
* Vari formati
  * `.avi` (Audio Video Interleave, Microsoft)
  * `.mov` (anche detto QuickTime, Apple)
  * `.mpeg` (anche detto QuickTime, Apple)
  * DivX ;-)
* Compressione: rappresentare solo differenze tra frame successivi

### RIFERIMENTI

{% embed url="<https://cs.wellesley.edu/~cs110/reading/colors-and-images.html>?" %}

{% embed url="<https://www.sven.de/dpi/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://checksound.gitbook.io/tecnologie3/codifica-immagini.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
