Can anyone help me to convert an RGB colour space image to YUV colour space image and to YCbCr colour space image using opencv Python?
解决方案
Use cv2.cvtColor(src, code) to convert Color-Space, the code starts with COLOR_.
You can use this to look for the color code.
import cv2
## get all color codes
codes = [x for x in dir(cv2) if x.startswith("COLOR_")]
## print first three color codes
print(codes[:3])
# ['COLOR_BAYER_BG2BGR', 'COLOR_BAYER_BG2BGRA', 'COLOR_BAYER_BG2BGR_EA']
## print all color codes
print(codes)
If you read the image into BGR space, then use cv2.COLOR_BGR2YUV and cv2.COLOR_BGR2YCrCb:
#cv2.COLOR_BGR2YUV
#cv2.COLOR_BGR2YCrCb
img = cv2.imread("test.png")
yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
cv2.imwrite("yuv.png", yuv)
If you read the image into RGB space, then use cv2.COLOR_RGB2YUV and cv2.COLOR_RGB2YCrCb.
Here is an example image(in BGR-HSV-YUV-YCRCB color spaces):