【问题标题】:OpenCV: Extracting the colour channels from an RGB imageOpenCV:从 RGB 图像中提取颜色通道
【发布时间】:2019-07-11 04:18:05
【问题描述】:

我正在尝试使用 sklearn 使用 Mean-Shift 聚类来分割彩色图像。 我已将图像读入一个 numpy 数组,但是我想提取每个颜色通道(R、G、B),以便可以将每个颜色通道用作分类变量。

我在网上找到了以下代码,它提取了表示为 numpy 数组的图像的 RGB 颜色通道。

  red = image[:,:,2]
  green = image[:,:,1]
  blue = image[:,:,0]

但是,我不明白这段代码是如何工作的。 2、1 和 0 是什么意思?任何见解都值得赞赏。

【问题讨论】:

    标签: python numpy opencv scikit-learn computer-vision


    【解决方案1】:

    一张普通的图片,您将有 3 层,红绿和蓝。

    当您通过工具(例如 open-cv)读取图片时,它将为您返回一个形状为(宽度图像 x 长度图像 x 通道)的 numpy 数组。

    通道的排列取决于您使用的内容,如果您通过 open-cv 读取,它将是 Blue is first 然后 Green 然后 Red,否则如果您使用 matplotlib.pyplot.imread 它将是 Red-Green-Blue。

    那段代码是这样写的,因为他们是通过 open-cv 读取图片的

    【讨论】: