天天看點

python rgb轉yuv_在Opencv Python中将RGB圖像轉換為YUV和YCbCr顔色空間圖像

python rgb轉yuv_在Opencv Python中将RGB圖像轉換為YUV和YCbCr顔色空間圖像

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):

python rgb轉yuv_在Opencv Python中将RGB圖像轉換為YUV和YCbCr顔色空間圖像