Main Content

imsubtract

한 영상에서 다른 영상 빼기 또는 영상에서 상수 빼기

설명

예제

Z = imsubtract(X,Y)는 배열 X의 각 요소에서 배열 Y의 대응되는 요소를 뺀 다음 차이를 출력 배열 Z의 대응되는 요소에 반환합니다.

예제

모두 축소

이 예제에서는 두 uint8형 배열 간에 뺄셈을 하는 방법을 보여줍니다. 음수 결과값은 0으로 반올림되는 것을 볼 수 있습니다.

X = uint8([ 255 0 75; 44 225 100]);
Y = uint8([ 50 50 50; 50 50 50 ]);
Z = imsubtract(X,Y)
Z = 2x3 uint8 matrix

   205     0    25
     0   175    50

회색조 영상을 작업 공간으로 읽어 들입니다.

I = imread('rice.png');

배경을 추정합니다.

background = imopen(I,strel('disk',15));

영상에서 배경을 뺍니다.

J = imsubtract(I,background);

원본 영상과 처리된 영상을 표시합니다.

imshow(I)

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

figure
imshow(J)

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

영상을 작업 공간으로 읽어 들입니다.

I = imread('rice.png');

영상에서 상수를 뺍니다.

J = imsubtract(I,50);

원본 영상과 결과를 표시합니다.

imshow(I)

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

figure
imshow(J)

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

입력 인수

모두 축소

첫 번째 배열(피감수)로, 임의 차원의 숫자형 배열 또는 논리형 배열로 지정됩니다.

X에서 뺄 두 번째 배열(감수)로, X와 크기 및 클래스가 동일한 숫자형 배열 또는 논리형 배열로 지정되거나 double형의 숫자형 스칼라로 지정됩니다.

출력 인수

모두 축소

차이로, X와 크기가 같은 숫자형 배열로 반환됩니다. ZX와 같은 클래스입니다. 하지만 X가 논리형이면 Z의 데이터형은 double형이 됩니다. X가 정수형 배열인 경우, 출력값 중에서 정수형의 범위를 초과하는 요소는 잘리고 소수 값은 반올림됩니다.

버전 내역

R2006a 이전에 개발됨