반응형

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://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts