Bienvenue dans ce tutoriel sur les opérations arithmétiques sur les images à l'aide d'OpenCV-Python! Dans ce tutoriel, nous aborderons l'addition, la soustraction et les opérations bit-à-bit. À la fin de ce tutoriel, vous aurez une compréhension solide de la manière de manipuler les images à l'aide de ces opérations de base.
Addition d'image
L'addition d'images est le processus d'ajout de valeurs de pixels à deux images. Dans OpenCV, la fonction cv2.add() est utilisée à cette fin.
Ouvrir l'interpréteur Python
Ouvrez l'interpréteur Python dans le terminal
python3
Charger deux images
Utilisez .imread pour lire les images cibles.
import cv2 as cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
Ajouter les images
Utilisez .add() pour aggreger les deux images lues dans l'étape précédente.
result = cv2.add(img1, img2)
Enregistrer le résultat
Écrire le résultat.
cv2.imwrite('Image_Addition.jpg', result)
Exemple
L'image générée Image_Addition.jpg ressemble à ceci :
Superposition d'images
Cela est également une addition d'images, mais des poids différents sont attribués aux images pour donner une impression de superposition ou de transparence. Les images sont additionnées selon l'équation ci-dessous :
cv.addWeighted() applique cette équation à l'image.
Ajouter les images
Utilisez .addWeighted() pour appliquer l'équation aux images lues dans l'étape précédente.
result = cv2.addWeighted(img1,0.7,img2,0.3,0)
Enregistrer le résultat
Écrire le résultat.
cv2.imwrite('Image_Blending.jpg', result)
Exemple
L'image générée Image_Blending.jpg ressemble à ceci :
Soustraction d'image
La soustraction d'images est utilisée pour trouver la différence entre deux images. Elle soustrait les valeurs de pixels d'une image à l'autre. Dans OpenCV, vous pouvez utiliser la fonction cv2.subtract().
Soustraire les images
Utilisez .subtract() pour soustraire les valeurs de pixels de l'image1 à l'image2.
result = cv2.subtract(img1, img2)
Enregistrer le résultat
Écrire le résultat.
cv2.imwrite('Image_Subtraction.jpg', result)
Exemple
L'image générée Image_Subtraction.jpg ressemble à ceci :
Opérations bit-à-bit
Les opérations bit-à-bit sont utilisées pour manipuler les bits individuels des valeurs de pixels. OpenCV fournit des fonctions telles que cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor() et cv2.bitwise_not() pour effectuer des opérations bit-à-bit.
Voyons un exemple de chaque opération :
ET bit-à-bit
Utilisez .bitwise_and() pour calculer l'ET bit-à-bit des bits des valeurs de pixels dans deux images.
bitwise_and = cv2.bitwise_and(img1, img2)
OU bit-à-bit
Utilisez .bitwise_or() pour calculer l'OU bit-à-bit des bits des valeurs de pixels dans deux images.
bitwise_or = cv2.bitwise_or(img1, img2)
XOR bit-à-bit
Utilisez .bitwise_xor() pour calculer l'XOR bit-à-bit des bits des valeurs de pixels dans deux images.
bitwise_xor = cv2.bitwise_xor(img1, img2)
NON bit-à-bit
Utilisez .bitwise_not() pour calculer le NON bit-à-bit des bits des valeurs de pixels dans deux images.
Félicitations ! Vous avez désormais appris à effectuer des opérations arithmétiques sur des images à l'aide d'OpenCV-Python. Vous avez étudié l'addition, la soustraction et les opérations bit-à-bit d'images. Ces opérations de base peuvent s'avérer très utiles pour les tâches de traitement d'images, telles que la superposition d'images, la détection de changements et le masquage de zones spécifiques d'une image.
Continuez à pratiquer et à expérimenter avec différentes images pour mieux comprendre le fonctionnement de ces opérations. Bonne chance et bonne programmation !