OCR C++ Tesseract方向与语言检测(OSD)
这个程序演示Tesseract OCR检测文字的旋转角度(方向)和语言。
输入图片是一份天城文文本(Devanagari)旋转270度后的图像。
没有旋转的输入图片如下图所示:
程序运行后会在CMD里显示识别结果:
旋转角度(方向)检测为270度,置信度8.02
语言检测为Devanagari,置信度为2.00
代码:
#include <tesseract/baseapi.h> #include <leptonica/allheaders.h> int main() { const char* inputfile = "devatest-rotated-270.png"; PIX *image = pixRead(inputfile); tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI(); api->Init(NULL, "osd"); api->SetPageSegMode(tesseract::PSM_OSD_ONLY); api->SetImage(image); int orient_deg; float orient_conf; const char* script_name; float script_conf; api->DetectOrientationScript(&orient_deg, &orient_conf, &script_name, &script_conf); printf("************\n Orientation in degrees: %d\n Orientation confidence: %.2f\n" " Script: %s\n Script confidence: %.2f\n", orient_deg, orient_conf, script_name, script_conf); // Destroy used object and release memory api->End(); delete api; pixDestroy(&image); return 0; }