이끼의 생각

파이썬과 OpenCV를 이용한 영상 이진화(Thresholding, Binarization) 본문

파이썬을 이용한 OpenCV

파이썬과 OpenCV를 이용한 영상 이진화(Thresholding, Binarization)

IKKIson 2018. 12. 19. 20:49

파이썬과 OpenCV를 이용한 영상 이진화 (Thresholding, Binarization)


최종수정일 2018년 12월 19일



#01 이진화란?


이진화는 영상, 이미지를 처리할 때 흑색과 백색으로 분할하는 기본적인 연산이다. 


영상의 프레임이나 이미지에서 구별하고싶거나 검출하고싶은 대상을 구별해주기 위해 사용하는데 이를 구별하기 위해 임계값을 사용한다.


여기서 임계값을 Threshold라고 하는데 임계값을 기준으로 흑과 백을 구별한다.


임계값 역시 고정값이나 동적으로 사용할 수 있으나 본 게시글에서는 파이썬과 OpenCV를 이용한 기본적인 이진화 사용법만 다룬다.



#02 이진화는 어떻게 할까?


기본적인 이진화방법은 다음과 같다.


1) 이미지/영상프레임 읽어 Source Image(원본이미지)를 변수에 저장


2) 저장된 Color Image(컬러 이미지)를 Gray Scale Image(회색조)로 변환


3) Gray Scale Image 를 OpenCV의 threshold 함수로 이진화




#03 이미지파일 이진화하기


이미지파일을 읽어와서 이진화하는 방법.


소스코드



결과




#04 카메라를 이용하여 실시간 이진화하기


노트북의 웹캠등 영상을 프레임단위로 실시간으로 이진화한다.


소스코드



결과









Comments