1. Tesseract란?
- 이미지속 글자를 자동으로 인식하여 글자로 변환해주는 광학 문자 인식 OCR(Optical character recognition)
- 문자 인식의 정확성을 높이기위해 이미지의 전처리과정이 필수적임.
- 이미지의 흑백 반전, 수평 보정, 노이즈제거 등을 통해 문자 인식이 정확하게 이루어지도록 해야함.
2. Tesseract를 이용한 번호판 텍스트 추출
(1) 이미지의 흑백 반전
opencv의 cvtColor를 이용하여 이미지를 흑백반전 처리 하였다.
(2) 이미지의 수평보정
- Tesseract로 글자인식의 정확성을 높이기 위해 기울여진 사진을 보정하는 과정.
- 허프변환으로 번호판 외곽의 기울기를 구하고 해당 기울기만큼 사진을 회전시켜 수평보정 진행
※ 허프변환?
- 영상내에서 직선을 검출하는 대표적 알고리즘 중 하나.
- Opencv에서 기본적인 허프 변환 직선 검출 방법 제공
- canny함수를 통해 에지 검출후 HoughLines을 통해 거리와 각도를 저장
- 최소 각도를 구하여 따로 저장, 이때 최소 각도를 이용하여 사진을 회전시킴.
- 허프변환 과정에서 얻은 최소 각도를 이용해 사진 회전
(3) Tesseract로 텍스트 추출
최종적으로 전처리한 이미지를 가지고 Tesseract를 이용하여 글자를 인식하게 되면
다음과 같이 번호판을 인식하고 번호를 텍스트로 추출하는 것이 가능하다.
참고 : https://bkshin.tistory.com/entry/OpenCV-23-%ED%97%88%ED%94%84-%EB%B3%80%ED%99%98Hough-Transformation
'프로젝트 > 자동차번호판 인식' 카테고리의 다른 글
번호판 글자 인식하기 - LPR Net 사용하기 (by NinV) (0) | 2021.07.21 |
---|---|
데이터 학습 후 차량에서 번호판 부분 추출하기 (0) | 2021.07.13 |
Colab에서 YOLO 트레이닝하기 (0) | 2021.07.09 |
YOLO의 기본개념과 개발환경세팅 (0) | 2021.07.08 |
자동차 번호판 인식시스템 목표 / 설계 (0) | 2021.07.07 |