주요 콘텐츠

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 hidden axes object contains an object of type image.

입력 인수

모두 축소

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

출력 인수

모두 축소

전역 임계값으로, [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에 개발됨

모두 확장