Vous devez réaliser les programmes suivants en html5 directement dans le navigateur.
Vous avez le droit à tout document.
Attention chaque page doit respecter la structure et les balises d'une page HTML5.
Pour des questions d'équité dans la classe, vous devez utiliser 1 seul écran.
","posi":1}],[{"chrono":480},{"text":"
Ecrire une page html qui affiche dans un paragraphe, le texte suivant:
Attention, vous devez respecter les retours à la ligne.
Nous autres, mordus d'informatique, préférons par-dessus tout passer notre temps à bidouiller nos ordinateurs, plutôt que les utiliser pour faire quelque chose de productif!
Ecrire un formulaire qui demande : - le nom - le prénom - et l'age de la personne et qui l'envoie par la méthode post au serveur suivant : http://www.sciencesappliquees.com/serveur.php
"}],[{"text":"Ecrire le code pour créer sur le haut de l'image une bande horizontale bleue de 20 pixels de haut.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/stop.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":"#mettre rouge et vert à 255 et bleu à 0\npixel = image.getPixel(1, 0)\npixel.setRed(255)\npixel.setGreen(255)"}],[{"text":"Ecrire le code pour créer sur la droite de l'image une bande verticale noire de 20 pixels de large.","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/stop.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":"#mettre rouge et vert à 255 et bleu à 0\npixel = image.getPixel(1, 0)\npixel.setRed(255)\npixel.setGreen(255)"}],[{"text":"Nous souhaitons changer la couleur rouge du panneau stop en bleue.
Pour cela, il faut transformer les pixels dont le rouge est supèrieur à 160 en bleu.
Ecrire le code correspondant.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/stop.jpg\")
for pixel in image :
#Ecrire le code ici
if pixel.getRed() > 160 :
if pixel.getGreen() < 160 :
if pixel.getBlue() < 160 :
pixel.setRed(0)
pixel.setGreen(0)
pixel.setBlue(255)
print(image)
"}],[{"text":"Pour modifier uniquement le rouge de l'image, il faut sélectionner les pixel qui ont le canal rouge dominant.
Il faudra donc utiliser l'algorithme suivant :
Etape 1 ; calculer la moyenne du Rouge Vert Bleu.
Etape 2 ; mettre un seuil de détection à 1.2 fois la moyenne.
Etape 3 ; mettre tous les pixel dont le rouge est supérieur à moyenne * 1.5 en bleu.
Mettre le pixel à l'origine en vert et celui juste à droite en rouge.
Modifier le code en conséquence.
","title":"Détection du trotoire "},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
# Pixel refers to (0, 0), set to red
pixel = image.getPixel(0, 0)
pixel.setRed(255)
# Change pixel to refer to (1, 0)
pixel = image.getPixel(1, 0)
pixel.setRed(255)
print(image)
"},{"solution":"#mettre vert 255\npixel = image.getPixel(0, 0)\npixel.setGreen(255)\n\n#mettre rouge 255\npixel = image.getPixel(1, 0)\npixel.setRed(255)"}],[{"text":"Nous allons incruster l'image de droite dans les pixels rouge du stop.
L'algorithme est le suivant :
pixel sont les pixels de l'image stop.jpg.
pixel2 sont les pixels de l'image leaves.jpg
L'algorithme est le suivant pour réaliser le programme.
Pour chacun des pixels :
Etape 1 : Calculer la moyenne des couleurs RVB d'un pixel.
Etape 2 : tester si le canal rouge du pixel est dominant avec un seuil à 1.5*moyenne.
Etape 3 : Si oui, récupérer les coordonnées x y du pixel dans l'image stop.jpg.
Etape 4 : Sélectionner le pixel2 aux coordonnées x et y de l'image leaves.jpg
Etape 6 ; copier les couleurs rouge, verte et bleue du pixel2 dans des variables.
Etape 6 : Copier les RVB de pixel2 (leaves.jpg) dans pixel (stop.jpg).
Tester le code et indiquer en commentaire sur celui-ci les différentes étapes (#Etape 1, #Etape 2, ...).
","title":"Incrustation d'image"},{"code":"
image = new SimpleImage(\"./assets/stop.jpg\")
incruste = new SimpleImage(\"./assets/leaves.jpg\")
Now we'll do one like the movies -- film the movie start in front of a blue screen. Replace the blue background behind the monkey with pixels from moon.jpg.
Here is our monkey movie star:
Here is our background, the famous Apollo 8 photo of the earth shown rising above the moon horizon. There is a theory that this famous image helped start the environmental movement.
Nous allons maintenant en faire un film similaire au film - filmer le film devant un écran bleu. Remplacez le fond bleu derrière le singe par des pixels provenant de moon.jpg.
Voici notre star de cinéma singe:
singe montré en face de fond bleu
Voici notre fond d'écran, la célèbre photo Apollo 8 de la Terre montrée au-dessus de l'horizon lunaire. Il existe une théorie selon laquelle cette image célèbre a aidé à lancer le mouvement écologiste.
célèbre photo Apollo 8 de la terre sur un fond noir
Plan Bluescreen:
Boucle sur monkey.jpg
Détecter les pixels bleus, c'est-à-dire bleu haut
Pour ces pixels: copier sur les pixels de la lune
(recopiez l'exemple de code précédent pour commencer)
Ensuite, essayez-le avec d’autres images: paris.jpg yosemite.jpg stanford.jpg
","title":"INCRUSTATION AVEC LE CANAL BLEU"},{"code":"
","title":"Les boucles pour le traitement d'images"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
#image sans traitement
print(\"image non traitée:\")
print(image);
#traitement de tous les pixels de l'image
for pixel in image :
pixel.setGreen(0)
pixel.setBlue(0)
#image traiter
print(\"image traitée:\")
print(image)
"},{"text":"
Combien de fois ont été exécutés les instructions dans la boucle for du programme?
Aide : x.png est une image de 10 pixels sur 10 pixels.
"},{"edit":"
Répondre ici.
"},{"text":"Lorsque l'on met à 0 le canal bleu et le canal vert d'un pixel blanc. De quelle couleur devient le pixel?"},{"edit":"
Répondre ici.
"}],[{"text":"
Expériences avec les deux ifs
Utilisez couper / coller pour exécuter avec l'un ou l'autre ou les deux si
Puis changez leaves.jpg, en stanford.jpg
Exécuter sans puis avec le code if-blue
Pourquoi ça ressemble à ça?
Échange la commande, donc si-bleu est la première, suivie de si-rouge
Maintenant à quoi ça ressemble?
Conclusion: if-blue va se déclencher sur un pixel original ou nouveau
La logique ne fonctionne que sur les données que nous alimentons
Répondre
","title":"flowers.jpg"},{"edit":"
Répondre ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
print(\"avant\")
for pixel in image :
pixel.setRed(255)
pixel.setGreen(255)
pixel.setBlue(0)
print(image)
print(\"après\")
"},{"text":"Exécuter le programme.
Que fait ce programme.
"},{"edit":"
Répondre ici.
"},{"text":"Comment varie le temps de traitement de l'image en fonction de la grandeur de l'image?"},{"edit":"
Répondre ici
"}],[{"text":"
Peinture post-traitement
Ici nous avons banana.jpg
banane jaune avec des briques rouges
Supposons que nous voulions montrer à la banane son rêve de paris
Mais nous ne voulons pas remplacer toute la brique rouge
Cette image ne convient pas bien à l'écran bleu (banane ou brique, trop de rouge)
On peut \"réparer ça en post\" (expression hollywoodienne)
Signification manipuler l'image dans un programme de peinture
J'ai créé banana2.jpg en tant que copie à modifier
Recadrer l'image pour positionner la banane et la tour eiffel
Mettre dans les cercles bleus artistiquement (démo)
Maintenant, le code peut simplement chercher du bleu
Vous pouvez également l'utiliser pour \"corriger\" discrètement dans l'image d'origine des petites zones qui posent des problèmes de logique de sélection d'écran bleu (comme lorsque vous avez des petites taches dont vous ne pouvez pas vous débarrasser).
Sur le Mac, Aperçu dispose d'un mode d'édition primitif. 1. Faites d’abord une copie de votre fichier original pour ne pas endommager l’original. Ouvrez la copie dans Aperçu. 2 Cliquez sur le crayon pour passer en mode édition. 3 Cliquez sur le cercle pour dessiner des cercles. 4 Cliquez sur les couleurs, en sélectionnant le bleu et une couleur de remplissage du bleu. Dessiner / organiser des cercles bleus ou autre. Windows a un programme de peinture simple similaire.
"},{"text":"Les valeurs affichées par les canaux rouge, vert et bleu sont-ils logiques (255,255,255)?"},{"edit":"
Répondre ici.
"}],[{"text":"Dans l'exemple suivant, nous récupérons la valeur du canal rouge du pixel : red = pixel.getRed()
Nous multiplions par 2 la valeur.
pixel.setRed(red) : Met le canal rouge du pixel à cette nouvelle valeur.
Exécuter le code et décrire le résultat obtenu.
","title":"Augmentation du canal Rouge"},{"edit":"
Décrire ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
red = pixel.getRed()
red = red * 2
pixel.setRed(red)
print(image)
"}],[{"text":"Nous souhaitons transformer en orange la fleur jaune.
Pour cela, il faut garder 75% du canal vert ( x 0.75 ).
Ecrire le code correspond en utilisant la combinaison setGreen et getGreen.
","title":"Expérience n°4"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":" green = pixel.getGreen()\n green = green * 0.75\n pixel.setGreen(green)"}],[{"text":"Vous allez multiplier par 0.75 les valeurs d'origines des canaux rouge, vert et bleu de l'image.
Ecrire le code python correspondant.
Ensuite vous essaierez avec un coefficient de 0.5 et 0.25.
Quel effet cela a sur l'image?
","title":"Expérience n°5"},{"edit":"
Répondre ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":" green = pixel.getGreen()\n green = green * 0.75\n pixel.setGreen(green)"}],[{"text":"
Nous avons volontairement modifié une image pour camoufler sont contenue.
Les paramètres du traitement de l'image sont les suivants :
Les valeurs verte et bleue ne sont que des valeurs aléatoires dans la plage 0 à 255. On appelle cela \"neige\" ou \"bruit de fond\".
Les données de l'image réelle sont exclusivement dans les valeurs rouges.
De plus, les valeurs en rouge ont toutes été divisées par 10 (pour la foncer).
La \"neige\" créé par le vert et le bleu obscurcit l'image réelle.
Écrire le code pour récupérer l'image réelle et résoudre l'énigme.
"},{"solution":"#mettre rouge et vert à 255 et bleu à 0\npixel = image.getPixel(0, 0)\npixel.setRed(255)\npixel.setGreen(255)"}],[{"text":"
Mettre le pixel(1,0) en jaune.
Modifier le code en conséquence.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
pixel = image.getPixel(0, 0)
pixel.setRed(255)
print(image)
"},{"solution":"#mettre rouge et vert à 255 et bleu à 0\npixel = image.getPixel(1, 0)\npixel.setRed(255)\npixel.setGreen(255)"}],[{"text":"
Mettre le pixel(0,0) en blanc.
Modifier le code en conséquence.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
pixel = image.getPixel(0, 0)
pixel.setRed(255)
print(image)
"},{"solution":"#mettre rouge et vert à 255 et bleu à 0\npixel = image.getPixel(0, 0)\npixel.setRed(255)\npixel.setGreen(255)\npixel.setBlue(255)"}],[{"text":"
Ecrire le code pour mettre le pixel(1,4) en violet.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
print(image)
"}],[{"text":"Pour modifier la couleur de plusieurs pixels, il faut juste assigner le pixel à une nouvelle coordonnée et lui mettre une nouvelle couleur.
Tester le code.
","title":"Plusieurs Pixels - Diagonale en Rouge"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
# Pixel refers to (0, 0), set to red
pixel = image.getPixel(0, 0)
pixel.setRed(255)
# Change pixel to refer to (1, 0)
pixel = image.getPixel(1, 0)
pixel.setRed(255)
print(image)
"}],[{"text":"
Mettre le pixel à l'origine en vert et celui juste à droite en rouge.
Ecrire un programme pour créer une barre horizontale bleu, blanc et rouge.
Appeler le professeur pour valider votre travail.
","title":"Exercice"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
pixel = image.getPixel(0, 0)
pixel.setBlue(255)
pixel = image.getPixel(1, 0)
pixel.setBlue(255)
#Ecrire la suite
print(image)
"}],[{"text":"
Supposons que vous avez 5 000 cartons dans un entrepôt et un robot.
Vous voulez que le robot déplace toutes les cartons d'un coin à l'autre de l'entrepôt.
L'ordinateur est stupide, alors vous lui expliquez (en codant) en détail comment déplacer un carton.
Ensuite vous lui dites de répéter les mêmes étapes pour tous les cartons (5000 fois).
C'est dans ces situations que vous utiliserez les boucles
Boucles = rapidité + puissance!
Exécuter le code Python ci-dessous.
Le programme à réaliser un traitement sur tous les pixels de l'image x.png.
Celui-ci consiste à mettre à 0 les canaux du vert et du bleu.
Combien de fois ont été exécutés les instructions dans la boucle for du programme?
Aide : x.png est une image de 10 pixels sur 10 pixels.
Lorsque l'on met à 0 le canal bleu et le canal vert d'un pixel blanc. De quelle couleur devient le pixel?
","title":"Les boucles pour le traitement d'images"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
#image sans traitement
print(\"image non traitée:\")
print(image);
#traitement de tous les pixels de l'image
for pixel in image :
pixel.setGreen(0)
pixel.setBlue(0)
#image traiter
print(\"image traitée:\")
print(image)
"},{"text":"
Combien de fois ont été exécutés les instructions dans la boucle for du programme?
Aide : x.png est une image de 10 pixels sur 10 pixels.
"},{"edit":"
Répondre ici.
"},{"text":"Lorsque l'on met à 0 le canal bleu et le canal vert d'un pixel blanc. De quelle couleur devient le pixel?"},{"edit":"
Répondre ici.
"}],[{"text":"Maintenant vous allez travaillé avec l'image flowers.jpg.
L'image flowers.jpg est une image de 457 pixels de large (width) sur 360 pixels de haut (height).
Combien de fois vont être exécutés les instructions dans la boucle for du programme?
","title":"flowers.jpg"},{"edit":"
Répondre ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
print(\"avant\")
for pixel in image :
pixel.setRed(255)
pixel.setGreen(255)
pixel.setBlue(0)
print(image)
print(\"après\")
"},{"text":"Exécuter le programme.
Que fait ce programme.
"},{"edit":"
Répondre ici.
"},{"text":"Comment varie le temps de traitement de l'image en fonction de la grandeur de l'image?"},{"edit":"
Répondre ici
"}],[{"text":"
Nous avons vu que pour obtenir la couleur jaune, il faut utiliser du rouge + vert.
Nous savons donc que les parties jaunes de l’image flowers.jpg ont des valeurs rouge et vert élevées. Alors que se passe-t-il si, pour chaque pixel, s! nous mettons le rouge à 0?
L'exemple précédent avait modifié tous les pixels de l'image. Ce n'est pas réaliste.
De quoi sont faits les pixels des feuilles vertes? De quoi sont faits les pixels des fleurs jaunes?
Vous allez, pour chaque pixel, mettre le canal rouge à 0.
Ecrire le code en conséquence (rouge à 0).
Quelles sont les couleurs RVB élevées pour les fleurs jaunes?
","title":"Expérience n°1 : Rouge à 0"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":"pixel.setRed(255)"}],[{"text":"Maintenant, vous allez mettre le canal vert et bleu à 0, sans toucher au canal rouge.
"},{"text":"Les valeurs affichées par les canaux rouge, vert et bleu sont-ils logiques (255,255,255)?"},{"edit":"
Répondre ici.
"}],[{"text":"Dans l'exemple suivant, nous récupérons la valeur du canal rouge du pixel : red = pixel.getRed()
Nous multiplions par 2 la valeur.
pixel.setRed(red) : Met le canal rouge du pixel à cette nouvelle valeur.
Exécuter le code et décrire le résultat obtenu.
","title":"Augmentation du canal Rouge"},{"edit":"
Décrire ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
red = pixel.getRed()
red = red * 2
pixel.setRed(red)
print(image)
"}],[{"text":"Nous souhaitons transformer en orange la fleur jaune.
Pour cela, il faut garder 75% du canal vert ( x 0.75 ).
Ecrire le code correspond en utilisant la combinaison setGreen et getGreen.
","title":"Expérience n°4"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":" green = pixel.getGreen()\n green = green * 0.75\n pixel.setGreen(green)"}],[{"text":"Vous allez multiplier par 0.75 les valeurs d'origines des canaux rouge, vert et bleu de l'image.
Ecrire le code python correspondant.
Ensuite vous essaierez avec un coefficient de 0.5 et 0.25.
Quel effet cela a sur l'image?
","title":"Expérience n°5"},{"edit":"
Répondre ici.
"},{"code":"
image = new SimpleImage(\"./assets/flowers.jpg\")
for pixel in image :
#Ecrire le code ici
print(image)
"},{"solution":" green = pixel.getGreen()\n green = green * 0.75\n pixel.setGreen(green)"}],[{"text":"
Nous avons volontairement modifié une image pour camoufler sont contenue.
Les paramètres du traitement de l'image sont les suivants :
Les valeurs verte et bleue ne sont que des valeurs aléatoires dans la plage 0 à 255. On appelle cela \"neige\" ou \"bruit de fond\".
Les données de l'image réelle sont exclusivement dans les valeurs rouges.
De plus, les valeurs en rouge ont toutes été divisées par 10 (pour la foncer).
La \"neige\" créé par le vert et le bleu obscurcit l'image réelle.
Écrire le code pour récupérer l'image réelle et résoudre l'énigme.
[[{"text":"Afin de vérifier vos acquis, répondez aux questions suivantes."}],[{"text":"Quel type de photo faut-il utiliser pour faire du traitement d'image? "},{"radio":[{"label":"Photo numérique","sol":true},{"label":"Photo argentique","sol":false},{"label":"Photo imprimée","sol":false}]}],[{"text":"
Sous quelle forme sont stockées les photos numériques?
"},{"radio":[{"label":"en binaire","sol":true},{"label":"sous forme de texte","sol":false},{"label":"sous forme de couleur","sol":false}]}],[{"text":"C'est quoi la définition d'une image?"},{"radio":[{"label":"C'est le nombre de pixels","sol":true},{"label":"C'est la surface de l'image.","sol":false},{"label":"C'est le nombre de couleurs","sol":false},{"label":"C'est la taille d'un pixel","sol":false}]}],[{"text":"C'est quoi la résolution d'une image?"},{"radio":[{"label":"C'est le nombre de pixels","sol":false},{"label":"C'est la surface de l'image.","sol":false},{"label":"C'est le nombre de couleurs","sol":false},{"label":"C'est la taille d'un pixel","sol":true}]}],[{"text":"De combien de couleurs est composé un pixel?"},{"radio":[{"label":"3","sol":true},{"label":"4","sol":false},{"label":"2","sol":false},{"label":"5","sol":false}]}],[{"text":"Comment peut-on modifier automatiquement les pixels d'une image?"},{"radio":[{"label":"En utilisant un algorithme.","sol":true},{"label":"En utilisant les maths.","sol":false},{"label":"En utilisant un schéma.","sol":false},{"label":"En codant chaque pixel.","sol":false}]}]]
Nous avons vu qu’une image était composée de pixels.
Un pixel est la combinaison des trois couleurs Rouge Vert B;eu (RVB ou RGB Red Green Blue).
Executer le code ci-dessous.
Modifier le code pour visualiser les pixels de l'image ( zoom à 20).
","title":"Pixel"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(1)
print(image)
"},{"solution":"image.setZoom(20)"},{"text":"Explications sur le code :
x.png est une petite image de 10 pixels de haut (height) sur 10 pixels de large (width).
Cette image est au format png.
Ce programme est composé de 3 lignes :
- La première ligne stocke l'image nommée \"x.png\" dans la variable nommée \"image\":
image = new SimpleImage (\"./assets/x.png\");
- La ligne 2 : image.setZoom(20); - régler l’option de zoom sur 20 (10, 20, ... peu importe).
- La ligne print(image); - affiche l'image avec un agrandissement de 20x.
"}],[{"text":"
».
Le pixel, souvent abrégé px, est l'unité de base permettant de mesurer la définition d'une image numérique matricielle (tableau 2 dimensions). Son nom provient de la locution anglaise « picture element », qui signifie « élément d'image ».
Le pixel est l'unité minimale adressable par le contrôleur vidéo. C'est aussi l'unité utilisée pour spécifier les définitions d'affichage (largeur × hauteur) :
la définition du VGA (« Video Graphics Array ») est de 640 × 480, soit 307 200 pixels ;
la définition du Super-VGA, ou S-VGA (« Super Video Graphics Array ») est de 800 × 600, soit 480 000 pixels ;
la définition du XGA (« Extended Graphics Array ) est de 1 024 × 768, soit 786 432 pixels ;
la définition du SXGA (« Super Extended Graphics Array ») est de 1 280 × 1 024, soit 1 310 720 pixels ;
la définition du 4K (« Ultra Extended Graphics Array ») est de 3 840 × 2 160, soit 8 294 400 pixels.
Les pixels sont organisés sur une grille :
x=0, y=0 est l'origine. Elle se trouve dans le coin en haut à gauche. (0, 0)
X augmente vers la droite.
Y augmente vers le bas.
x=1, y=0 est le pixel voisin en haut à droite de l'origine - (1, 0)
x=0, y=1 neighbor below the origin - (0, 1)
À chaque pixel est associée une couleur, usuellement décomposée en trois couleurs : Rouge Vert Bleu (RVB).
Si nous voulons visualiser le RVB du pixel de coordonnées (0,0), il faut appliquer le code ci-dessous :
","title":"Les pixels"},{"code":"
image = new SimpleImage(\"./assets/x.png\")
image.setZoom(20)
print(image)
pixel = image.getPixel(0, 0)
print(\"rouge : \",pixel.getRed())
print(\"vert : \",pixel.getGreen())
print(\"bleu : \",pixel.getBlue())
"},{"text":"Est-ce normales de trouver ces valeurs pour le rouge, le vert et le bleu du pixel (0,0) de l'image? Justifier."},{"edit":"
Répondre ici.
"}],[{"text":"Faire de même avec le pixel de coordonnée (2,2) de l'image \"x.png\". En vous aidant du code précédent, écrire le code python correspondant.","title":"Visualiser la couleur du pixel(0,0)"},{"code":""},{"text":"Justifier les résultats."},{"edit":"
Répondre ici.
"}],[{"text":"
Vous allez effectuer un dessin de votre choix à l’aide d’une application.
Sauvegarder ( save as ) le fichier au format BMP,, JPG, GIF et PNG.
Donnez la taille de ces 4 fichiers.
","title":"Format des images numériques"},{"edit":"Importer votre belle image numérique ici.
Donnez la taille de chacun des fichiers ici:
image.bmp = ?
image.png = ?
image.jpg = ?
image.gif = ?
Conclure ici les extensions.
"}],[{"text":"
Les images numériques que nous voyez sur vos écrans sont donc stockées dans des fichiers. Vous venez de voir qu'il existe plusieurs formats d'images, c'est-à-dire plusieurs façons de coder l'image dans un fichier.
Selon le format, l'image prend plus ou moins d'espace disque et est de plus ou moins bonne qualité.
logo.BMP
logo.jpg (jpeg)
logo.png
logo.gif
Taille 159ko
Taille 11ko
Taille 22ko
Taille 8ko
"}],[{"text":"
Le Bitmap (bmp) est un format non compressé (contrairement aux JPG, PNG, GIF etc.)
Concrètement, cela signifie les choses suivantes :
Le fichier est très rapide à lire, contrairement aux formats compressés qui doivent être décompressés.
La qualité de l'image est parfaite. Certains formats compressés comme le JPG détériorent la qualité de l'image, ce n'est pas le cas du BMP.
Mais le fichier est aussi bien plus gros à charger puisqu'il n'est pas compressé !
Attention, le format bmp n'est pas pris en charge par les navigateurs web.
","title":"Image.bmp"}],[{"text":"
Le format jpeg ou jpg (Joint Photographic Experts Group)est un format de compression très efficace mais avec perte de qualité. Plus l'image est compressée, plus la qualité de l'image diminue. Il convient donc de trouver un compromis permettant un chargement rapide tout en gardant une qualité acceptable. Les logiciels graphiques permettent de régler le facteur de compression qui va de 1 à 99.
Le format JPEG est particulièrement adapté et recommandé pour les images de type Photographies, il peut supporter en effet 16.7 millions de couleurs et donne un bon rendu pour les images nuancées et les dégradés.
Le format JPEG ne supporte pas la transparence et ne permet pas de créer des animations.
Sans Compression
Compression faible 80%
Compression moyenne 50%
Compression forte 20%
285ko
85ko
49ko
26ko
Avec le fprmat JPEG, la qualité de l'image diminue avec l'augmentation du facteur de compression.
","title":"Image.jpeg ou Image.jpg"}],[{"text":"
Le format GIF (Graphics Interchange Format) est un format qui utilise une compression sans perte de qualité.
Les images au format GIF peuvent contenir un maximum de 256 couleurs, ce qui rend ce format peu adapté pour les photographies, les images nuancées et les dégradés. Par contre ce format donne d'excellents résultats pour les images avec un petit nombre de couleurs, les logos, les formes géométriques, boutons etc...
Le format GIF supporte la transparence et il permet également de créer des animations : les GIFs animés.
L'option d'entrelacement permet d'afficher l'image progressivement, l'image étant flou au début du chargement et devenant de plus en plus précise.
Attention : Il y a une incidence du nombre de couleurs sur le poids et l'apparence des GIFs.
","title":"Image.gif"}],[{"text":"
Le format PNG (Portable Network Graphics) utilise une compression sans perte de données.
Le PNG supporte comme le GIF une palette indexée jusqu'à 256 couleurs, mais également les niveaux de gris jusqu'à 16 bits et les couleurs réelles jusqu'à 42 bits.
Le PNG supporte la transparence ainsi que 254 niveaux de transparence partielle.
Il possède également une méthode d'entrelacement très performante.
Les fichiers PNG sont généralement plus légers que les GIF, par contre le PNG est moins performant que le JPEG pour la compression des photographies.
Le PNG ne permet pas de créer des animations.
Dans l'image ci-dessous, Mario est créé une association d'image png (pour la transparence) et le fond est réalisé en jpg.
","title":"Définition et résolution des images numériques"},{"htm":"","css":"","js":""}],[{"text":"Un fichier \"image\" issu d'un appareil photo numérique contient plus qu'une simple image. On trouve en effet des informations sur l'image elle-même (définition, résolution...) mais aussi des informations sur la prise de vue (date et heure, lieu...). Cette spécification des fichiers \"image\" d'un appareil photo numérique s'appelle EXIF (EXchangeable Image file Format). Ces données contenues dans un fichier \"image\" d'un appareil photo s'appellent des métadonnées.","title":"Les métadonnées d'une image"}],[{"text":"
Vous allez prendre votre smartphone, puis activer le GPS, puis prendre en photo l'image ci-dessous :
Télécharger une application qui edite les métadonnées des images.
En poursuivant votre navigation sur mon site,
vous acceptez l’utilisation des Cookies et autres traceurs
pour réaliser des statistiques de visites et enregistrer
sur votre machine vos activités pédagogiques.En savoir plus.