이미지 색공간 변환
기능 설명
이 스텝은 입력 이미지를 한 색공간에서 다른 색공간으로 변환할 수 있습니다(예: BGR에서 그레이스케일로 변환, BGR에서 HSV로 변환 등). 색공간 변환을 통해 이미지 특징을 더 잘 부각시켜 후속 이미지 처리에 도움이 됩니다.
|
Mech-Vision에서 2D 카메라로 획득한 컬러 이미지의 기본 색공간은 BGR이고, 그레이스케일 이미지의 기본 색공간은 그레이스케일입니다. 이 스텝을 사용하여 색공간을 변환할 때는 입력 이미지의 실제 색공간에 따라 올바른 변환 유형을 선택하십시오. |
파라미터 설명
| 파라미터 | 설명 |
|---|---|
변환 유형 |
파라미터 설명: 이미지 색공간의 변환 유형을 지정하는 데 사용됩니다. 값 목록: BGR to Grayscale, RGB to Grayscale, Grayscale to BGR, Grayscale to RGB, BGR to HSI, RGB to HSV, BGR to YUV, BGR to HSV |
BGR to Grayscale
이 변환 유형을 선택하면 BGR 이미지를 그레이스케일로 변환할 수 있습니다.
변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 BGR 컬러 이미지이고 오른쪽 그림은 변환된 그레이스케일 이미지입니다.
RGB to Grayscale
이 변환 유형을 선택하면 RGB 이미지를 그레이스케일로 변환할 수 있습니다.
변환 방식으로 R 채널 값, G 채널 값, B 채널 값을 각각 선택한 경우, 변환 효과는 아래 그림과 같습니다. 아래 그림은 왼쪽에서 오른쪽으로 각각 R 채널 값, G 채널 값, B 채널 값 방식의 변환 결과를 나타냅니다.
이 옵션을 선택한 후 변환 방식을 설정해야 하며, 일반적으로 "심리학 공식"을 선택하면 됩니다. 다른 요구 사항이 있을 경우, 다른 변환 방식을 선택할 수 있습니다. 각 변환 방식에 대한 설명은 아래와 같습니다.
-
심리학 공식: 사람 눈의 시각 특성에 기반한 가중 그레이스케일 변환 방식이며, 변환 공식은 Gray = 0.299*R + 0.587*G + 0.114*B입니다. R, G, B는 입력 이미지의 3채널 값이며, 계산된 가중 평균값이 그레이스케일 값이 됩니다.
-
평균값: R, G, B 3채널의 평균값을 계산하여 출력 그레이스케일의 채널 값으로 사용합니다. 변환 공식: Gray = (R+G+B)/3.
-
최대값: 그레이스케일의 각 픽셀에 대해 R, G, B 3채널에 해당하는 픽셀 중 최대값을 그레이스케일 값으로 선택합니다.
-
최소값: 그레이스케일의 각 픽셀에 대해 R, G, B 3채널에 해당하는 픽셀 중 최소값을 그레이스케일 값으로 선택합니다.
-
R 채널 값: R 채널 값을 출력 그레이스케일의 값으로 사용하고 다른 채널의 정보는 무시합니다.
-
G 채널 값: G 채널 값을 출력 그레이스케일의 값으로 사용하고 다른 채널의 정보는 무시합니다.
-
B 채널 값: B 채널 값을 출력 그레이스케일의 값으로 사용하고 다른 채널의 정보는 무시합니다.
-
자체 정의한 가중치: 그레이스케일 변환에 사용되는 R, G, B 3채널의 가중치를 자체 정의합니다.
Grayscale to BGR
이 변환 유형을 선택하면 그레이스케일 이미지를 BGR 이미지로 변환할 수 있습니다.
변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 그레이스케일 이미지이고 오른쪽 그림은 변환된 BGR 컬러 이미지입니다.
|
그레이스케일을 BGR 이미지로 변환하는 과정에서 B, G, R 채널에는 각각 그레이스케일 값만 할당되므로 변환된 BGR 이미지의 3개 채널의 값은 서로 같습니다. 따라서 변환된 BGR 이미지는 흑백으로 보이지만 실제 출력은 컬러 이미지입니다. |
Grayscale to RGB
이 변환 유형을 선택하면 그레이스케일 이미지를 RGB 이미지로 변환할 수 있습니다.
변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 그레이스케일 이미지이고 오른쪽 그림은 변환된 RGB 이미지입니다.
BGR to HSI
이 변환 유형을 선택하면 BGR 이미지를 HSI 이미지로 변환할 수 있으며, 선택 후 출력 채널을 설정해야 합니다.
첫 번째 채널을 출력하는 경우를 예로 들면, 변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 BGR 이미지이고 오른쪽 그림은 변환된 HSI 이미지입니다.
RGB to HSV
이 변환 유형을 선택하면 RGB 이미지를 HSV 이미지로 변환할 수 있으며, 선택 후 출력 채널을 설정해야 합니다.
첫 번째 채널을 출력하는 경우를 예로 들면, 변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 RGB 이미지이고 오른쪽 그림은 변환된 HSV 이미지입니다.
BGR to YUV
이 변환 유형을 선택하면 BGR 이미지를 YUV 이미지로 변환할 수 있으며, 선택 후 출력 채널을 설정해야 합니다.
첫 번째 채널을 출력하는 경우를 예로 들면, 변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 BGR 이미지이고 오른쪽 그림은 변환된 YUV 이미지입니다.
BGR to HSV
이 변환 유형을 선택하면 BGR 이미지를 HSV 이미지로 변환할 수 있으며, 선택 후 출력 채널을 설정해야 합니다.
파란색 영역 추출을 예로 들면, 변환 효과는 아래 그림과 같습니다. 왼쪽 그림은 BGR 이미지이고 오른쪽 그림은 HSV 색공간의 H(색조) 채널로 변환된 이미지입니다.
|
OpenCV의 HSV 색공간에서 H 채널의 값 범위는 0~180입니다. 주요 색상별 H 값 참조:
따라서 파란색 영역을 추출하려면 H 채널의 임계값을 100~130 범위로 설정하면 배경에서 파란색을 단독으로 추출할 수 있습니다. |
조정 사례
사례 1: 파란색 라벨 인식, 배경에 금속 반사광이 있는 경우
-
시나리오: 라벨 색상은 안정적이지만 반사 영역이 BGR 이미지에서 목표 색상과 유사하여 오인식이 발생하기 쉽습니다.
-
권장 방법: 우선 BGR 至 HSV를 선택하고, H 채널로 후속 분할을 시도합니다.
-
조정 방향: H, S, V 세 채널의 이미지 효과를 각각 확인하여 목표 물체 영역이 더 두드러지고 배경이 더 깔끔한 채널을 선택합니다.
사례 2: 목표와 배경의 밝기 차이가 명확하고 색상 정보를 활용할 필요가 없는 경우
-
시나리오: 컬러 카메라에서 BGR 이미지를 출력하지만 목표 물체와 배경 간의 구분이 주로 밝기 차이에 의존하며, 색상 차이가 뚜렷하지 않거나 색상 정보가 후속 처리에 도움이 되지 않는 경우입니다(예: 어두운 무광 배경에 밝은 금속 부품). 처리 복잡도를 낮추고 밝기 대비를 부각시키기 위해 이미지를 그레이스케일로 변환해야 합니다.
-
권장 방법: 우선 BGR 至 그레이스케일(또는 RGB 至 그레이스케일)을 선택하고 변환 방법은 먼저 "심리학 공식"을 사용합니다.
-
조정 방향: "심리학 공식"을 사용하여 그레이스케일 이미지에서 목표 윤곽이 선명한지 확인합니다. 목표 물체의 가장자리가 뚜렷하지 않으면 "최대값" 또는 "R/G/B 채널 값" 등의 방법을 시도하여 목표 영역의 밝기가 가장 두드러진 채널을 찾습니다.