Main Content

otsuthresh

오츠(Otsu) 방법을 사용한 전역 히스토그램 임계값

설명

예제

T = otsuthresh(counts)는 오츠 방법 [1]을 사용하여 히스토그램 도수 counts에서 전역 임계값 T를 계산합니다. 오츠 방법은 이진화된 흑백 픽셀의 클래스 내 분산을 최소화하는 임계값을 선택합니다. 전역 임계값 Timbinarize와 함께 사용하여 회색조 영상을 이진 영상으로 변환할 수 있습니다.

[T,EM] = otsuthresh(counts)는 이진화의 효용성을 나타내는 효용성 메트릭 EM을 반환합니다.

예제

모두 축소

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

I = imread('coins.png');

영상에 대한 16-Bin 히스토그램을 계산합니다.

[counts,x] = imhist(I,16);
stem(x,counts)

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

히스토그램 도수를 사용하여 전역 임계값을 계산합니다.

T = otsuthresh(counts);

계산된 임계값을 사용하여 이진 영상을 만들고 이 영상을 표시합니다.

BW = imbinarize(I,T);
figure
imshow(BW)

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

입력 인수

모두 축소

히스토그램 도수로, 음이 아닌 숫자로 구성된 벡터로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

전역 임계값으로, [0, 1] 범위의 숫자형 스칼라로 반환됩니다.

데이터형: double

임계값의 효용성 메트릭으로, [0, 1] 범위의 숫자형 스칼라로 반환됩니다. 하한은 모든 데이터가 0이 아닌 단일 Bin에 있는 히스토그램 도수를 통해서만 도달할 수 있습니다. 상한은 0이 아닌 2개의 Bin이 있는 히스토그램 도수를 통해서만 도달할 수 있습니다.

데이터형: double

참고 문헌

[1] Otsu, N., "A Threshold Selection Method from Gray-Level Histograms." IEEE Transactions on Systems, Man, and Cybernetics. Vol. 9, No. 1, 1979, pp. 62–66.

확장 기능

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

버전 내역

R2016a에 개발됨

모두 확장