Python II
Marwa Jabberi Slama
Chapitre III
Codage et traitement de l’image
Présentation
Pour pouvoir être utilisées, les images doivent être traitées.
Le traitement d’images consiste à analyser et à manipuler une image numérique
principalement dont le but d’en améliorer la qualité ou d’en extraire des
informations qui pourraient ensuite être utilisées.
Les tâches courantes du traitement d’images incluent l’affichage des images, les
manipulations basiques comme le recadrage, le retournement, la rotation, ou
encore la segmentation, la classification et les extractions de caractéristiques, la
restauration et la reconnaissance d’images.
Python devient un choix judicieux pour de telles tâches de traitement d’images.
Cela est dû à sa popularité croissante en tant que langage de programmation
scientifique et à la disponibilité gratuite de nombreux outils de traitement
d’images de pointe dans son écosystème.
Définition d’une image
• Une image est une représentation planaire d’un objet quelconque.
• Mathématiquement, c'est une fonction bidimensionnelle de la forme f(x, y), où
f(x0, y0) est la valeur de f aux coordonnées (x0, y0).
• C'est un processus continu 2D résultant d’une mesure physique.
• L’amplitude de f est appelée intensité (ou niveau de gris) de l’image au point de
coordonnées (x, y).
• Si une image est générée par un processus physique, f(x, y) correspond à
l’énergie irradiée par ce processus.
• Exemples de processus physiques: Emission et réflexion d’ondes lumineuses,
Rayonnement infrarouge, rayons X, Echo ultrason, etc…
Définition d’une image
• Quand les valeurs de l’amplitude de f et des coordonnées (x,y) sont des
quantités discrètes, l’image est appelée image numérique.
• Une image numérique est donc composée d’un nombre fini d’éléments, ayant
chacun un emplacement et une valeur donnés.
• Ces éléments sont appelés pixels (contraction de PICture Element).
•
Exemples d’images
Catégories d’ images
Images morphologiques:
formes des objets et leur disposition en 2D ou 3D.
Image volumiques:
rendu volumique d’un objet ou d’une scène.
Images dynamiques:
séquence d’images en fonction du temps (video).
Images fonctionnelles ou paramétriques:
comportement d’un phénomène physique.
Images multi spectrales:
obtenues dans différentes bandes de fréquences du rayonnement de la source.
Types d’images
• Images matricielles (ou images bitmap):
Les images utilisées sont une matrice. On dit alors que l’image est matricielle ou
en anglais bitmap. Ce type d’image est adapté à l’affichage sur écran mais peu
adapté pour l’impression car bien souvent la résolution est faible.
• Images vectorielles:
Le principe des images vectorielles est de représenter les données de l’image à
l’aide de formules mathématiques.
Cela permet alors d’agrandir l’image indéfiniment sans perte de qualité et d’obtenir
un faible encombrement.
Types d’images
• Images spatiales:
Elle est faite directement à partir des échantillons d’une image dans le domaine
spatial.
Une image 2D f(x,y) scalaire réelle peut être vue comme une surface en 3D.
En plus, cette représentation est utilisée quel que soit le paramètre représenté par
f(.) ( Température, pression,....).
Ce qu'on voit lorsqu'on regarde l'image est une correspondance entre niveau de
gris et grandeur physique.
Formats d’images
• Images 24 bits (ou « couleurs vraies »)
• Images à palettes, images en 256 couleurs (8 bits)
• Images en teintes (ou niveaux) de gris.
• Images avec gestion de la translucidité
• Autres formats.
Présentation de l’image
La couleur d'un pixel est faite à partir d'un mélange de trois couleurs fondamentales :
Le rouge, le vert et le bleu.
Chacune de ces composantes à une valeur comprise entre 0 et 255
Le noir : (0,0,0)
Le blanc : (255,255,255)
Le rouge : (255,0,0) ; le vert ( 0,255,0) et le bleu (0,0,255)
Manipulation de l’image avec python
Pilow (ou Pil): lecture, écriture des images (+ traitement)
Numpy : algèbre linéaire. ...
Matplotlib: pour visualiser les images.
Scipy : pour la convolution 2D et la FFT, s'utilise au dessus de Numpy (possède
aussi pas mal de filtres images)
Packages utiles
skimage
Numpy
Scipy
Packages utiles
PIL/Pillow
OpenCV-Python
Packages utiles
SimpleCV
Lecture et Affichage d’une image