영상처리2011. 10. 1. 03:15

원본사진

Otsu Thresholding



 이미지에서 정보를 얻어내기 위해서는 이미지가 담고 있는 개체들을 분리하는 작업을 해야합니다. 이 작업중 가장 단순한 것 중의 하나가 바로 이진화(binarization)입니다. 이진화는 이미지의 그레이값에 따라서 픽셀을 0과 1(또는 255)로 바꾸는 작업입니다. 이러한 이진화 작업을 거치면 이미지가 담고 있는 객체를 배경에서 분리할 수 있습니다. 그런데 이때 어떤 그레이값으로 픽셀을 분리해야하는가라는 문제가 생깁니다. 임계값(threshold value)의 설정에 대한 여러가지 알고리즘이 알러져 있는데, 그 중에서 통계적인 방법을 이용한 Otsu의 알고리즘이 가장 자연스러운 임계값 설정의 기준을 줍니다.
 이때 Otsu 알고리즘을 쓰면 쌍봉(2개의 히스토그램)에서 중간 값을 잡아주므로, 임계값을 비교적 정확하게 잡을 수 있습니다.


예시)

단일 임계값에 대한 전경과 배경의 차이를 (확산의 측정) 찾기에 대한 계산은 이제 표시됩니다. 이 경우의 임계값은 3입니다.

다음 단계는 '내에서 클래스 분산'을 계산하는 것입니다. 이것은 단순히 그들의 관련된 가중치를 곱한 두 차이의 합계입니다.

이 최종 값은 임계값 3 '가중 변동의 합계'입니다. 이 같은 계산은 모든 가능한 임계값 0~5에 대해 수행되어야합니다. 아래 표는 이러한 계산에 대한 결과를 보여줍니다. 강조 표시 항목은 위의 계산 임계값에 대한 값을 보여줍니다.


예제에 사용되는 가중치 변동의 합계가 가장 낮은 것을 볼 수 있습니다. 따라서, 이것은 마지막 선택 임계값입니다.





위 Otsu Thesholding은 분산비를 최대로 하는 방법입니다.





출처 - http://www.labbookpages.co.uk/software/imgProc/otsuThreshold.html








'영상처리' 카테고리의 다른 글

[OpenCV] 캠 영상 출력  (1) 2012.02.10
[OpenCV] AVI 동영상 재생  (0) 2012.02.10
[OpenCV] 정지영상 출력  (0) 2012.02.10
OpenCV 2.3.1 + Visual Studio 2010 (Windows7)  (6) 2012.02.10
Emgu.CV.CvInvoke 에러  (0) 2011.09.22
Posted by 건깡