본문 바로가기

& 프로그래밍/& openCV

openCV 프로그래밍 기초(Thresholding)

이번시간에는 openCV 이미지 프로세싱 방법 중 하나인 'Thresholding'을 알아보고자 한다.

'임계값'이라고도 불리는 thresholding은 기준점을 잡고 그 이상은 1, 이하는 0으로 취급하는 개념으로 이해하면 쉽다.

 

cv2.threshold()함수로 호출한다

 

1. 라이브러리 임포트

import cv2

2. 이미지 파일 불러오기

src = cv2.imread('data/images/threshold.png',0)

3. threshold값 정하기

#기준점을 설정한다
thresh = 0
#위에서 설정한 값보다 큰 값을 모두 255로 변경하도록 설정
maxValue = 255

4. 오리지널 이미지와 thresholding된 값 호출하여 비교하기

# 오리지날 이미지
cv2.imshow('Original',src)

# thresh된 이미지
th, dst = cv2.threshold(src, thresh, maxValue, cv2.THRESH_BINARY)
cv2.imshow('Threshold',dst)

cv2.waitKey(0)
cv2.destroyAllWindows()

왼쪽부터 threshold된 이미지, 원본이미지

결과를 비교해보니 흐릿했던 숫자들이 선명하게 수정되어 출력된 것을 볼 수 있다

 

이번 실습을 통해 자율주행 기술 개발과정에서 차선검출(lane detection)이나 객체검출시 선명도를 높이는 방법으로 활용할 수 있을 것이다