如何在Python中将RGB颜色空间转换为不同的颜色空间?
将图像从一种颜色空间转换为另一种通常用于使新获得的颜色空间能够作为更好的输入来执行其他操作。这包括分离色调,亮度,饱和度级别等。
当图像使用RGB表示时,色相和亮度属性被表示为通道R、G和B的线性组合。
当图像使用HSV表示时(此处,H代表色相,V代表值),RGB被视为单个通道。
下面是将RGB颜色空间转换为HSV的示例-
更多Python相关文章,请阅读:Python 教程
示例
import matplotlib.pyplot as plt
from skimage import data
from skimage.color import rgb2hsv
path = "路径到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("原始图像")
ax0.axis('off')
ax1.imshow(value_img)
ax1.set_title("已转换为HSV通道的图像")
ax1.axis('off')
fig.tight_layout()
输出
说明
- 导入所需的库。
- 定义存储图像的路径。
- 使用“imread”函数浏览路径并读取图像。
- 使用“imshow”函数在控制台上显示图像。
- 使用“rgb2hsv”方法将图像从RGB颜色空间转换为HSV颜色空间。
- 使用matplotlib库绘制此数据,并显示原始图像和转换为HSV颜色空间的图像。
- 将其显示在控制台上。