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

감마 보정하기

imadjustlowbottom에, hightop에 매핑합니다. 기본적으로 low ~ high의 값은 bottom ~ top의 값에 선형 매핑됩니다. 예를 들어, lowhigh의 중간에 있는 값은 bottomtop의 중간에 있는 값에 대응합니다.

imadjust감마 보정 인자를 지정하는 추가 인수를 받을 수 있습니다. 감마의 값에 따라 입력 영상과 출력 영상의 값 매핑이 비선형일 수도 있습니다. 예를 들어, lowhigh의 중간에 있는 값이 bottomtop의 중간에 있는 값보다 크거나 작은 값에 매핑될 수 있습니다.

감마는 0과 무한대 사이의 어떤 값도 가능합니다. 감마가 1(디폴트 값)이면 매핑은 선형입니다. 감마가 1보다 작으면 매핑은 더 높은(밝은) 출력 값에 치우치게 됩니다. 감마가 1보다 크면 매핑은 더 낮은(어두운) 출력 값에 치우치게 됩니다.

이 그림에서 이 관계를 보여줍니다. 세 변환 곡선은 감마가 1보다 작거나 같거나 클 때 값이 어떻게 매핑되는지를 보여줍니다. (각 그래프에서 x 축은 입력 영상의 명암 값, y 축은 출력 영상의 명암 값을 나타냅니다.)

서로 다른 세 가지 감마 보정 설정을 보여주는 플롯

대비 조정 시 감마 지정하기

이 예제에서는 imadjust 함수로 대비를 조정할 때 감마를 지정하는 방법을 보여줍니다. 기본적으로 imadjust는 감마 값 1을 사용합니다. 그러면 원본 영상과 출력 영상의 명암 값이 선형으로 매핑됩니다. 감마 값이 1보다 작으면 매핑에서 더 높은(밝은) 출력 값으로 치우치게 됩니다. 감마 값이 1보다 크면 더 낮은(어두운) 출력 값으로 치우치게 됩니다.

영상을 작업 공간으로 읽어 들입니다. 이 예제에서는 인덱스 영상을 읽어 들여 회색조 영상으로 변환합니다.

[X,map] = imread('forest.tif');
I = ind2gray(X,map);

1보다 작은 감마 값(0.5)을 지정하면서 대비를 조정합니다. 이 예제에서는 imadjust를 호출할 때 입력 및 출력 영상의 데이터 범위를 빈 행렬로 지정합니다. 빈 행렬을 지정하면 imadjust는 디폴트 범위인 [0,1]을 사용합니다. 이 예제에서는 두 범위 모두 비어 있습니다. 그러면 다른 데이터 조정 없이 감마 보정이 적용됩니다.

J = imadjust(I,[],[],0.5);

원본 영상을 대비가 조정된 영상과 함께 표시합니다.

imshowpair(I,J,'montage')