# Codifica immagini

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

L'immagine è suddivisa in pixel

![](/files/-LzIR9r6VvFbtOB_so--)

Ad ogni pixel associamo una rappresentazione binaria

![](/files/-LzISF9aYW3CZ9SNwnQ2)

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

### 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​​

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

### 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


---

# 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/tecnologie2/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.
