• Aucun résultat trouvé

Traitement de l’image (1) – TP

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement de l’image (1) – TP"

Copied!
2
0
0

Texte intégral

(1)

TRAITEMENT DE LIMAGE(1) TP

Traitement de l’image (1) – TP

15

Introduction

Une image matricielle en noir et blanc est une grille à deux dimensions où à chaque case, appelée pixel (picture element) est attribuée un niveau de gris coloré. Le niveau de gris est caractérisé par un entier compris entre 0 et 255.

Par exemple :

Ï 0 correspond à un pixel noir, Ï 32 correspond à un gris foncé.

Ï 199 correspond à un gris clair.

Ï 255 correspond à un pixel blanc.

Avec un tel pixel, il est donc possible de représenter 256 nuances de gris.

Pour stocker la nuance de gris de chaque pixel, on utilise un tableau NumPy bidimensionnelT. Un pixel est repéré par un couple d’entier (i,j) (le pixel (0,0) se trouve en haut à gauche de l’image). La nuance de gris du pixel (i,j) est obtenu par la commandeT[i,j].

Quelques informations sur NumPy

On peut représenter en Python une matriceA=

a1,1 . . . a1,p a2,1 . . . a2,p ... ... an,1 . . . an,p

∈Mn,p(K),K=RouK=C, à l’aide d’une liste de

listes :

L=[[a1,1, . . . ,a1,p], [a2,1, . . . ,a2,p]

| {z }

une liste

, . . . , [an,1, . . . ,an,p]]

| {z }

une liste de listes

Chaque liste deLreprésente une ligne deA Exercice 1

On considère la matrice :

A=

µ1 2 3 4 5 6

∈M2,3(R).

1. A l’aide d’une liste de listes, stocker la matriceAdans une variableL. 2. Afficher dans la console l’élément de la ligne 2 et colonne 3 deA.

3. Prédire le résultat de l’instruction2*L.

4. Pour simplifier la manipulation des matrices, nous allons utiliser le moduleNumPy. Python

1 import numpy as np

2 A = np.array(L) # Converti L en un tableau NumPy

3 print(A)

Donner le type deAetL.

5. Les instructionsA[1, 2]ouA[1][2]permettent d’afficher l’élément de la ligne 2 et colonne 3 deA. Testez ! 6. Que fait l’instructionA[1, :]?

G. BOUTARD& S. CALLEA 1 Lycée GAY-LUSSAC

(2)

TP TRAITEMENT DE LIMAGE(1)

7. Que fait l’instructionA[:, 2]?

8. En utilisantA, proposer une instruction qui permet d’afficherarray([1, 2])dans la console, c’est-à-dire les deux premiers éléments de la première ligne de A.

9. Les instructionsnp.shape(A)ouA.shape permet d’afficher la taille de la matrice. Quel est le type de np.shape(A)?

Importer et sauvegarder des images

Pour lire et sauvegarder des fichiers images, on utilise le modulematplotlib.pyplotavec l’aliasplt.

• L’instructionT = plt.imread("chemin d’accès du fichier")transforme une image en un tableau NumPy de nombresT.

• L’instructionplt.imsave("chemin d’accès du fichier", T, cmap = "gray")transforme le tableauTen image en noir et blanc.

• L’instructionplt.imshow(T)permet de visualiser l’image associée àT. Python

1 import numpy as np

2 import matplotlib.pyplot as plt

3

4 # Importer l'image

5 T = plt.imread("/media/ubuntu/GBOUTARD/informatique_pcsi/tp/tp15/gayLu.jpg")

6

7 # Afficher l'image

8 plt.close()

9 plt.imshow(T, cmap = "gray")

10 # cmap = "gray" : option pour afficher une image en noir et blanc

11 plt.show()

Le tableauTest un tableau bidimensionnel dont chaque élément est un entier compris entre 0 et 255.

Pour créer une image complètement noir de taillen×p, on utilise l’instruction suivante : Python

1 T1 = np.zeros((n, p), dtype = np.uint8)

2 #dtype = np.uint8 permet de signaler que les entiers sont compris entre 0 et 255 Exercice 2

Écrire une fonctionrotation180(imIn, imOut)qui applique une rotation de 180° à l’image de départ. La fonction renverra le tableauNumPyassocié à la nouvelle image.

La variableimInest le chemin d’accès de l’image initiale et la variableimOutest le chemin d’accès de l’image transformée (ceux sont des chaînes de caractères).

PCSI 2021 – 2022 2 G. BOUTARD& S. CALLEA

Références

Documents relatifs

Pour les situations de la page annexe, compléter la grille de discréditation et réaliser l’image numérique.Déterminer également le "poids" de l’image numérique (les

Le poids en octet d’une image enregistrée non compressée est égal au nombre de pixels (définition de l’image) multiplié par le nombre d’octets codant chaque pixel + la taille

LE VILAIN PETIT CANARD CYGNE CANARD.. le vilain petit canard

Construire un anneau jaune, image de l’anneau gris par la translation qui transforme O en A.. Construire un anneau vert, image de l’anneau gris par la translation qui transforme O

Dès la création de la télévision, les ingénieurs ont compris qu'il ne serait pas judicieux d'installer un dispositif de compensation dans les téléviseurs pour corriger ce problème

Vin bleu, vin gris, vin blanc, vin noir. Je n’ai pas vu le tamanoir ! Il est entré dans son manoir Et puis avec son éteignoir Il a coiffé tous les bougeoirs. Desnos. 4) Dictée

Voici une r´epartition de notes sous

Vitesse de synchronisation du flash : = 1/180 s, vitesses d‘obturation inférieures possibles, en cas de vitesse de synchronisation inférieure : commutation