데이터 전처리: 이미지 처리 – 컬러 변환

ㅁ 이미지 처리

ㅇ 정의:
이미지 데이터에서 색상 공간을 변경하거나 채널을 변환하여 분석, 시각화, 모델 입력 등에 적합하게 만드는 과정.

ㅇ 특징:
– RGB, HSV, Grayscale 등 다양한 색상 공간 변환 가능
– 채널별로 분리/합성 가능
– OpenCV, Pillow 등 라이브러리에서 간단히 구현 가능
– 색상 정보 보존 여부에 따라 데이터 용량 및 처리 속도에 영향

ㅇ 적합한 경우:
– 색상 기반 객체 인식 전처리
– 조명 변화에 강인한 특징 추출 필요 시 (예: HSV 변환)
– 연산량 감소를 위해 흑백 변환 필요 시

ㅇ 시험 함정:
– RGB와 BGR 순서 혼동 (특히 OpenCV는 기본 BGR)
– HSV의 H 범위가 0~360이 아니라 0~179(OpenCV 기준)인 점
– Grayscale 변환 시 3채널 유지 여부 혼동

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “HSV 변환은 조명 변화에 강인한 색상 분석을 가능하게 한다.”
– X: “RGB에서 HSV로 변환하면 항상 데이터 크기가 줄어든다.”

================================

1. 컬러 변환

ㅇ 정의:
디지털 이미지의 색상 표현 방식을 다른 색상 공간으로 변경하는 작업.

ㅇ 특징:
– RGB ↔ HSV, RGB ↔ LAB, RGB ↔ Grayscale 등 다양한 변환 지원
– 색상 공간 선택에 따라 특정 분석에 유리
– 변환 과정에서 일부 정보 손실 가능

ㅇ 적합한 경우:
– 특정 색상 범위 마스크 처리
– 색상 기반 분할/클러스터링
– 조명 조건 변화에 강인한 특징 추출

ㅇ 시험 함정:
– 색상 공간별 범위 차이 혼동 (예: OpenCV HSV의 H 범위)
– Grayscale 변환 시 채널 수와 데이터 타입 혼동
– RGB와 BGR 순서 차이 간과

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “LAB 색상 공간은 인간의 시각 특성을 반영하여 색 차이를 잘 표현한다.”
– X: “Grayscale 변환은 항상 이미지의 명암 대비를 향상시킨다.”

ㅁ 추가 학습 내용

YUV와 YCbCr 색상 공간은 모두 휘도 정보와 색차 정보를 분리하여 표현하는 방식이지만, 사용 목적과 정의에 차이가 있다.
YUV는 주로 아날로그 비디오 시스템에서 사용되며, Y는 휘도(luminance), U와 V는 색차(chrominance) 성분을 나타낸다.
YCbCr은 디지털 영상 및 방송 표준에서 사용되며, Y는 휘도, Cb와 Cr은 각각 청색과 적색 성분의 차이를 나타낸다. YCbCr은 JPEG, MPEG, H.264 등 영상 압축 포맷에서 널리 쓰인다.

RGB ↔ YCbCr 변환은 시험에서 자주 출제되며, 변환 공식은 표준(예: ITU-R BT.601, BT.709)에 따라 다를 수 있다. 변환의 목적은 휘도와 색차를 분리하여 압축 시 색차 성분을 더 많이 압축해도 시각적 품질 저하를 최소화하기 위함이다.

색상 공간 변환 시 정규화 여부와 데이터 타입 변환 과정에 대한 이해가 필요하다. 예를 들어, float ↔ uint8 변환 시 값 범위가 [0,1]과 [0,255]로 달라 스케일 변화가 발생하며, 정수 변환 시 반올림 또는 잘림(truncation)에 따른 값 손실이 생길 수 있다.

또한 OpenCV, scikit-image 등 라이브러리별 색상 공간 변환 함수는 입력 이미지의 데이터 타입과 값 범위, 채널 순서(BGR 또는 RGB)에서 차이가 있으므로, 각 라이브러리의 문서를 확인하고 올바르게 변환해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*