Main Content

im2bw

(권장되지 않음) 임계값을 기준으로 영상을 이진 영상으로 변환

im2bw는 권장되지 않습니다. imbinarize를 대신 사용하십시오. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

설명

예제

BW = im2bw(I,level)은 입력 영상에서 휘도가 level보다 큰 모든 픽셀은 값 1(흰색)로 바꾸고 그 외 모든 픽셀은 값 0(검은색)으로 바꾸어 회색조 영상 I를 이진 영상 BW로 변환합니다.

이 범위는 영상의 클래스에 가능한 신호 레벨에 따라 다릅니다. 따라서 level0.5는 해당 클래스의 최솟값과 최댓값 중간의 명암 값에 해당합니다.

BW = im2bw(X,cmap,level)은 컬러맵 cmap을 갖는 인덱스 영상 X를 이진 영상으로 변환합니다.

BW = im2bw(RGB,level)은 트루컬러 영상 RGB를 이진 영상으로 변환합니다.

예제

모두 축소

load trees
BW = im2bw(X,map,0.4);
imshow(X,map), figure, imshow(BW)

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

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

입력 인수

모두 축소

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

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

2차원 인덱스 영상으로, m×n 숫자형 행렬로 지정됩니다.

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

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

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

2차원 RGB 영상으로, m×n×3 숫자형 행렬로 지정됩니다.

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

휘도 임계값으로, [0, 1] 범위의 숫자로 지정됩니다. level을 계산하려면 graythresh 함수를 사용하면 됩니다.

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

출력 인수

모두 축소

이진 영상으로, m×n 논리형 행렬로 반환됩니다.

데이터형: logical

알고리즘

입력 영상이 회색조 영상이 아닌 경우 im2bwind2gray 또는 rgb2gray를 사용하여 입력 영상을 회색조 영상으로 변환한 다음, 이진화를 통해 이 회색조 영상을 이진 영상으로 변환합니다.

버전 내역

R2006a 이전에 개발됨

모두 축소

R2016a: im2bw는 권장되지 않음

im2bw의 디폴트 휘도 임계값은 대부분의 영상에 대해 최적이 아닙니다. 영상에 적절한 임계값을 사용하려면 graythresh를 사용하여 휘도 수준을 계산한 후에 im2bw를 호출해야 합니다.

R2016a부터 imbinarize 함수가 추가되었습니다. 이 함수는 휘도 임계값을 계산하고 이진화를 수행하는 작업을 한 번에 처리합니다. imbinarize에는 영상의 음영이 고르지 않은 경우 가변 이진화를 수행하는 기능 등의 추가 이점이 있습니다. 자세한 내용은 Image Binarization - New 2016a Functions를 참조하십시오.

다음 표에서는 im2bw의 몇 가지 일반적인 사용법과 imbinarize를 대신 사용하도록 코드를 업데이트하는 방법을 보여줍니다.

권장되지 않음권장됨
BW = im2bw(I);
BW = imbinarize(I,0.5);
thresh = graythresh(I);
BW = im2bw(I,thresh);
BW = imbinarize(I);

현재는 im2bw를 제거할 계획이 없습니다.