Opérations arithmétiques sur les images

OpenCVBeginner
Pratiquer maintenant

Introduction

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 :

Image addition result example

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 :

Image blending equation diagram

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 :

blended image result

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 :

Image subtraction result example

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.

bitwise_not_img1 = cv2.bitwise_not(img1)

Enregistrer les résultats

Écrire les résultats.

cv2.imwrite('Bitwise_AND.jpg', bitwise_and)
cv2.imwrite('Bitwise_OR.jpg', bitwise_or)
cv2.imwrite('Bitwise_XOR.jpg', bitwise_xor)
cv2.imwrite('Bitwise_NOT_Image1.jpg', bitwise_not_img1)

Exemple

L'image générée ressemble à ceci :

  • ET Bitwise_AND.jpg :
Bitwise AND operation result
  • OU Bitwise_OR.jpg :
Bitwise OR operation result
  • XOR Bitwise_XOR.jpg :
Bitwise XOR operation result
  • NON Bitwise_NOT_Image1.jpg :
Bitwise NOT operation result

Résumé

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 !