HOWTO · Python

Inverser une image à l'aide du module OpenCV en Python

Apprenez à inverser une image à l'aide du module OpenCV en Python

OpenCV ou Open Source Computer Vision Library est une bibliothèque de vision par ordinateur en temps réel utilisée pour le traitement d’images et l’apprentissage automatique. Il est écrit en C/C++ et est disponible pour de nombreux langages de programmation tels que C++, Python et Java. En Python, OpenCV est généralement utilisé avec NumPy, une bibliothèque basée sur Python pour les matrices, les tableaux multidimensionnels et le calcul mathématique.

Les images sont représentées à l’aide de tableaux multidimensionnels NumPy et sont traitées à l’aide d’OpenCV. En utilisant le module OpenCV, on peut effectuer de nombreuses opérations sur des images telles que le retournement, la mise à l’échelle, la rotation, la mise en miroir, le changement de couleurs, l’inversion des couleurs, etc. Dans cet article, nous allons apprendre à inverser des images à l’aide du module OpenCV.

Inverser des images

Les images sont représentées à l’aide de valeurs RVB ou Rouge Vert Bleu. Chacun peut prendre une valeur entière comprise entre 0 et 255 (tous deux inclus). Par exemple, une couleur rouge est représentée en utilisant (255, 0, 0), blanc avec (255, 255, 255), noir avec (0, 0, 0), etc.

Inverser une image signifie inverser les couleurs de l’image. Par exemple, la couleur inversée pour la couleur rouge sera (0, 255, 255). Notez que 0 est devenu 255 et 255 est devenu 0. Cela signifie que l’inversion d’une image soustrait essentiellement les anciennes valeurs RVB de 255.

New_Value = 255 - Old_Value

Image originale:

inverser l’image en python opencv - original

Image inversée :

inverser l’image en python opencv - original

Inverser les images à l’aide de la méthode bitwise_not() en Python

OpenCV a une méthode bitwise_not() qui effectue une opération NOT au niveau du bit. Nous pouvons utiliser cette fonction pour inverser une image. Référez-vous au code suivant. Il considère que vous avez une image du nom de image.png dans votre répertoire de travail.

import cv2

image = cv2.imread("image.png", 0)
inverted_image = cv2.bitwise_not(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

Ce programme va d’abord charger une image, l’inverser et l’enregistrer dans le répertoire de travail. Après cela, il affichera à la fois les images originales et inversées.

Inverser les images à l’aide de la méthode numpy.invert() en Python

NumPy a une méthode invert(), qui effectue une inversion au niveau du bit ou une opération NOT au niveau du bit. Le code suivant montre comment nous pouvons utiliser cette méthode pour effectuer l’inversion.

import cv2
import numpy as np

image = cv2.imread("image.png", 0)
inverted_image = np.invert(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

Pour en savoir plus sur la méthode invert(), référez-vous ici