OpenCV

[OpenCV] 이미지 처리 (색상변환)

괜찮나요닝겐 2024. 8. 18. 13:46
728x90
반응형

오늘 해볼건 opencv로 이미지를 읽어서 rgb, hsv, lab, yuv등으로 변환하는걸 해보자

 

import cv2

# 이미지 로드 (기본적으로 BGR로 로드됨)
image_bgr = cv2.imread('path_to_your_image.jpg')

# BGR 이미지를 RGB로 변환
image_rgb = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB)

# BGR 이미지를 HSV로 변환
image_hsv = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2HSV)

# BGR 이미지를 LAB로 변환
image_lab = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2Lab)

# BGR 이미지를 YUV로 변환
image_yuv = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2YUV)


# 저장할 디렉토리
output_dir = '/my_dir/'
os.makedirs(output_dir, exist_ok=True)  # 디렉토리 생성 (없으면 생성)

# 이미지 저장
cv2.imwrite(os.path.join(output_dir, 'image_rgb.jpg'), cv2.cvtColor(image_rgb, cv2.COLOR_RGB2BGR))  # RGB를 BGR로 변환하여 저장
cv2.imwrite(os.path.join(output_dir, 'image_hsv.jpg'), image_hsv)
cv2.imwrite(os.path.join(output_dir, 'image_lab.jpg'), image_lab)
cv2.imwrite(os.path.join(output_dir, 'image_yuv.jpg'), image_yuv)
  • YUV: YUV 색 공간은 밝기(Y)와 색차(U, V) 성분으로 색상을 표현
  • LAB: LAB 색 공간은 색상 정보를 L (Lightness), A (Green-Red), B (Blue-Yellow) 채널로 표현
  • HSV: HSV (Hue, Saturation, Value)는 색조, 채도, 명도를 기준으로 색상을 표현
  • RGB: RGB 색 공간은 빨강(Red), 초록(Green), 파랑(Blue) 성분으로 색상을 표현

 

오늘은 여기까지

 

728x90
반응형