opencv中的颜色通道BGR与常规颜色通道RGB的差异

文章目录

  • 颜色通道
    • 颜色在计算机中的表示
    • 用matplotlib显示纯色

颜色通道

颜色是由红绿蓝三原色组合而成的,每一种颜色的比例不同,展示的颜色也不同。我在北京工业大学应用数理学院读研究生时,发激光的论文都是发红、绿、蓝颜色的激光,也是由于这是三原色的原因。

颜色在计算机中的表示

  • 在计算机中,一个像素点的数据对应就是3个值,这三个值代表三原色。其中每一个值的范围是从0-255,正好是256个值,可以用8个位表示,也就是一个字节表示。这个值代表颜色的亮度,0的话就是黑色,255就代表对应的饱和纯色。
    红色像素点在计算机中表示为[255,0,0]
    绿色像素点在计算机中表示为[0,255,0]
    蓝色像素点在计算机中表示为[0,0,255]
    括号内每一个值,对应一个颜色通道。一般颜色模式是RGB,就是一个像素点的三个值分别对应G,G,B。
  • 还有颜色模式RGBA,A代表透明度。
    由于RGB中每一个值是8位,三个值就是24位。所以一个像素点需要24位的数据。我们也称这样格式的图片是24位图。

用matplotlib显示纯色

import matplotlib.pyplot as plt
import numpy as np
r = np.array([[[255,0,0]]])

plt.imshow(r)

opencv中的颜色通道BGR与常规颜色通道RGB的差异_第1张图片

b = np.array([[[0,255,0]]])

plt.imshow(b)

opencv中的颜色通道BGR与常规颜色通道RGB的差异_第2张图片

你可能感兴趣的:(opencv,opencv,python,matplotlib)