Main Content

imadjust

영상 명암 값 또는 컬러맵 조정

설명

예제

J = imadjust(I)는 회색조 영상 I의 명암 값을 J의 새 값에 매핑합니다. 기본적으로 imadjust는 모든 픽셀 값의 하위 1%와 상위 1%를 포화(saturate) 처리합니다. 이 함수는 포화 한도 사이의 픽셀 값을 0과 1 사이의 값에 선형적으로 매핑합니다. 이렇게 하면 출력 영상 J의 대비가 증가합니다.

이 구문은 imadjust(I,stretchlim(I))와 동일합니다.

J = imadjust(I,[low_in high_in])low_inhigh_in 사이의 값이 0과 1 사이의 값에 선형적으로 매핑되도록 I의 명암 값을 J의 새 값에 매핑합니다.

예제

J = imadjust(I,[low_in high_in],[low_out high_out])low_inhigh_in 사이의 값이 low_outhigh_out 사이의 값에 선형적으로 매핑되도록 I의 명암 값을 J의 새 값에 매핑합니다.

J = imadjust(I,[low_in high_in],[low_out high_out],gamma)I의 명암 값을 J의 새 값에 매핑합니다. 여기서 gammaI의 값과 J의 값 사이 관계를 나타내는 곡선의 모양을 지정합니다.

예제

J = imadjust(RGB,[low_in high_in],___)은 트루컬러 영상 RGB의 값을 J의 새 값에 매핑합니다. 각 색 채널에 서로 같은 매핑 또는 서로 고유한 매핑을 적용할 수 있습니다.

newcmap = imadjust(cmap,[low_in high_in],___)은 컬러맵 cmap의 값을 newcmap의 새 값에 매핑합니다. 각 색 채널에 서로 같은 매핑 또는 서로 고유한 매핑을 적용할 수 있습니다.

예제

모두 축소

대비가 낮은 회색조 영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

I = imread('pout.tif');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

데이터의 1%가 낮은 명암과 높은 명암에서 포화 처리되도록 영상의 대비를 조정한 후, 영상을 표시합니다.

J = imadjust(I);
figure
imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

대비가 낮은 회색조 영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

I = imread('pout.tif');
imshow(I);

Figure contains an axes object. The axes object contains an object of type image.

대비 제한을 지정하여 영상의 대비를 조정합니다.

K = imadjust(I,[0.3 0.7],[]);
figure
imshow(K)

Figure contains an axes object. The axes object contains an object of type image.

RGB 영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

RGB = imread('football.jpg');
imshow(RGB)

Figure contains an axes object. The axes object contains an object of type image.

대비 제한을 지정하여 RGB 영상의 대비를 조정합니다.

RGB2 = imadjust(RGB,[.2 .3 0; .6 .7 1],[]);
figure
imshow(RGB2)

Figure contains an axes object. The axes object contains an object of type image.

영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

I = imread('pout.tif');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

스트레칭을 위해 표준편차와 영상 평균을 계산합니다.

n = 2;  
Idouble = im2double(I); 
avg = mean2(Idouble);
sigma = std2(Idouble);

표준편차를 기반으로 대비를 조정합니다.

J = imadjust(I,[avg-n*sigma avg+n*sigma],[]);

조정된 영상을 표시합니다.

imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

회색조 영상으로, m×n 숫자형 행렬로 지정됩니다.

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

트루컬러 영상으로, m×n×3 숫자형 배열로 지정됩니다.

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

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

데이터형: double

입력 영상의 대비 제한으로, 다음 형식 중 하나로 지정됩니다.

입력 유형설명
회색조 영상[low_in high_in] 형식의 1×2 벡터출력 영상의 값에 매핑할, 입력 회색조 영상의 대비 제한을 지정합니다. 값은 범위 [0 1.0] 내에 있어야 합니다. low_in의 값은 high_in의 값보다 작아야 합니다.
RGB 영상 또는 컬러맵[low_RGB_triplet; high_RGB_triplet] 형식의 2×3 행렬출력 영상 또는 컬러맵의 값에 매핑할, 입력 RGB 영상 또는 컬러맵의 대비 제한을 지정합니다. 배열의 각 행은 RGB 3색입니다. 값은 범위 [0 1] 내에 있어야 합니다. low_RGB_triplet의 값은 high_RGB_triplet의 값보다 작아야 합니다.
RGB 영상 또는 컬러맵[low_in high_in] 형식의 1×2 벡터출력 영상의 값에 매핑할, 입력 RGB 영상의 대비 제한을 지정합니다. 각 값은 범위 [0 1.0] 내에 있어야 합니다. low_in의 값은 high_in의 값보다 작아야 합니다. RGB 영상이나 컬러맵에 1×2 벡터를 지정할 경우 imadjust는 각 색 평면 또는 채널에 동일한 조정을 적용합니다.
모든 유형[] 빈 행렬([])을 지정할 경우 imadjust는 디폴트 제한 [0 1]을 사용합니다.

imadjustlow_in보다 작은 값과 high_in보다 큰 값을 자릅니다. low_in보다 작은 값은 low_out에 매핑되고, high_in보다 큰 값은 high_out에 매핑됩니다.

데이터형: single | double

출력 영상의 대비 제한으로, 다음 형식 중 하나로 지정됩니다.

입력 유형설명
회색조 영상[low_out high_out] 형식의 1×2 벡터출력 회색조 영상의 대비 제한을 지정합니다. 각 값은 범위 [0 1] 내에 있어야 합니다.
RGB 영상 또는 컬러맵[low_RGB_triplet; high_RGB_triplet] 형식의 2×3 행렬출력 RGB 영상 또는 컬러맵의 대비 제한을 지정합니다. 배열의 각 행은 RGB 3색입니다. 값은 범위 [0 1] 내에 있어야 합니다.
RGB 영상 또는 컬러맵[low_out high_out] 형식의 1×2 벡터출력 영상의 대비 제한을 지정합니다. 각 값은 범위 [0 1] 내에 있어야 합니다. RGB 영상이나 컬러맵에 1×2 벡터를 지정할 경우 imadjust는 각 평면 또는 채널에 동일한 조정을 적용합니다.
모든 유형[] 빈 행렬([])을 지정할 경우 imadjust는 디폴트 제한 [0 1]을 사용합니다.

high_outlow_out보다 작을 경우, imadjust는 사진의 네거티브에서처럼 출력 영상을 반전시킵니다.

데이터형: single | double

입력값과 출력값의 관계를 나타내는 곡선의 모양으로, 음이 아닌 스칼라 또는 1×3 숫자형 벡터로 지정됩니다.

  • gamma가 1보다 작으면 imadjust는 매핑의 더 높은(더 밝은) 출력값 쪽으로 가중치를 줍니다.

  • gamma가 1보다 크면 imadjust는 매핑의 더 낮은(더 어두운) 출력값 쪽으로 가중치를 줍니다.

  • gamma가 1×3 벡터인 경우 imadjust는 각 색 성분 또는 채널에 고유한 감마를 적용합니다.

  • 인수를 생략할 경우 gamma는 디폴트 값 1(선형 매핑)로 설정됩니다.

데이터형: double

출력 인수

모두 축소

조정된 영상으로, 회색조 영상 또는 RGB 영상으로 반환됩니다. J는 입력 회색조 영상 I 또는 트루컬러 영상 RGB와 크기 및 클래스가 같습니다.

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

조정된 컬러맵으로, 입력 컬러맵 cmap과 동일한 클래스의 c×3 숫자형 행렬로 반환됩니다.

데이터형: single | double

확장 기능

버전 내역

R2006a 이전에 개발됨