如何使用 OpenCV Python 將 RGB 影像轉換為 HSV 影像?


一個RGB(彩色)影像具有三個通道,紅色、藍色和綠色。OpenCV 中的彩色影像具有 [H, W, C] 格式的形狀,其中 H、W 和 C 分別是影像的高度、寬度和通道數。所有三個通道的值範圍都在0255之間。

HSV影像也具有三個通道,即色相飽和度明度通道。在 OpenCV 中,色相通道的值範圍為0179,而飽和度明度通道的值範圍為 0 到 255。

OpenCV中,要將RGB影像轉換為HSV影像,我們使用 cv2.cvtColor() 函式。此函式用於將影像從一個顏色空間轉換為另一個顏色空間。

此函式接受兩個引數 - 第一個是輸入影像,第二個是顏色轉換方法。請參見下面給出的語法 -

cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV)

步驟

要將 RGB 影像轉換為 HSV 影像,請按照以下步驟操作 -

匯入所需的庫。在所有以下 Python 示例中,所需的 Python 庫是OpenCV。確保您已安裝它。

import cv2

使用 cv2.imread() 讀取輸入 RGB 影像。使用此方法讀取的 RGB 影像採用 BGR 格式。可以選擇將讀取的 BGR 影像分配給bgr_img

bgr_img = cv2.imread('water.jpg')

現在使用cv2.cvtColor()函式將此 BGR 影像轉換為 HSV 影像,如下所示。可以選擇將轉換後的 HSV 影像分配給hsv_img

hsv_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV)

顯示上面轉換後的 HSV 影像。

cv2.imshow('HSV image', hsv_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

輸入影像

我們將在以下示例中使用此影像作為輸入檔案。

示例

此 Python 程式將 RGB 影像轉換為 HSV 影像。

import cv2 # read the input RGB image as BGR format bgr_img = cv2.imread('water.jpg') # Convert the BGR image to HSV Image hsv_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV) cv2.imwrite('hsv_image.jpg', hsv_img) # Display the HSV image cv2.imshow('HSV image', hsv_img) cv2.waitKey(0) cv2.destroyAllWindows()

輸出

執行以上程式時,將產生以下輸出 -

注意原始 RGB 影像和 HSV 影像之間的差異。

更新於: 2022年9月27日

22K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告