-
Pseudo Coloring 예제컴공지식/컴퓨터비전 2024. 9. 20. 00:59
Pseudo Coloring은 회색조 이미지에 인위적으로 색을 입히는 기법이다.
인간의 눈은 회색조로 표현된 이미지에서 작은 차이를 보기 어렵지만, 색을 입히면 그 차이를 더 쉽게 구별할 수 있다.
아래 코드는 그런 작업을 어떻게 하는지 보여주고 있다.
int main() {
Mat gray = imread("xray.jpg", 0); // "xray.jpg"라는 이미지를 흑백(회색조)으로 불러옴
Mat color; // 의사 색상 처리가 된 이미지를 저장할 Mat 변수
// 흑백 이미지에 컬러 맵을 적용 (COLORMAP_JET을 사용)
applyColorMap(gray, color, COLORMAP_JET);
// 흑백 이미지와 의사 색상 처리된 이미지 출력
imshow("gray", gray);
imshow("image", color);
waitKey(0); // 키 입력을 대기
return 0; // 프로그램 종료
}applyColorMap(gray, color, COLORMAP_JET); 이 부분이 의사 색상 처리의 핵심이다.
applyColorMap 함수는 흑백 이미지(gray)에 컬러 맵을 적용해 컬러 이미지(color)로 변환해준다.
COLORMAP_JET는 OpenCV에서 제공하는 여러 가지 컬러 맵 중 하나다.
"JET" 컬러 맵은 파란색에서 빨간색까지 색을 입혀서 값이 낮은 부분은 파란색, 값이 높은 부분은 빨간색으로 표시된다.
아무튼 위 코드는 X레이 사진을 더 구분이 잘되게 해주는 코드다.
컬러 맵 종류를 추가로 알아보자면 다음과 같다.
- COLORMAP_JET: 파란색에서 빨간색으로 변하는 그라데이션.
- COLORMAP_HSV: 색상, 채도, 명도를 기준으로 하는 컬러 맵.
- COLORMAP_RAINBOW: 무지개처럼 다양한 색을 사용하는 맵.
- COLORMAP_HOT: 뜨거운 색상 계열(검정 → 빨강 → 노랑 → 흰색).
'컴공지식 > 컴퓨터비전' 카테고리의 다른 글
엣지 픽셀(Edge pixels)과 엣지(Edges) (1) 2024.09.25 White Balancing 예제 (0) 2024.09.20 HSI 예제 (1) 2024.09.20 Split/Merge (0) 2024.09.20 Color Conversion (0) 2024.09.20