Main Content

im2gray

RGB 이미지를 회색조 이미지로 변환

R2020b 이후

    설명

    예제

    I = im2gray(RGB)는 지정된 트루컬러 이미지 RGB를 회색조 명암 이미지 I로 변환합니다. im2gray 함수는 회색조 이미지를 입력값으로 받고 수정하지 않은 채로 반환합니다.

    im2gray 함수는 휘도는 유지하고 색상과 채도 정보는 제거하여 RGB 이미지를 회색조로 변환합니다.

    예제

    모두 축소

    트루컬러(RGB) 이미지를 파일에서 작업 공간으로 읽어 들이고 표시합니다.

    RGB = imread('example.tif');
    imshow(RGB)

    RGB 이미지를 회색조 이미지로 변환합니다.

    I = im2gray(RGB);

    변환된 회색조 이미지를 표시합니다.

    imshow(I)

    입력 인수

    모두 축소

    트루컬러 이미지로, m×n×3 숫자형 배열로 지정됩니다. 또한, im2gray는 m×n 숫자형 배열(회색조 이미지)을 받고 그 배열을 수정하지 않은 채로 반환합니다.

    im2gray 함수는 데이터형이 double형 또는 single형인 트루컬러 이미지가 [0, 1] 범위의 값을 가질 것이라고 예상합니다. 이미지의 값이 [0, 1] 범위를 벗어나면 rescale 함수를 사용하여 값을 예상 범위로 다시 스케일링할 수 있습니다.

    Parallel Computing Toolbox™가 설치되어 있으면 RGBgpuArray 객체가 될 수도 있습니다.

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

    출력 인수

    모두 축소

    회색조 이미지로, m×n 숫자형 배열로 반환됩니다. im2gray의 입력값이 회색조 이미지이면 출력 이미지 I는 입력 이미지와 동일합니다.

    Parallel Computing Toolbox가 설치되어 있으면 IgpuArray 객체가 될 수도 있습니다.

    • im2gray 함수는 회색조 이미지를 입력값으로 받을 수 있고 그 이미지를 수정하지 않고 반환하는 점을 제외하고 rgb2gray와 동일합니다. rgb2gray 함수는 입력 이미지가 회색조 이미지인 경우 오류를 반환합니다. im2gray 함수를 사용한다면 다음 루프와 같은 코드는 더 이상 필요하지 않습니다.

      if ndims(I) == 3
          I = rgb2gray(I);
      end
      
    • im2gray 함수는 rgb2gray 함수와 달리 입력값으로 컬러맵을 받지 않습니다. 컬러맵을 회색조로 변환하려면 cmap2gray 함수를 사용하십시오.

    알고리즘

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

    0.298936021293775 * R + 0.587043074451121 * G + 114020904255103 * B 
    

    im2gray 함수에서 회색조 값을 계산하는 데 사용되는 계수는 소수점 이하 세 자리수로 반올림하면 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
    

    확장 기능

    버전 내역

    R2020b에 개발됨

    참고 항목

    (Image Processing Toolbox) | | (Image Processing Toolbox) | (Image Processing Toolbox) | | (Image Processing Toolbox) |