我发现opencv文档使用cv2.split(img)命令从RGB图像中提取单个通道,但是它并没有真正返回所选通道的图像。它们看起来都像灰度。有人能帮我吗?我附上照片。
b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]
or
b,g,r = cv2.split(img)
提取正确吗? 红色全频道在哪里-img?
答案 0 :(得分:1)
在这两种方法中,您都是在创建灰度图像,因此对其进行绘制将不会显示其来源通道的颜色。
您可以使用颜色图为显示的图像添加颜色,也可以通过将其他通道设置为0将其转换为RGB图像。
plt.imshow(r, cmap='Reds')
OR
img = np.stack([r, np.zeros_like(r), np.zeros_like(r)], axis=-1)
plt.imshow(img)
答案 1 :(得分:1)