Whatsapp Telegram Telegram Call Anrufen

Farbräume und Kanäle


1. Konvertieren zwischen Farbräumen (RGB, HSV, LAB)

OpenCV bietet Funktionen zum Konvertieren von Bildern zwischen verschiedenen Farbräumen. Die häufig verwendeten Farbräume sind RGB, HSV und LAB.

RGB (Rot, Grün, Blau): Der RGB-Farbraum ist der Standardfarbraum, in dem Bilder dargestellt werden. Er verwendet drei Kanäle, um Farben zu beschreiben: Rot, Grün und Blau.

HSV (Farbton, Sättigung, Helligkeit): Der HSV-Farbraum ist nützlich für Bildverarbeitungsaufgaben, bei denen es auf die Farbtrennung ankommt. Er verwendet drei Komponenten: Farbton (Hue), Sättigung (Saturation) und Helligkeit (Value).

LAB (Luminanz, a, b): Der LAB-Farbraum ist ein geräteunabhängiger Farbraum, der Farben so darstellt, wie sie vom menschlichen Auge wahrgenommen werden. Er besteht aus einer Luminanzkomponente (L) und zwei Farbkomponenten (a und b).

Beispiel: Konvertieren zwischen RGB und HSV

import cv2

# Ein Bild laden
bild = cv2.imread('ajjoub.jpg')

# Bild von RGB zu HSV konvertieren
bild_hsv = cv2.cvtColor(bild, cv2.COLOR_BGR2HSV)

# Fenster erstellen und die Größe festlegen
cv2.namedWindow('RGB Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('RGB Bild', 600, 400)
cv2.namedWindow('HSV Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('HSV Bild', 600, 400)

# Bild anzeigen
cv2.imshow('RGB Bild', bild)
cv2.imshow('HSV Bild', bild_hsv)
cv2.waitKey(0)
cv2.destroyAllWindows()


Bild vorher:

opencv example cv2.COLOR_BGR2HSV

Bild Nachher:

opencv example cv2.COLOR_BGR2HSV

Beispiel: Konvertieren zwischen RGB und LAB

import cv2

# Ein Bild laden
bild = cv2.imread('ajjoub.jpg')

# Bild von RGB zu LAB konvertieren
bild_lab = cv2.cvtColor(bild, cv2.COLOR_BGR2LAB)

# Fenster erstellen und die Größe festlegen
cv2.namedWindow('RGB Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('RGB Bild', 600, 400)
cv2.namedWindow('LAB Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('LAB Bild', 600, 400)

# Bild anzeigen
cv2.imshow('RGB Bild', bild)
cv2.imshow('LAB Bild', bild_lab)
cv2.waitKey(0)
cv2.destroyAllWindows()


Ausgabe LAB Bild

opencv example COLOR_BGR2LAB

2. Aufteilen und Zusammenführen von Bildkanälen

In OpenCV können wir die einzelnen Farbkanäle eines Bildes extrahieren und modifizieren. Dies kann nützlich sein, wenn wir bestimmte Farbinformationen verarbeiten oder analysieren möchten.

Aufteilen von Bildkanälen: Mit der Funktion cv2.split() können wir ein Bild in seine einzelnen Kanäle aufteilen.

Beispiel: Aufteilen eines RGB-Bildes in seine Kanäle

import cv2

# Ein Bild laden
bild = cv2.imread('ajjoub.jpg')

# Bild in B, G, R Kanäle aufteilen
b, g, r = cv2.split(bild)

# Fenster erstellen und die Größe festlegen
cv2.namedWindow('Blauer Kanal', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Blauer Kanal', 600, 400)
cv2.namedWindow('Grüner Kanal', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Grüner Kanal', 600, 400)
cv2.namedWindow('Roter Kanal', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Roter Kanal', 600, 400)

# Einzelne Kanäle anzeigen
cv2.imshow('Blauer Kanal', b)
cv2.imshow('Grüner Kanal', g)
cv2.imshow('Roter Kanal', r)
cv2.waitKey(0)
cv2.destroyAllWindows()

Ausgabe:

opencv example split




Zusammenführen von Bildkanälen: Mit der Funktion cv2.merge() können wir die einzelnen Kanäle wieder zu einem Bild zusammenführen.

Beispiel: Zusammenführen von Kanälen zu einem RGB-Bild

import cv2

# Ein Bild laden
bild = cv2.imread('ajjoub.jpg')

# Bild in B, G, R Kanäle aufteilen
b, g, r = cv2.split(bild)

# Einige Änderungen an den Kanälen vornehmen (zum Beispiel den roten Kanal auf 0 setzen)
r[:] = 0

# Kanäle wieder zusammenführen
bild_verändert = cv2.merge([b, g, r])

# Fenster erstellen und die Größe festlegen
cv2.namedWindow('Originales Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Originales Bild', 600, 400)
cv2.namedWindow('Verändertes Bild', cv2.WINDOW_NORMAL)
cv2.resizeWindow('Verändertes Bild', 600, 400)

# Originales und verändertes Bild anzeigen
cv2.imshow('Originales Bild', bild)
cv2.imshow('Verändertes Bild', bild_verändert)
cv2.waitKey(0)
cv2.destroyAllWindows()


Ausgabe:

OpenCV tutorial merge



Durch das Verständnis und die Anwendung dieser Techniken können Sie komplexe Bildverarbeitungsaufgaben durchführen, bei denen Farbinformationen eine entscheidende Rolle spielen.




CEO Image

Ali Ajjoub

info@ajjoub.com

Adresse 0049-15773651670

Adresse Jacob-winter-platz,1 01239 Dresden

Buchen Sie jetzt Ihren Termin für eine umfassende und individuelle Beratung.

Termin Buchen

Kontaktieren Sie uns

Lassen Sie uns K o n t a k t aufnehmen!