본문 바로가기
PL/Python

[python3] ML - OpenCV, tesseract-ocr을 통한 차량 번호판 인식

by Garonguri 2021. 12. 28.
728x90

 

Tesseract를 통해 차량에서 차량 번호판을 검출하고, 해당 번호판에서 번호판 문자를 인식해 보겠습니당

 

 

file 경로와 tesseract-ocr의 language tessdata download 등의 다양한 이슈 덕분에

ipynb (jupyter notebook), Window Pycharm, Mac Terminal등 다양한 Os와 파일 형식을 사용해서 돌려보았습니다.

 

(필요한 부분만 간략히 설명)

우선 다양한 라이브러리들을 import 해야 합니다. pytesseract는 brew를 통해 import해주면 편합니다.

 

가장 유명한 (?) Edge 찾기 알고리즘 중 하나인 Canny Edge를 이용하여 Edge를 찾을겁니다.

 


Canny Edge란?

 

- 1986년 John F. Canny에 의해 개발된 알고리즘

- 윤곽을 가장 잘 찾아냄

- 원래 영상의 Gray한 모든 Edge를 제거할 수 있는 유일한 방법

 

[장점]

1. Low Error

2. High Accuracy

3. Well located

4. singled Edge Detect - 검출기가 Edge가 하나만 있는 곳에서 여러개를 식별하지 않는다.

 

[단점]

1. Complicated implementation

2. Long time

 

[실행 과정]

1. Noise Reduction

2. Finding the intensity gradient of the image

3. Non-maximum suppression

4. Double Thresholding

5. Edge Trackig by hysteresis


노이즈를 제거하기 위하여 Morphology 변환을 시켜주고, Gaussian Blurring을 하여  엣지를 검출합니다.

-> 결과

노이즈를 제거한 이미지에 대하여 사각형을 검출합니다.

 

시간이 없어서 일단 여기까지..

728x90

댓글