Heim >Backend-Entwicklung >Python-Tutorial >Wie finde ich den HSV-Wert einer Farbe mit OpenCV Python?
Um den HSV-Wert einer Farbe zu ermitteln, können wir die Farbraumkonvertierung von BGR in HSV verwenden. Zuerst definieren wir die Farbwerte als numpy.ndarray im BGR-Format und konvertieren sie dann in den HSV-Raum.
Wir können auch die unteren und Obergrenzen des HSV-Wertes als [H-10, 100, 100] und [H+10, 255, 255] finden kann verwendet werden, um ein Objekt einer bestimmten Farbe zu verfolgen.
Um denHSV-Wert einer Farbe zu ermitteln, führen Sie die folgenden Schritte aus:
SchritteOpenCV und NumPy. Stellen Sie sicher, dass Sie sie bereits installiert haben.
import cv2 import numpy as npDefinieren Sie ein
numpy.ndarray für die Farbe, dtype=np.uint8.
green = np.uint8([[[0, 255, 0]]])Konvertieren Sie die oben definierte Farbe in
HSV.
hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)Drucken Sie die Farbwerte aus.
print("HSV of Green:", hsvGreen)Schauen wir uns einige Programmbeispiele an, um es klar zu verstehen.
Beispiel 1
HSV-Wert für die grüne Farbe. Der BGR-Wert von Grün beträgt [0,255,0].
# import required libraries import numpy as np import cv2 # define a numpy.ndarray for the color # here insert the bgr values which you want to convert to hsv green = np.uint8([[[0, 255, 0]]]) # convert the color to HSV hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) # display the color values print("BGR of Green:", green) print("HSV of Green:", hsvGreen) # Compute the lower and upper limits lowerLimit = hsvGreen[0][0][0] - 10, 100, 100 upperLimit = hsvGreen[0][0][0] + 10, 255, 255 # display the lower and upper limits print("Lower Limit:",lowerLimit) print("Upper Limit", upperLimit)Ausgabe Wenn Sie das obige Python-Programm ausführen, wird die folgende Ausgabe erzeugt
BGR of Green: [[[ 0 255 0]]] HSV of Green: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)Die chinesische Übersetzung von Beispiel 2 lautet: Beispiel 2
[106,76,89]. ist
# import required libraries import numpy as np import cv2 green = np.uint8([[[0, 255, 0]]]) # convert the color to HSV hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) # here insert the bgr values which you want to convert to hsv bgr = np.uint8([[[106,76,89]]]) hsv = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) print("BGR Value:", bgr) print("HSV Value:", hsv) # compute the lower and upper limits lowerLimit = hsvGreen[0][0][0] - 10, 100, 100 upperLimit = hsvGreen[0][0][0] + 10, 255, 255 # display the lower and upper limits print("Lower Limit:",lowerLimit) print("Upper Limit", upperLimit)Ausgabe Wenn Sie das obige Python-Programm ausführen, wird die folgende Ausgabe erzeugt −
BGR Value: [[[76 76 89]]] HSV Value: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)
Das obige ist der detaillierte Inhalt vonWie finde ich den HSV-Wert einer Farbe mit OpenCV Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!