Vous êtes sur la page 1sur 23

Algorithmes de traitement

d’images
TP1 – Prise en main, morphologie de base

Ingénieurs Sup Galilée – AIR 3° année – Paris 13


2015-2016

John Chaussard
LAGA – Université Paris 13
chaussard@math.univ-paris13.fr
Les outils que l’on utilisera
Les outils que l’on utilisera

Langage de programmation

3
Les outils que l’on utilisera

Editeur de code

4
Les outils que l’on utilisera

Les modules supplémentaires

5
Exemple de code
Commencer en Python

Les bases en Python

test.py
Commencer en Python

Un hello world en Python

if __name__ == "__main__":
#Insérer le code de la fonction après

if __name__ == "__main__":
print(‘Bonjour’)

python test.py
Manipuler des images
Manipuler des images

Importer les bons package

import cv2
import cv
import numpy as np

import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
Manipuler des images

Ouvrir et afficher une image

image = cv2.imread(‘perr.jpg’)

#On affiche l'image dans une fenetre


cv2.imshow("Image", image)
#On attend que l'utilisateur appuie sur une touche
key = cv2.waitKey(0)
#On detruit la fenetre
cv2.destroyAllWindows()
Manipuler des images

Ecrire une image, générer des images

cv2.imwrite('out.png', image)

imagevide = np.zeros((300, 200, 3), np.uint8)

imageun = np.ones ((300, 200, 3), np.uint8)


Manipuler des images

Ma première fonction Python

#Fonction permettant d'afficher une image


def afficher_image(img):
#On affiche l'image dans une fenetre
cv2.imshow("Image", img)
#On attend que l'utilisateur appuie sur une touche
key = cv2.waitKey(0)
#On detruit la fenetre
cv2.destroyAllWindows()

if __name__ == "__main__":
image = cv2.imread(‘perr.jpg’)
afficher_image(image)
Manipuler des images

Dimensions de l’image

largeur = image.shape[1]
print ('Largeur image : ' + str(largeur) + ' pixels')

hauteur = image.shape[0]
print('Hauteur image : ' + str(hauteur) + ' pixels')
Manipuler des images

Lire un pixel

pix = image[200, 300]


print ('Valeur du pixel de coordonnee (300, 200) (format BVR) : ')
print(pix)
Manipuler des images

Ecrire un pixel

#On modifie la valeur du pixel (0,0)


image[0,0] = [0,0,255]

#On modifie la composante bleue du pixel (3,11)


image[11,3,0] = 255
Manipuler des images

Ecrire plusieurs pixel

#On modifie en rouge une partie de la ligne 30 de pixels


image[30,50:91] = [0,0,255]

#On modifie en rouge toute la ligne 80 de pixels


image[80,:] = [0,0,255]
Manipuler des images

Réaliser une boucle sur les pixels

#On parcourt l’image


for i in range(0, largeur):
for j in range(0, hauteur):

if image[i,j] < 40:


image[i,j]=0
else:
image[i,j]=255
Manipuler des images

Réaliser une boucle sur les pixels

idx = im[:] < 40


im[:] = 255
im[idx] = 0
Eléments structurants
Eléments structurants

Utiliser un module personnel

import strel

Γ4

test = strel.build(‘diamant', 2, None)


print(test)
Eléments structurants

Création d’élément structurant

. Γ8

2 ∗ 𝑡𝑎𝑖𝑙𝑙𝑒 + 1

. Γ4

.
Eléments structurants

Visualiser un élément structurant

test = strel.build(‘diamant', 150, None)


Imtest = strel.toImage(test)
Afficher_image(Imtest)