Ubuntu 20.04에 Tesseract-ocr을 설치한 후, C++ 코드로 문자 인식(OCR)을 간단히 해보았습니다.
2021. 9. 5 - 최초작성
우선 Ubuntu 20.04에 다음 두 패키지를 설치합니다.
$ sudo apt install tesseract-ocr libtesseract-dev
참고한 사이트 [2] 에는 여러 예제가 있는데 그중에 OpenCV를 사용하여 이미지를 로드한 후, tessract를 사용하여 문자 인식하는 다음 예제를 사용했습니다.
진행하기 전에 Ubuntu에 OpenCV가 설치되어 있어야 합니다.
Ubuntu 20.04에 OpenCV 4.4.0 설치하는 방법
https://webnautes.tistory.com/1433
다음 코드를 test.cpp로 저장합니다.
#include <string> #include <tesseract/baseapi.h> #include <leptonica/allheaders.h> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc, char**argv) { string outText, imPath = argv[1]; Mat im = cv::imread(imPath, IMREAD_COLOR); tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI(); api->Init(NULL, "eng", tesseract::OEM_LSTM_ONLY); api->SetPageSegMode(tesseract::PSM_AUTO); api->SetImage(im.data, im.cols, im.rows, 3, im.step); outText = string(api->GetUTF8Text()); cout << outText; api->End(); } |
다음처럼 코드를 컴파일 합니다.
$ g++ -o test test.cpp $(pkg-config opencv4 --libs --cflags) -ltesseract
이제 테스트에 사용할 이미지가 있어야 합니다. 여기에선 다음 이미지를 사용했습니다.
다음처럼 인식할 이미지 파일을 인자로하여 실행시켜보면 문자 인식 결과가 출력됩니다.
$ ./test 1.png
Warning: Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 143
I had to add all the C/C++ include paths:
참고
[1] https://tesseract-ocr.github.io/tessdoc/Installation.html
[2] https://tesseract-ocr.github.io/tessdoc/Examples_C++.html
'OpenCV > OCR' 카테고리의 다른 글
pytesseract 사용하여 문자 인식 하는 Python 예제 (0) | 2023.10.13 |
---|
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!