OpenCV Color spaces
Ref: https://docs.opencv.org/master/
BGR, RGB, YUV, HSV 등은 8 bits 3 채널로 픽셀마다 24 bits 값을 갖고, Grayscale은 8 bits 1 채널로 픽셀마다 8 bits 값을 갖습니다.
알파채널이 추가된 RGBA 등은 8 bits 4 채널로 픽셀마다 32 bits 값을 갖습니다.
이미지 배열은 (가로, 세로, 채널) 3 차원 배열로 이루어져있고, 1 채널 이미지의 경우 (가로, 세로) 2 차원 배열로 표현할 수 있습니다.
BGR 3 채널이 기본으로 사용됩니다.
예를 들어 400x400 빨간색 빈 이미지를 생성하고 싶을 때, 아래와 같은 코드를 이용할 수 있습니다.
import cv2 as cv
import numpy as np
image = np.zeros((400,400,3), dtype=np.uint8)
image[:,:,2] = 255
cv.imshow('red', image)
cv.waitKey()
BGR
import cv2 as cv
import numpy as np
bgr_image = np.array([[[255, 0, 0],[ 0,255, 0],[ 0, 0,255]],
[[255,255, 0],[255, 0,255],[ 0,255,255]]],
dtype=np.uint8)
cv.imshow('bgr', bgr_image)
cv.waitKey()
Grayscale
import cv2 as cv
import numpy as np
gray_image = np.array([[ 0,127,255],
[255,127, 0]],
dtype=np.uint8)
cv.imshow('gray', gray_image)
cv.waitKey()