无法将opencv图像拆分为RGB
Unable to split opencv image to RGB
我正在尝试将图像拆分为 B,G,R
,但拆分后,每个 B G & R 都有灰度图像。
import cv2
import numpy as np
image = cv2.imread('/path/image.jpg') #I have tried using CV_LOAD_IMAGE_COLOR flag as well as 1
#however,image is read as color image. It is not a grayscale image
b,g,r = cv2.split(image)
#[b,g,r]=np.dsplit(image,image.shape[-1])
#b,g,r = cv2.split(image)
#b = image[:,:,0]
#g = image[:,:,1]
#r = image[:,:,2]
#none of the above worked
cv2.imshow("green",g)
cv2.waitKey(0)
cv2.destroyAllWindows()
请帮我把图片拆分成BGR。我什至尝试过使用不同的图像。
分割时,每张图片都是单通道图片。由于它们是单通道图像,当您使用 cv2.imshow(g)
时,它们看起来像灰度图像。但请放心,通道已正确拆分。
通常,在 BGR 图像中,每个通道看起来几乎 与 BGR 图像完全一样,这可能是您感到困惑的地方。
您正在向 imshow
发送一个频道。绿色那个。这将显示为灰度。你想要做的是发送一张红色和蓝色通道设置为零的图像,以便"see"它为绿色。
你分裂的时候做得对,你有红绿蓝通道。是显示代码把你搞糊涂了,把绿色通道显示成灰度。
import numpy as np
import cv2
image = np.random.rand(200, 200, 3)
b, g, r = cv2.split(image)
cv2.imshow('green', g)
cv2.waitKey(0)
black = np.zeros((200, 200, 3))
black[:, :, 1] = g # Set only green channel
cv2.imshow('green', black)
cv2.waitKey(0)
我正在尝试将图像拆分为 B,G,R
,但拆分后,每个 B G & R 都有灰度图像。
import cv2
import numpy as np
image = cv2.imread('/path/image.jpg') #I have tried using CV_LOAD_IMAGE_COLOR flag as well as 1
#however,image is read as color image. It is not a grayscale image
b,g,r = cv2.split(image)
#[b,g,r]=np.dsplit(image,image.shape[-1])
#b,g,r = cv2.split(image)
#b = image[:,:,0]
#g = image[:,:,1]
#r = image[:,:,2]
#none of the above worked
cv2.imshow("green",g)
cv2.waitKey(0)
cv2.destroyAllWindows()
请帮我把图片拆分成BGR。我什至尝试过使用不同的图像。
分割时,每张图片都是单通道图片。由于它们是单通道图像,当您使用 cv2.imshow(g)
时,它们看起来像灰度图像。但请放心,通道已正确拆分。
通常,在 BGR 图像中,每个通道看起来几乎 与 BGR 图像完全一样,这可能是您感到困惑的地方。
您正在向 imshow
发送一个频道。绿色那个。这将显示为灰度。你想要做的是发送一张红色和蓝色通道设置为零的图像,以便"see"它为绿色。
你分裂的时候做得对,你有红绿蓝通道。是显示代码把你搞糊涂了,把绿色通道显示成灰度。
import numpy as np
import cv2
image = np.random.rand(200, 200, 3)
b, g, r = cv2.split(image)
cv2.imshow('green', g)
cv2.waitKey(0)
black = np.zeros((200, 200, 3))
black[:, :, 1] = g # Set only green channel
cv2.imshow('green', black)
cv2.waitKey(0)