일반적인 명함 사진으로 진행


컬러 영상을 그레이스케일 영상으로 변환하여 사용

영상의 픽셀 값을 0 또는 1(255)로 만드는 연산

그레이스케일 영상의 이진화
x,y의 픽셀 값이 T(임계값)보다 작으면 0, 크면 1 -> 임계값 설정이 중요!

자동 임계값 결정 방법 : 오츠(Otsu) 방법

OpenCV 영상 이진화(임계값) 함수

오츠 방법을 이용한 명함 영상의 자동 이진화 예제
import cv2
import sys
# 영상 불러오기
src = cv2.imread('./data/namecard1.jpg')
if src is None:
print('Image load failed')
sys.exit()
# 입력 영상을 그레이스케일 영상으로 변환
src_gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
# 자동 이진화
th, src_bin = cv2.threshold(src_gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
print(th)
cv2.imshow('src', src)
cv2.imshow('src_bin', src_bin)
cv2.waitKey()
cv2.destroyAllWindows()
>>> 133.0
