如何在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颜色空间后的图像。
  • 这将显示在控制台上。

更新于:2020年12月11日

494 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告