Computer Vision/opencv(python)

[40] 2) 자동 이진화: otsu 방법

jwjwvison 2021. 3. 23. 10:56
  • 임계값 자동 결정 방법

 

  • Ostu 이진화 방법
    • 입력 영상이 배경(background)과 객체(object) 두 개로 구성되어 있다고 가정 -> Bimodal histogram
    • 임의의 임계값 T에 의해 나눠지는 두 픽셀 분포 그룹의 분산이 최소가 되는 T를 선택
    • 일종의 최적화 알고리즘 (optimization algorithm)

 

 

 

  • Otsu 방법을 이용한 자동 이진화
import sys
import numpy as np
import cv2


src = cv2.imread('rice.png', cv2.IMREAD_GRAYSCALE)

if src is None:
    print('Image load failed!')
    sys.exit()

th,dst=cv2.threshold(src,0,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)
print("otsu's threshold:",th)  #131

cv2.imshow('src',src)
cv2.imshow('dst',dst)
cv2.waitKey()
cv2.destroyAllWindows()