Main Content

mat2gray

행렬을 회색조 영상으로 변환

설명

I = mat2gray(A,[amin amax])는 행렬 A를 회색조 영상 I로 변환합니다. 이 회색조 영상에는 0(검은색)에서 1(흰색) 범위의 값이 포함됩니다. aminamaxI의 0과 1에 해당하는 A의 값입니다. amin보다 작은 값은 0으로 잘리고, amax보다 큰 값은 1로 잘립니다.

예제

I = mat2gray(A)A의 최솟값과 최댓값을 amin 값과 amax 값으로 설정합니다.

예제

모두 축소

영상을 읽어 들인 후 표시합니다.

I = imread('rice.png');
figure
imshow(I)

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

숫자형 행렬을 반환하는 연산을 수행합니다. 이 연산은 경계를 찾습니다.

J = filter2(fspecial('sobel'),I);
min_matrix = min(J(:))
min_matrix = -779
max_matrix = max(J(:))
max_matrix = 560

행렬은 데이터형이 double형이고, 값이 [0,1] 범위를 벗어나고 음수 값을 포함합니다.

연산 결과를 표시합니다. 행렬의 데이터 범위가 imshow의 디폴트 표시 범위를 벗어나기 때문에, 양수 값을 가진 모든 픽셀은 흰색으로, 음수 값이나 0 값을 가진 모든 픽셀은 검은색으로 표시됩니다. 쌀알 경계를 보기가 힘듭니다.

figure
imshow(J)

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

행렬을 영상으로 변환합니다. 영상의 최댓값과 최솟값을 표시합니다.

K = mat2gray(J);
min_image = min(K(:))
min_image = 0
max_image = max(K(:))
max_image = 1

값의 데이터형은 여전히 double형이지만, 값이 모두 [0, 1] 범위에 속하는 것을 알 수 있습니다.

변환 결과를 표시합니다. 픽셀에 회색조 색의 범위가 표시됩니다. 이 때문에 쌀알 경계 위치가 더 분명해집니다.

figure
imshow(K)

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

입력 인수

모두 축소

입력 영상으로, 숫자형 행렬로 지정됩니다.

검은색과 흰색 입력값으로, 요소를 2개 가진 숫자형 벡터로 지정됩니다.

  • 입력 영상 A에서 amin보다 작거나 같은 값은 명암 영상 I의 값 0에 매핑됩니다.

  • A에서 amax보다 크거나 같은 값은 I의 값 1에 매핑됩니다.

출력 인수

모두 축소

출력 명암 영상으로, [0, 1] 범위의 값을 갖는 숫자형 행렬로 반환됩니다.

데이터형: double

확장 기능

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

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | |