如何在Python中將RGB顏色空間轉換為不同的顏色空間?
將影像從一個顏色空間轉換為另一個顏色空間通常用於使新獲得的顏色空間能夠作為更好的輸入來執行其他操作。這包括分離色調、亮度、飽和度級別等等。
當影像使用RGB表示時,色調和亮度屬性顯示為通道R、G和B的線性組合。
當影像使用HSV表示時(其中,H代表色調,V代表值),RGB被視為單個通道。
以下是如何將RGB顏色空間轉換為HSV的示例:
示例
import matplotlib.pyplot as plt from skimage import data from skimage.color import rgb2hsv path = "path to puppy_1.JPG" img = io.imread(path) rgb_img = img hsv_img = rgb2hsv(rgb_img) value_img = hsv_img[:, :, 2] fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(8, 2)) ax0.imshow(rgb_img) ax0.set_title("Original image") ax0.axis('off') ax1.imshow(value_img) ax1.set_title("Image converted to HSV channel") ax1.axis('off') fig.tight_layout()
輸出
解釋
- 匯入所需的庫。
- 定義影像儲存的路徑。
- 使用‘imread’函式訪問路徑並讀取影像。
- 使用‘imshow’函式在控制檯上顯示影像。
- 使用‘rgb2hsv’函式將影像從RGB顏色空間轉換為HSV顏色空間。
- 使用matplotlib庫繪製此資料,並顯示原始影像和轉換為HSV顏色空間後的影像。
- 這將顯示在控制檯上。
廣告