我正在尝试使用sklearn使用均值平移聚类对彩色图像进行分割。 我已将图像读取到一个numpy数组中,但是我想提取每个颜色通道(R,G,B),以便可以将每个颜色通道用作分类的变量。
我在线找到了以下代码,该代码提取了以numpy数组表示的图像的RGB颜色通道。
red = image[:,:,2]
green = image[:,:,1]
blue = image[:,:,0]
但是,我不明白这段代码是如何工作的。 2、1和0是什么意思?任何见解都会受到赞赏。
答案 0 :(得分:2)
正常图片中将有3层,红色,绿色和蓝色。
通过工具(例如open-cv)读取图片时,它将为您返回一个形状为numpy的数组(width_image x length_image x通道)。
通道的排列取决于您使用的通道,如果您通过open-cv进行读取,则首先是蓝色,然后是绿色,然后是红色,否则,如果您使用matplotlib.pyplot.imread,它将是红色-绿色-蓝色。
之所以这样写代码,是因为他们通过open-cv读取图片