Willkommen zu diesem Tutorial über arithmetische Operationen auf Bildern mit OpenCV-Python! In diesem Tutorial werden wir Addition, Subtraktion und bitweise Operationen behandeln. Am Ende dieses Tutorials werden Sie eine solide Vorstellung davon haben, wie man Bilder mit diesen grundlegenden Operationen manipulieren kann.
Die Bildaddition ist der Prozess, bei dem Pixelwerte von zwei Bildern addiert werden. In OpenCV wird die Funktion cv2.add() zu diesem Zweck verwendet.
Öffnen der Python-Shell
Öffnen Sie die Python-Shell im Terminal
python3
Laden von zwei Bildern
Verwenden Sie .imread, um die Zielbilder zu lesen.
import cv2 as cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
Addieren der Bilder
Verwenden Sie .add(), um die zwei Bilder zu aggregieren, die im vorherigen Schritt gelesen wurden.
result = cv2.add(img1, img2)
Speichern des Ergebnisses
Schreiben Sie das Ergebnis aus.
cv2.imwrite('Image_Addition.jpg', result)
Beispiel
Das generierte Bild Image_Addition.jpg sieht wie folgt aus:
Bildvermischen
Dies ist ebenfalls eine Bildaddition, jedoch werden unterschiedlichen Gewichten zu den Bildern zugewiesen, um ein Gefühl des Vermischendseins oder der Transparenz zu erzeugen. Die Bilder werden gemäß der folgenden Gleichung hinzugefügt:
cv.addWeighted() wendet diese Gleichung auf das Bild an.
Hinzufügen der Bilder
Verwenden Sie .addWeighted(), um die Gleichung auf die Bilder anzuwenden, die im vorherigen Schritt gelesen wurden.
result = cv2.addWeighted(img1,0.7,img2,0.3,0)
Speichern des Ergebnisses
Schreiben Sie das Ergebnis aus.
cv2.imwrite('Image_Blending.jpg', result)
Beispiel
Das generierte Bild Image_Blending.jpg sieht wie folgt aus:
Bildsubtraktion
Die Bildsubtraktion wird verwendet, um den Unterschied zwischen zwei Bildern zu finden. Sie subtrahiert die Pixelwerte eines Bildes von einem anderen. In OpenCV können Sie die Funktion cv2.subtract() verwenden.
Subtrahieren der Bilder
Verwenden Sie .subtract(), um die Pixelwerte von img1 von img2 zu subtrahieren.
result = cv2.subtract(img1, img2)
Speichern des Ergebnisses
Schreiben Sie das Ergebnis aus.
cv2.imwrite('Image_Subtraction.jpg', result)
Beispiel
Das generierte Bild Image_Subtraction.jpg sieht wie folgt aus:
Bitweise Operationen
Bitweise Operationen werden verwendet, um die einzelnen Bits der Pixelwerte zu manipulieren. OpenCV bietet Funktionen wie cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor() und cv2.bitwise_not() zum Durchführen von bitweisen Operationen.
Schauen wir uns ein Beispiel für jede Operation an:
Bitweiser UND
Verwenden Sie .bitwise_and(), um den bitweisen UND der Bits der Pixelwerte in zwei Bildern zu berechnen.
bitwise_and = cv2.bitwise_and(img1, img2)
Bitweiser ODER
Verwenden Sie .bitwise_or(), um den bitweisen ODER der Bits der Pixelwerte in zwei Bildern zu berechnen.
bitwise_or = cv2.bitwise_or(img1, img2)
Bitweiser XOR
Verwenden Sie .bitwise_xor(), um den bitweisen XOR der Bits der Pixelwerte in zwei Bildern zu berechnen.
bitwise_xor = cv2.bitwise_xor(img1, img2)
Bitweiser NICHT
Verwenden Sie .bitwise_not(), um den bitweisen NICHT der Bits der Pixelwerte in zwei Bildern zu berechnen.
Herzlichen Glückwunsch! Sie haben jetzt gelernt, wie Sie mit OpenCV-Python arithmetische Operationen auf Bildern durchführen. Sie haben Bildaddition, -subtraktion und bitweise Operationen behandelt. Diese grundlegenden Operationen können sehr nützlich für Bildverarbeitungsaufgaben sein, wie das Vermischen von Bildern, das Erkennen von Änderungen und das Maskieren von bestimmten Bereichen eines Bildes.
Üben Sie weiterhin und experimentieren Sie mit verschiedenen Bildern, um ein besseres Verständnis davon zu erhalten, wie diese Operationen funktionieren. Viel Glück und viel Spaß beim Programmieren!