如何使用 OpenCV Python 查詢顏色的 HSV 值?


要查詢顏色的HSV 值,我們可以使用從BGRHSV的顏色空間轉換。首先,我們將顏色值定義為BGR格式的numpy.ndarray,然後將其轉換為HSV空間。

我們還可以找到HSV值的下限上限,分別為[H-10, 100, 100][H+10, 255, 255]。這些下限和上限可用於跟蹤特定顏色的物體。

要查詢顏色的HSV值,請按照以下步驟操作:

步驟

匯入所需的庫。在以下所有 Python 示例中,所需的 Python 庫為OpenCVNumPy。請確保您已安裝它們。

import cv2
import numpy as np

為顏色定義一個dtype=np.uint8numpy.ndarray

green = np.uint8([[[0, 255, 0]]])

將上述定義的顏色轉換為HSV

hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)

列印顏色值。

print("HSV of Green:", hsvGreen)

讓我們看一些程式示例來清楚地瞭解它。

示例 1

在這個示例中,我們查詢綠色顏色的HSV值。綠色的BGR值為[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)

輸出

執行上述 Python 程式後,將產生以下輸出:

BGR of Green: [[[ 0 255 0]]] 
HSV of Green: [[[ 60 255 255]]] 
Lower Limit: (50, 100, 100) 
Upper Limit (70, 255, 255)

示例 2

在這個示例中,我們查詢BGR值為[106,76,89]的顏色對應的HSV值。

# 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)

輸出

執行上述 Python 程式後,將產生以下輸出:

BGR Value: [[[76 76 89]]] 
HSV Value: [[[ 60 255 255]]] 
Lower Limit: (50, 100, 100) 
Upper Limit (70, 255, 255)

更新於: 2022年9月27日

13K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告