필자가 쓰고있는 응용 프로그램에 Tesseract OCR을 사용하고 있습니다. 나는 때때로 내가 얻은 그림의 일부 영역에있는 텍스트를 인식하고 싶다. 기본 전화는 현재 작동합니다Tesseract OCR 고급 사용
tesseract::TessBaseAPI api;
api.SetPageSegMode(tesseract::PSM_AUTO); // Segmentation on auto
api.Init("/usr/local/share/","eng"); // path = parent directory of tessdata
pFile = fopen("home/myname/test.bmp","r"); // Open picture
PIX* image; // Image format from leptonica
image = pixReadStreamBmp(pFile);
fclose(pFile);
api.SetImage(image); // Run the OCR
char* textOutput = new char[512];
textOutput =api.GetUTF8Text(); // Get the text
지금까지이 코드는 정상적으로 작동합니다. 그러나 어느 시점에서 OCR은 내가 바라는만큼 정확하지 않습니다. 내 목적을 위해 새로운 언어를 배우고 싶지 않기 때문에 일부 API 호출보다 정확성을 높일 수있는 가능성이 있는지 알고 싶었습니다. 여기에 몇 가지 제안이있을 수 있습니다!
이 값보다 더 정확하게하려면 pixeRead()에 OTSU 임계 값 이미지를 전달할 수 있습니다. pixRead()에서 정상적인 이미지를 전달 중입니다. OTSU 통과 임계 값 이미지. 나는 그것을위한 알고리즘을 개발했다. . 아무도 원하면 알려줘. –