Die imwrite()-Funktion von OpenCV

Manav Narula 10 Oktober 2023
  1. Verwenden Sie die Funktion imwrite() aus der OpenCV-Bibliothek
  2. Fazit
Die imwrite()-Funktion von OpenCV

Bilder werden in Python als numpy.ndarrays verarbeitet, und diese Arrays sind dreidimensional und repräsentieren die Werte der Bildpixel. Mit verschiedenen Bibliotheken und Methoden können wir Bilder effizient in Python lesen und verarbeiten.

Eine solche Bibliothek ist die OpenCV-Bibliothek, die Bilder mithilfe ihrer Funktionalitäten und Klassen einfach verarbeiten kann. Dieses Tutorial demonstriert die Verwendung der Funktion imwrite() der OpenCV-Bibliothek.

Verwenden Sie die Funktion imwrite() aus der OpenCV-Bibliothek

Die Funktion imwrite() speichert Bilder an einem bestimmten Pfadort. Wie bereits erwähnt, werden die Bilder als Arrays gespeichert, und mit dieser Funktion können wir diese Bilder exportieren und auf dem Gerät speichern.

Es akzeptiert drei Parameter. Der erste Parameter enthält den Namen der Datei zusammen mit dem Pfad. Beachten Sie, dass das Format, in dem das Bild gespeichert wird (PNG, JPEG usw.), im Dateinamen angegeben werden sollte.

Der zweite Parameter enthält das erforderliche Bild, das gespeichert werden muss. Dieses Bild sollte ein numpy.ndarray-Objekt sein. Wenn die Bilddatei korrekt gespeichert wurde, gibt die Funktion imwrite() True zurück; andernfalls wird False zurückgegeben.

Beispielcode:

import cv2

i = cv2.imread("deftstack.png")
img = cv2.cvtColor(i, cv2.COLOR_BGR2HSV)
cv2.imwrite("save.png", img)

Ausgabe:

True

Im obigen Beispiel lesen wir ein bestimmtes Bild mit der Funktion imread(). Dann führen wir eine Aufgabe an dem Bild aus (wir konvertieren es vom RGB-Farbraum in den HSV-Farbraum) mit der Funktion cvtColor.

Abschließend verwenden wir die Funktion imwrite(), um dieses Bild im angegebenen Verzeichnis zu speichern. Beachten Sie, dass das Format des Bildes in der Datei PNG ist und wir alle unterstützten Formate wie BMP, JPEG, WebP und mehr verwenden können.

Zu beachten ist außerdem, dass diese Funktion bis auf wenige Ausnahmen nur die 8-Bit-Einzelkanal- bzw. die vom BGR bestellten 3-Kanal-Bilder speichert. Zu diesen Ausnahmen gehören 16-Bit-Gleitzahlen ohne Vorzeichen, 32-Bit-Gleitkommazahlen, Map-Vektoren mehrerer Bilder und PNG-Bilder mit einem Alphakanal, die nur in einigen zulässigen Formaten gespeichert werden können.

Jedes nicht unterstützte Format wird automatisch in unsignierte 8-Bit-Bilder konvertiert.

Fazit

In diesem Tutorial haben wir die Funktion imwrite() der Bibliothek opencv besprochen. Wir haben gezeigt, wie der Parameter diese Funktion akzeptiert und wie er zum Speichern von Bildern in Python verwendet werden kann.

Wir haben auch die Formate der Bilder besprochen, mit denen diese Funktion arbeiten kann, und wie sie mit nicht unterstützten Formaten umgeht.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn