영상처리/OpenCV

색상 공간 변환

성혜영 2022. 6. 8. 13:37

본래의 색상 공간에서 다른 색상 공간으로 변환할 때 사용. 색상 공간 변환 함수는 데이터 타입을 같게 유지하고 채널을 변환. 출력된 이미지는 입력된 이미지의 이미지 크기와 정밀도가 동일한 배열이 됨. 

 

# 색상 공간 변환 함수

dst = cv2.cvtColor(

    src,

    code,

    dstCn=None

)

색상 공간 변환 함수는 입력 이미지(src)에 색상 변환 코드(code)를 적용해 출력 이미지(dst)로 반환. 색상 변환코드를 사용해 BGR 색상 공간을 RGBA 색상 공간으로 변환하거나 그레이스케일, HSV, CIE Luv 등 단일 채널부터 3/4채널의 색상 공간으로도 변환 가능.

출력 채널(dstCn)은 출력 이미지(dst)에 필요한 채널 수를 설정. 일반적으로 출력 채널에 값을 할당하지 않아 기본값을 사용해 자동으로 채널의 수를 결정하게 함.

 

# 색상 공간 변환

import cv2



src = cv2.imread("Chapter5\Example-05-02-Py\crow.jpg")

dst = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)



cv2.imshow("dst", dst)

cv2.waitKey(0)

cv2.destroyAllWindows()

 

다중 채널 색상 이미지(HSV)로 변환하는 예제

HSV : Hue, Saturation, Value -> 색상, 채도, 명도

cv2.imshow() 함수는 기본적으로 bgr의 색상 패턴. hsv 중 h는 유일하게 0~179의 범위로 표현되고, s와 v는 0~255로 표현. 이로인해 출력 결과는 이미지가 깨진 형태처럼 보임. 

 

 

색상 변환 코드 : ‘원본 이미지 색상 공간 2 결과 이미지 색상 공간’ -> BGR2GRAY

8비트 이미지 색상 범위 : 0 ~ 255

16비트 이미지 색상 범위 : 0 ~ 65,536

32비트 이미지 색상 범위 : 0.0 ~ 1.0

 

'영상처리 > OpenCV' 카테고리의 다른 글

각종 흐림효과  (0) 2022.06.08
선형 방정식 시스템의 해 찾기  (0) 2022.06.08
트랙바 생성  (0) 2022.06.08
각종 그리기 함수  (0) 2022.06.08
도형 그리기  (0) 2022.06.08