이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

rgb2gray

RGB 이미지나 컬러맵을 회색조로 변환하기

설명

예제

I = rgb2gray(RGB)는 트루컬러 이미지 RGB를 회색조 이미지 I로 변환합니다. rgb2gray 함수는 휘도는 유지하고 색상과 채도 정보는 제거하여 RGB 이미지를 회색조로 변환합니다. Parallel Computing Toolbox™가 설치되어 있으면 rgb2gray는 GPU에서 이 변환 작업을 수행할 수 있습니다.

예제

newmap = rgb2gray(map)map과 동일한 회색조 컬러맵을 반환합니다.

예제

모두 축소

RGB 이미지를 읽고 표시한 다음 회색조로 변환합니다.

샘플 파일 peppers.png를 읽고 RGB 이미지를 표시합니다.

RGB = imread('peppers.png');
imshow(RGB)

RGB 이미지를 회색조 이미지로 변환하여 표시합니다.

I = rgb2gray(RGB);
figure
imshow(I)

RGB 컬러맵으로 정의된 인덱스 이미지를 읽습니다. 그런 다음 컬러맵을 회색조로 변환합니다.

RGB 컬러맵으로 정의된 인덱스 이미지인 샘플 파일 corn.tif를 읽습니다.

[X,map] = imread('corn.tif');

이미지를 표시합니다.

imshow(X,map)

RGB 컬러맵을 회색조 컬러맵으로 변환하고 이미지를 다시 표시합니다.

newmap = rgb2gray(map);
imshow(X,newmap)

입력 인수

모두 축소

트루컬러 이미지로, mxnx3 숫자형 배열로 지정됩니다.

Parallel Computing Toolbox가 설치되어 있으면 RGB는 gpuArray가 될 수도 있습니다.

데이터형: single | double | uint8 | uint16

컬러맵으로, [0, 1] 범위의 값으로 구성된 cx3 숫자형 행렬로 지정됩니다. map의 각 행은 컬러맵의 하나의 색에 대한 빨간색, 녹색, 파란색 구성요소를 지정하는, 요소를 3개 가진 RGB 3색입니다.

Parallel Computing Toolbox가 설치되어 있으면 map는 gpuArray가 될 수도 있습니다.

데이터형: double

출력 인수

모두 축소

회색조 이미지로, mxn 숫자형 배열로 반환됩니다.

Parallel Computing Toolbox가 설치되어 있으면 I는 gpuArray가 될 수도 있습니다.

회색조 컬러맵으로, [0, 1] 범위의 값으로 구성된 cx3 숫자형 행렬로 반환됩니다. newmap의 세 열이 동일하기 때문에 map의 각 행은 하나의 농도값을 지정하게 됩니다.

Parallel Computing Toolbox가 설치되어 있으면 newmap는 gpuArray가 될 수도 있습니다.

데이터형: double

  • rgb2grayMATLAB® Coder™를 사용하는 C 코드 생성을 지원합니다.

알고리즘

rgb2gray는 R, G, B 성분에 가중치를 적용하여 합을 만들어내는 방식으로 RGB 값을 회색조 값으로 변환합니다.

0.2989 * R + 0.5870 * G + 0.1140 * B 

위 가중치는 Y 성분을 계산하기 위해 rgb2ntsc 함수가 사용한 가중치입니다.

rgb2gray에서 회색조 값을 계산하는 데 사용되는 계수는 소수점 이하 세 자리수로 반올림하면 Rec.ITU-R BT.601-7에서 휘도(E'y)를 계산하는 데 사용되는 값과 같습니다.

Rec.ITU-R BT.601-7은 다음 식을 사용하여 E'y를 계산합니다.

0.299 * R + 0.587 * G + 0.114 * B

확장 기능

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

참고 항목

| | | |

도움말 항목