OpenCV-Python
OpenCV Python 이미지 색상 변환
rkftks22
2021. 8. 20. 11:30
OpenCV 색상 변환을 다루겠습니다.
이미지 색상 변환 : cv2.cvtColor(src, code)
이미지를 한 색상 공간에서 다른 색상 공간으로 변환합니다.
OpenCV는 이미지를 읽어 들일 때 BGR 순으로 읽어 들입니다.
그러므로 여러분이 알고 있는 빛의 삼원색 RGB로 바꿀 경우
OpenCV에선 빨간색과 파란색 성분이 바뀌어 이상하게 보입니다.
import cv2
img = cv2.imread("imgs/dog.jpg")
img_cvt = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("img", img)
cv2.imshow("img_cvt", img_cvt)
cv2.waitKey()
cv2.destroyAllWindows()
src : 입력으로 넣을 이미지
code : 색 공간 변환 코드
- cv2.COLOR_BGR2BGRA
- cv2.COLOR_RGB2RGBA
- cv2.COLOR_BGRA2BGR
- cv2.COLOR_RGBA2RGB
- cv2.COLOR_BGR2RGB
- cv2.COLOR_BGR2GRAY
- cv2.COLOR_BGR2BGR565
- cv2.COLOR_GRAY2BGR565
- cv2.COLOR_BGR2BGR555
- cv2.COLOR_BG2XYZ
- cv2.COLOR_BGR2YCrCb
- cv2.COLOR_BG2HSV
- cv2.COLOR_BGR2Lab
- cv2.COLOR_BGR2Luv
- cv2.COLOR_BGR2HLS
- cv2.COLOR_BGR2YUV
BGR : BLUE, GREEN, RED
BGRA : BGR + ALPHA(투명도)
RGB : RED, GREEN, BLUE
RGBA : RGB + ALPHA(투명도)
GRAY : 회색조 이미지
BGR565 : BGR 16비트 이미지
XYZ : X, Y, Z채널 CIE XYZ(CIE 1931 색공간)
YCrCb : Y(휘도 : 밝기), Cb/Cr(색채, 크로마 : 색상 성분)
HSV : Hue(색상), Saturation(채도), Value(밝기)으로 변환
Lab : CIE Lab으로 변환 : L(밝기), A: RED-GREEN 색상 정도, B : YELLOW-BLUE 색상 정도
Luv : CIE Luv으로 변환
HLS : Hue(색상), Lightness(밝기), Saturation(채도)
YUV : Y(밝기), U(밝기와 파란색과의 색상 차), V(밝기와 빨간색과의 색상 차)
이외에도 무수히 많은 code들이 있습니다. 궁금하신 경우 이곳에서 확인해보시기 바랍니다. 중간중간 설명이 첨부되어있는 것들이 있는데 누르시면 색상에 대한 수식들도 나옵니다.