Python

Python - 영상처리 점자 처리 프로젝트1

minsugar 2023. 1. 10. 13:54

Python, Opencv를 사용

 

이미지의 점자를 찾아 번역할 수 있을 정도의 이미지를 뽑아낼 방법

모든 이미지의 확장자는 png입니다.

j1.png
j2.png
j3.png

 

점자 이미지를 이진화하여 점자의 위치만 뽑아낼 수 있도록 해보겠습니다.

Otsu's Binarization

일반적인 이진화에서 임계값을 자동으로 찾아주기 때문에 임계값을 입력할 필요가 없습니다.

 

# pip install opencv-python
import cv2

# src에 j1.png를 GRAYSCALE로 읽어 올 수 있습니다.
src = cv2.imread('images/j1.png', cv2.IMREAD_GRAYSCALE) 


# 이진화
t, t_otsu = cv2.threshold(src, 0, 255,  cv2.THRESH_BINARY | cv2.THRESH_OTSU)


cv2.imshow('Original', src) # 원본 이미지
cv2.imshow('otsu', t_otsu) # 이진화 적용 이미지

cv2.waitKey()

실행화면

 

j1.png

 

j1처럼 깔끔한 이미지인 경우 잘 나오는 걸 확인 할 수 있었습니다.

 

j2.png
j3.png

j3처럼 사진에 빛이 반사되어 있다면 이진화하더라도 이진화 결과 사진에서 점자를

확인할 수 없을 정도의 이미지가 나옵니다.



해결방안

1. 빛이 반사되지 않는 사진을 적용한다.

2. 빛부분을 해결한다. ( 모든 이미지가 빛이 있는 경우가 아니기 때문에) 모든 이미지를 밝기를 어둡게 한 후에 이진화 작업을 해보는 방법도 있을 거 같다) 다음 글에 결과를 가지고 오겠습니다.