如何使用 OpenCV Python 將 RGB 影像轉換為 HSV 影像?
一個RGB(彩色)影像具有三個通道,紅色、藍色和綠色。OpenCV 中的彩色影像具有 [H, W, C] 格式的形狀,其中 H、W 和 C 分別是影像的高度、寬度和通道數。所有三個通道的值範圍都在0到255之間。
HSV影像也具有三個通道,即色相、飽和度和明度通道。在 OpenCV 中,色相通道的值範圍為0到179,而飽和度和明度通道的值範圍為 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 影像之間的差異。
廣告