diff --git a/src/ens/rep-info/activ/index.md b/src/ens/rep-info/activ/index.md index 699fafee4..706e4d5dc 100644 --- a/src/ens/rep-info/activ/index.md +++ b/src/ens/rep-info/activ/index.md @@ -6,6 +6,7 @@ Page de description des séquences et activités disponibles pour cette thémati :maxdepth: 1 Magie binaire Images numériques +Images numériques - Variante Echantillonnage Compression et codage de Huffman ``` diff --git a/src/ens/rep-info/activ/media/E.png b/src/ens/rep-info/activ/media/E.png new file mode 100644 index 000000000..faa24558e Binary files /dev/null and b/src/ens/rep-info/activ/media/E.png differ diff --git a/src/ens/rep-info/activ/media/Logo 2.pdf b/src/ens/rep-info/activ/media/Logo 2.pdf new file mode 100644 index 000000000..32a62f2ba Binary files /dev/null and b/src/ens/rep-info/activ/media/Logo 2.pdf differ diff --git a/src/ens/rep-info/activ/media/Logo 3.pdf b/src/ens/rep-info/activ/media/Logo 3.pdf new file mode 100644 index 000000000..d73e5ba17 Binary files /dev/null and b/src/ens/rep-info/activ/media/Logo 3.pdf differ diff --git a/src/ens/rep-info/activ/media/Logo.pdf b/src/ens/rep-info/activ/media/Logo.pdf new file mode 100644 index 000000000..8560fe2c5 Binary files /dev/null and b/src/ens/rep-info/activ/media/Logo.pdf differ diff --git a/src/ens/rep-info/activ/media/choix_taille.png b/src/ens/rep-info/activ/media/choix_taille.png new file mode 100644 index 000000000..9f97e2f85 Binary files /dev/null and b/src/ens/rep-info/activ/media/choix_taille.png differ diff --git a/src/ens/rep-info/activ/media/degrade-diag.png b/src/ens/rep-info/activ/media/degrade-diag.png new file mode 100644 index 000000000..486af0274 Binary files /dev/null and b/src/ens/rep-info/activ/media/degrade-diag.png differ diff --git a/src/ens/rep-info/activ/media/degrade_bleu.png b/src/ens/rep-info/activ/media/degrade_bleu.png new file mode 100644 index 000000000..932e8cb7f Binary files /dev/null and b/src/ens/rep-info/activ/media/degrade_bleu.png differ diff --git a/src/ens/rep-info/activ/media/degrade_diag_2.png b/src/ens/rep-info/activ/media/degrade_diag_2.png new file mode 100644 index 000000000..144604c7b Binary files /dev/null and b/src/ens/rep-info/activ/media/degrade_diag_2.png differ diff --git a/src/ens/rep-info/activ/media/degrade_gris.png b/src/ens/rep-info/activ/media/degrade_gris.png new file mode 100644 index 000000000..dbe8e139a Binary files /dev/null and b/src/ens/rep-info/activ/media/degrade_gris.png differ diff --git a/src/ens/rep-info/activ/media/exemple1.png b/src/ens/rep-info/activ/media/exemple1.png new file mode 100644 index 000000000..a11cbac82 Binary files /dev/null and b/src/ens/rep-info/activ/media/exemple1.png differ diff --git a/src/ens/rep-info/activ/media/exemple2.png b/src/ens/rep-info/activ/media/exemple2.png new file mode 100644 index 000000000..f14c6a9aa Binary files /dev/null and b/src/ens/rep-info/activ/media/exemple2.png differ diff --git a/src/ens/rep-info/activ/media/exemple3.png b/src/ens/rep-info/activ/media/exemple3.png new file mode 100644 index 000000000..6a574283c Binary files /dev/null and b/src/ens/rep-info/activ/media/exemple3.png differ diff --git a/src/ens/rep-info/activ/media/france.png b/src/ens/rep-info/activ/media/france.png new file mode 100644 index 000000000..827a8040a Binary files /dev/null and b/src/ens/rep-info/activ/media/france.png differ diff --git a/src/ens/rep-info/activ/media/germany.png b/src/ens/rep-info/activ/media/germany.png new file mode 100644 index 000000000..ba061642a Binary files /dev/null and b/src/ens/rep-info/activ/media/germany.png differ diff --git a/src/ens/rep-info/activ/media/grilles.pdf b/src/ens/rep-info/activ/media/grilles.pdf new file mode 100644 index 000000000..72d174eb6 Binary files /dev/null and b/src/ens/rep-info/activ/media/grilles.pdf differ diff --git a/src/ens/rep-info/activ/media/ireland.png b/src/ens/rep-info/activ/media/ireland.png new file mode 100644 index 000000000..659b280d6 Binary files /dev/null and b/src/ens/rep-info/activ/media/ireland.png differ diff --git a/src/ens/rep-info/activ/media/logo.png b/src/ens/rep-info/activ/media/logo.png new file mode 100644 index 000000000..09fcf9062 Binary files /dev/null and b/src/ens/rep-info/activ/media/logo.png differ diff --git a/src/ens/rep-info/activ/media/swiss.png b/src/ens/rep-info/activ/media/swiss.png new file mode 100644 index 000000000..bd5c357a1 Binary files /dev/null and b/src/ens/rep-info/activ/media/swiss.png differ diff --git a/src/ens/rep-info/activ/numerisation_images_var.md b/src/ens/rep-info/activ/numerisation_images_var.md new file mode 100644 index 000000000..ffcf7eb32 --- /dev/null +++ b/src/ens/rep-info/activ/numerisation_images_var.md @@ -0,0 +1,216 @@ +(ens:repinfo:imagesnumeriquesvar)= +# Images Numériques + +La partie théorique consiste à visionner en premier la vidéo suivante: +[La numérisation des images](ens:repinfo:imagesnumeriquesvideo) + +Cette activité est une variante qui n'utilise pas de langage de programmation (Python, numpy, matplotlib, etc.). Elle se base sur les formats de fichiers textes suivant: + +- *.pbm* - images en noir et blanc +- *.pgm* - images en niveaux de gris +- *.ppm* - images en couleur + +Les fichiers créés sont immédiatement visibles en tant qu'icônes sur les systèmes d'exploitation Mac OS. Pour bien les visualiser, il faut passer en représentation par icône et augmenter suffisamment leur taille. + +
+ +```{image} media/E.png +:height: 300px +``` +```{image} media/logo.png +:height: 300px +``` +```{image} media/degrade_gris.png +:height: 300px +``` +```{image} media/degrade_bleu.png +:height: 300px +``` +
+ +---- + +```{admonition} Notice +:class: hint + +* **Thème** : Représentation de l'information (images et pixels) +* **Niveau** : `Facile à moyen` +* **Durée** : 2 périodes +* **Objectifs pédagogiques** : Manipuler des images pixel par pixel +* **Notions fondamentales** : modes de représentation des pixels par des nombres entiers +* Modalité : `branché` +* **Matériel** : un éditeur de fichiers +* **Prérequis** : Aucun +``` + +## Principe + +Les fichiers .pbm, .pgm et .ppm permettent de coder facilement des pixels individuels en mode texte. Chacun de ces fichiers comporte une en-tête suivie des données. Les éléments sont simplement séparés par des espaces ou des tabulations. Les retours à la ligne n'ont pas d'importance. Par contre, il faut ajouter un espace après le dernier élément pour qu'il soit pris en compte. + +### En-tête + +1. le mode: + - "P1" pour des fichiers noir-blanc (.pbm) + - "P2" pour des fichiers en niveau de gris (.pgm) + - "P3" pour des fichiers en couleurs (.ppm) + +2. la taille de la grille en pixels (h x l) +3. le nombre de niveaux de valeur des pixels + +### Données + +Chaque pixel est codé de 0 à la valeur maximale choisie. Les pixels sont séparés par un espace. Il faut simplement s'assurer d'avoir un nombre de pixels au moins égal à la taille de la grille (h x l) + +## Exemples + +
+
+ +```{image} media/exemple1.png +:height: 300px +``` +
+
+Attention, pour le mode noir-blanc le codage utilise 1 pour le noir et 0 pour le blanc! +

