utilisation des images en python : librairie opencv

MéthodeLecture d'une image

Nous allons lire cette image[1] :

Sauvegarder cette image sur votre ordinateur et noter la localisation du fichier sur le disque (par exemple f:\tmp\OCV_Haribo.png")

Pour Lire l'image, la commande est :

1
import numpy as np
2
import cv2 as cv
3
img = cv.imread(r"f:\tmp\OCV_Haribo.png")

MéthodeAffichage d'une image

Pour afficher l'image, la commande est :

1
cv.imshow('mon image', img)
2
cv.waitKey()

Résultat

FondamentalStructure d'une image et accès aux données

Une image couleur est un tableau numpy. img.shape permet de connaître la taille de l'image img.

1
img.shape

L'origine de l'image est en haut à gauche.

Une image couleur est composée de trois plans, rouge, vert et bleu. Pour afficher la couleur du pixel en ligne 17 et colonne 369 (ou pixel de coordonées (369,17)=(x,y)) dans la console, la commande est

1
img[17,369]

Comme vous pouvez le constater ce pixel est rouge.

MéthodeTracé d'une coupe d'une image

Pour tracer une coupe (la ligne 20) de l'image précédente, il faut entrer les lignes suivantes :

1
from matplotlib import pyplot as plt
2
import numpy as np
3
import cv2 as cv
4
5
img = cv.imread(r"f:\livreopencv\opencv\OCV_Haribo.png")
6
ligne20 = img[20, :]
7
plt.plot(ligne20[:, 2], color = 'r')
8
plt.plot(ligne20[:, 1], color = 'g')
9
plt.plot(ligne20[:, 0], color = 'b')

le résultat est le suivant. De quel couleur est le bonbon sur la ligne 20 ?

RemarqueChemin complet du nom de fichier

Il est possible dans les noms d'image de remplacer le \ par un /. La syntaxe sera alors :

img = cv.imread("f:/livreopencv/opencv/OCV_Haribo.png")

Le r devant le délimiteur de chaîne de caractères (" ou ') est alors inutile.