我正在通过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.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图片相同
返回的形状是
print(YCrCb_img.shape)
=>(300,400,3)
print(copy.shape)
=>(300,400,3)
答案 0 :(得分:0)
要访问单个频道,请使用cv2.split()函数
喜欢这里
YCrCb_img = cv.cvtColor(img, cv.COLOR_BGR2YCrCb)
y,cr,cb = cv.split(YCrCb_img)
现在分别检查y,cr,cb的形状,您将得到结果,因为您猜测我没有记错。
print(y.shape)