이미지의 이진화(Binarization)란?

이미지의 픽셀 값을 0 또는 255로 변환하는 연산을 말한다. 변환된 이진 이미지는 다음과 같은 목적을 수행하는데 적합하다.

  • 배경(Background)객체(Object) 구분하기
  • 관심 영역비관심 영역 가르기

이미지의 이진화는 일반적으로 회색조(grayscale) 이미지로 하며, 픽셀의 값을 결정하기 위해 임계값(threshold)을 정하게 된다. 

Threshold

임계값(T)를 통해 이미지(I)의 픽셀값을 0 또는 255로 결정할텐데 이를 방정식으로 나타내면 다음과 같다.

임계값에  따라 다음과 같은 이진화된 이미지 결과를 얻게 된다.

예 ) T1 = 60, T2 = 180

OpenCV에서 제공하는 이진화 함수는 다음과 같다.

Imgproc.threshold(
    Mat src, Mat dst, 
    double thresh, double maxval, 
    int type
)
src : 원본 이미지
dst : 출력 이미지
thresh : 임계값
maxval : 최대 임계값. 일반적으로 회색조 이미지의 픽셀값은 최대 255를 가지므로 보통 255로 지정한다.
type : 임계값 타입

임계값 타입으로는 다음과 같은 내용들을 제공하고 있다. (위의 예제에서는 THRESH_BINARY를 사용함)

 

 

 

적당한 임계값을 설정하여 원하는 결과(객체 또는 관심영역)를 얻도록 하자.

Buy me a coffeeBuy me a coffee
카테고리: AndroidOpenCV

0개의 댓글

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.