Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich den HSV-Wert einer Farbe mit OpenCV Python?

Wie finde ich den HSV-Wert einer Farbe mit OpenCV Python?

王林
王林nach vorne
2023-08-19 14:25:14870Durchsuche

如何使用OpenCV Python找到一种颜色的HSV值?

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 den

HSV-Wert einer Farbe zu ermitteln, führen Sie die folgenden Schritte aus:

Schritte

Importieren Sie die erforderlichen Bibliotheken. In allen folgenden Python-Beispielen sind die erforderlichen Python-Bibliotheken

OpenCV und NumPy. Stellen Sie sicher, dass Sie sie bereits installiert haben.

import cv2
import numpy as np

Definieren 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

In diesem Beispiel finden wir den

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

In diesem Beispiel finden wir den

HSV-Wert für eine Farbe, deren

BGR-Wert

[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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen