Python 如何使用多个通道复制图像?
我正在python上使用opencv2。我试图复制YCrCb格式的图像,但它只是复制Cb通道 我通过打印复制图像的形状来检查通道数,它仍然是3个通道,只是颜色只有CbPython 如何使用多个通道复制图像?,python,opencv,Python,Opencv,我正在python上使用opencv2。我试图复制YCrCb格式的图像,但它只是复制Cb通道 我通过打印复制图像的形状来检查通道数,它仍然是3个通道,只是颜色只有Cb img = cv.imread('C:\\Users\\Anon\\Pictures\\CV\\IMAG1227\\pryramid_4.bmp') print(img.shape) for x in range(0, 2): img = cv.pyrDown(img) YCrCb_img = cv.cvtColor(
img = cv.imread('C:\\Users\\Anon\\Pictures\\CV\\IMAG1227\\pryramid_4.bmp')
print(img.shape)
for x in range(0, 2):
img = cv.pyrDown(img)
YCrCb_img = cv.cvtColor(img, cv.COLOR_BGR2YCrCb)
height, width, channel = YCrCb_img.shape
print(YCrCb_img.shape)
copy = YCrCb_img.copy()
print(copy.shape)
cv.imwrite('C:\\Users\\Anon\\Pictures\\CV\\IMAG1227\\YCr_CB_copyTest.bmp', copy)
生成的图像颜色看起来与下图中的Cb图片相同
返回的形状是
打印(YCrCb\u img.shape)
=>(3004003)
打印(copy.shape)
=>(300、400、3)为了访问单个通道,请使用cv2.split()函数
像这里
YCrCb_img = cv.cvtColor(img, cv.COLOR_BGR2YCrCb)
y,cr,cb = cv.split(YCrCb_img)
现在分别检查y,cr,cb的形状,如果我没有错的话,你会得到你猜的结果
print(y.shape)
您知道Cb和Cr通道是伪彩色的,并单独保存,对吗?您正在转换整个映像并将该映像保存到磁盘。维基百科上的图片分别显示了每个频道。