Ici l'image est définie sur une grille 4 x 5.

+ +
+ +```{image} media/exemple2.png +:height: 300px +``` +
+
+

Ici l'image est définie sur une grille 3 x 6. Les niveaux de gris vont de 0 à 4 (5 valeurs) 0: noir 4: blanc. Avec ce codage, il est facile de définir des dégradés

+
+ +```{image} media/exemple3.png +:height: 300px +``` +
+
+Ici l'image est définie sur une grille 4 x 4. Les valeurs sont définies de 0 à 255 (256 valeurs). Chaque pixel est codé sur 3 valeurs pour RVB. Les valeurs dans le texte ont été colorées pour correspondre à la couleur des pixels. + +

Il est parfaitement possible de définir les valeurs de 0 à 100 pour correspondre à un pourcentage.

+ + + + +## Déroulement + + +| Étape | Durée | Phase de l'activité | +|---------------------------------------|------ |---------------------| +| {ref}`0. Visionnement de la vidéo` | 10 min | Apprentissage | +| {ref}`1. La pixelisation` | 15 min | Exploration | +| {ref}`2. Lettres au format bitmap` | 15 min | Exploration | +| {ref}`3. Les dégradés (niveau de gris)` | 15 min | Exploration et institutionnalisation | +| {ref}`4. Les drapeaux ` | 15 min | Exploration et institutionnalisation | +| {ref}`5. Les dégradés (couleur)` | 15 min | Exploration et institutionnalisation | + +(ens:repinfo:imagesnumeriquesvar:pixel)= + +### Pixelisation + +Cette première partie se fait de manière débranchée. On distribue aux élèves des grilles imprimées (sur papier et sur transparent) et divers logos. +{download}`grilles`, {download}`logo 1`, {download}`logo 2` et {download}`logo 3`. +On superpose les grilles transparentes aux images pour remplir les grilles sur papier. + +Lors d'une petite mise en commun, on peut comparer les résultats obtenus par les élèves. Globalement on peut remarquer qu'il faut un grand nombre de pixels (résolution élevée) pour pouvoir identifier un logo même très simple. On va se concentrer sur des objets facilement identifiables même avec un nombre très limité de pixels: les lettres de l'alphabet. + +(ens:repinfo:imagesnumeriquesvar:lettres)= + +### Lettres au format bitmap + +Les lettres sont très faciles à identifier, même sur des grilles de taille réduite (4 x 5 ou 5 x 5). En utilisant l'exemple donné pour la lettre "E", on introduit les fichiers de type *.pbm*. La tâche des élèves est de produire diverses lettres de l'alphabet ou des chiffres. + +(ens:repinfo:imagesnumeriquesvar:degrades)= + +### Les dégradés + +Il est difficile de produire une image en niveau de gris en codant les pixels individuels. Certains logiciels comme *GIMP* permettent d'enregistrer les fichiers directement sous ce format. Par contre, il est intéressants de produire des dégradés en variant progressivement les valeurs dans le tableau comme le montre l'exemple suivant. En fonction du niveau de connaissance des élèves, il est possible d'utiliser *Excel* pour générer facilement des dégradés numériques que l'on peut ensuite copier-coller. + + +```{codeplay} +# Codage du dégradé +P2 +8 8 +10 +0 1 2 3 4 5 6 7 +1 2 3 4 5 6 7 8 +2 3 4 5 6 7 8 9 +3 4 5 6 7 8 9 10 +4 5 6 7 8 9 10 11 +5 6 7 8 9 10 11 12 +6 7 8 9 10 11 12 13 +7 8 9 10 11 12 13 14 +``` + +
+
+ +```{image} media/degrade-diag.png +:height: 300px +``` +
+
+ +(ens:repinfo:imagesnumeriquesvar:drapeaux)= + +### Les drapeaux + +Un bon sujet d'activité pour le codage des images en couleur consiste à reproduire des drapeaux. La palette des couleurs nécessaires est limitée et en cas de nécessité, on peut fournir une liste de valeurs au tableau pour aider les élèves. + +
+ +```{image} media/swiss.png +:height: 150px +``` +```{image} media/france.png +:height: 150px +``` +```{image} media/ireland.png +:height: 150px +``` +```{image} media/germany.png +:height: 150px +``` +
+ +```{codeplay} +# Codage pour germany.ppm +P3 +6 3 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 0 0 +255 255 0 255 255 0 255 255 0 255 255 0 255 255 0 255 255 0 +``` + +(ens:repinfo:imagesnumeriquesvar:degrades-col)= + +### Les dégradés en couleur + +Pour les élèves plus avancés, on peut proposer de coder des dégradés en couleur. C'est une activité plus difficile et il peut être utile de recourir à un tableur pour générer facilement les valeurs. + +```{codeplay} +# Codage pour germany.ppm +P3 +6 6 +12 +12 0 2 11 1 2 10 2 2 9 3 2 8 4 2 7 5 2 +11 1 2 10 2 2 9 3 2 8 4 2 7 5 2 6 6 2 +10 2 2 9 3 2 8 4 2 7 5 2 6 6 2 5 7 2 +9 3 2 8 4 2 7 5 2 6 6 2 5 7 2 4 8 2 +8 4 2 7 5 2 6 6 2 5 7 2 4 8 2 3 9 2 +7 5 2 6 6 2 5 7 2 4 8 2 3 9 2 2 10 2 +6 6 2 5 7 2 4 8 2 3 9 2 2 10 2 1 11 2 +5 7 2 4 8 2 3 9 2 2 10 2 1 11 2 0 12 2 +``` + +
+
+ +```{image} media/degrade_diag_2.png +:height: 300px +``` +
\ No newline at end of file