Python3+OpenCV学习笔记(三):颜色空间转换

所谓“颜色空间”,本质上即是利用坐标体系和子空间,建立对不同色彩进行描述的模型,比如经常听到的RGB、HSI等等(博文最后附有参考链接)。还有一个名词也是经常可以听到的——“颜色通道”。如RGB模型中,我们经常会提到的R通道、G通道和B通道,就是分别用来存储红、绿、蓝三种颜色元素的信息。

在OpenCV里面,进行颜色转换需要用到的函数是cv2.applyColorMap(src, color_space)“src”为源图像,“color_space”为可以选择的颜色空间,在示例中用到了cv2.COLORMAP_AUTUMN、cv2.COLORMAP_JET等空间(可以理解为不同的滤镜)。

废话不多说,看示例:

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('Rachel.jpg', 1)

# 将BGR转换为RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

autumn = cv2.applyColorMap(img, cv2.COLORMAP_AUTUMN)
bone = cv2.applyColorMap(img, cv2.COLORMAP_BONE)
cool = cv2.applyColorMap(img, cv2.COLORMAP_COOL)
hot = cv2.applyColorMap(img, cv2.COLORMAP_HOT)
hsv = cv2.applyColorMap(img, cv2.COLORMAP_HSV)
jet = cv2.applyColorMap(img, cv2.COLORMAP_JET)
ocean = cv2.applyColorMap(img, cv2.COLORMAP_OCEAN)
rainbow = cv2.applyColorMap(img, cv2.COLORMAP_RAINBOW)

plt.subplot(331), plt.imshow(img), plt.title('Original')
plt.subplot(332), plt.imshow(autumn), plt.title('COLORMAP_AUTUMN')
plt.subplot(333), plt.imshow(bone), plt.title('COLORMAP_BONE')
plt.subplot(334), plt.imshow(cool), plt.title('COLORMAP_COOL')
plt.subplot(335), plt.imshow(hot), plt.title('COLORMAP_HOT')
plt.subplot(336), plt.imshow(hsv), plt.title('COLORMAP_HSV')
plt.subplot(337), plt.imshow(jet), plt.title('COLORMAP_JET')
plt.subplot(338), plt.imshow(ocean), plt.title('COLORMAP_OCEAN')
plt.subplot(339), plt.imshow(rainbow), plt.title('COLORMAP_RAINBOW')

plt.show()

看图:

Python3+OpenCV学习笔记(三):颜色空间转换_第1张图片


参考链接:

颜色空间那些事儿

知乎

你可能感兴趣的:(Python图像处理)