Python 使用 Matplotlib 将 RGB 图像转换为 HSI 并显示
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import colorsys
loopy = mpimg.imread(r'C:\Users\RKP\Desktop\Loopy.jpg') # 读取原图
# 将RGB图像转换为HSI图像
hsi = colorsys.rgb_to_hsv(loopy)
# 提取H、S、I三个通道的图像数据
h = hsi[:,:,0]
s = hsi[:,:,1]
i = hsi[:,:,2]
# 创建一个包含四个子图的图像
fig, axs = plt.subplots(2, 2, figsize=(10, 10))
# 在每个子图中显示图像和标题
axs[0, 0].imshow(loopy)
axs[0, 0].axis('off')
axs[0, 0].set_title('Loopy')
axs[0, 1].imshow(h, cmap='hsv')
axs[0, 1].axis('off')
axs[0, 1].set_title('Hue')
axs[1, 0].imshow(s, cmap='gray')
axs[1, 0].axis('off')
axs[1, 0].set_title('Saturation')
axs[1, 1].imshow(i, cmap='gray')
axs[1, 1].axis('off')
axs[1, 1].set_title('Intensity')
plt.tight_layout() # 调整子图的布局,使标题不重叠
plt.show()
本代码使用 Python 中的 matplotlib.pyplot 和 colorsys 库将 RGB 图像转换为 HSI 色彩空间。
首先,使用 mpimg.imread() 读取图像文件。
然后,使用 colorsys.rgb_to_hsv() 函数将 RGB 图像转换为 HSI 图像。
接着,分别提取 H、S、I 三个通道的图像数据,并使用 plt.imshow() 函数显示它们。
最后,使用 plt.tight_layout() 调整子图的布局,使标题不重叠。
这个代码可以帮助你更好地理解 HSI 色彩空间,并使用它进行图像处理。
原文地址: https://www.cveoy.top/t/topic/pcZ 著作权归作者所有。请勿转载和采集!