해결된 질문
작성
·
3K
답변 1
1
idenfrin님 안녕하세요. 윤대희입니다.
말씀하신 동영상의 내용을 구현하는 방법은 여러가지 방법이 있을 것 같습니다.
그 중 몇 가지를 공유해드리겠습니다.
첫 번째로는 인식의 개념이 아닌, OpenCV를 활용해 검출하는 방법입니다.
공유해주신 동영상에서는 자동차의 번호판의 이미지 패턴이 하얀색 네모 안에 검은색 글자 영역으로 구성되어 있습니다.
그러므로, 하얀색 사각형을 찾은 다음, 내부의 검은색 영역을 검출한다음 boundingBox로 생성하는 방법이 있을 수 있습니다. 이 방법은 비슷한 이미지 패턴이 반복되는 경우 단순하게 검출하는 방법입니다.
두 번째는 OpenCV ML 기능을 활용해 검출하는 방법입니다.
SVM, ORB, BRIEF 등의 함수를 활용해 글자나 글자 모양을 학습시키고 검출하는 방법입니다.
현재 인프런 강의에서는 제공되지는 않지만, OpenCV 함수에서 지원되는 기능이므로 OpenCV Docs나 https://076923.github.io/posts/Python-opencv-38/ 를 비롯해 오픈소스 등을 참고해보시면 쉽게 구현하실 수 있습니다.
세 번째는 PyTorch나 Tensorflow 등 딥 러닝을 통해 구현하는 방법입니다.
데이터 세트를 구축하신 다음, 모델링을 통해 OCR 모델을 구현하시면 됩니다.
또는 사전에 구현되어 있는 모델을 적용하시면 됩니다.
네 번째는 Tesseract-OCR을 활용하는 방법입니다. https://076923.github.io/posts/C-tesseract-1/ C#에서는 다음과 같이 설치하셔서 테스트해보실 수 있습니다.
마지막으로 API를 통해 OCR 기능을 구매하여 사용하시는 방법이 있습니다.
대표적으로 Google Vision API OCR이나 CLOVA OCR이 있습니다.
현재 가장 권장드리는 방법은 Tesseract-OCR를 활용하여 텍스트를 추출하시는 것을 권유드립니다.
감사합니다.
윤대희 드림.