使用tesseract在图片中的字周围绘制一个矩形

时间:2012-11-20 09:47:55

标签: c++ ocr tesseract

我想知道如何在c ++应用程序中使用tesseract-ocr在段落图片中围绕单词绘制一个矩形。 另外我想从图片中剪下一些单词! 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我搜索并尝试了所以我发现了这个:

tesseract::TessBaseAPI api;
 api.Init("", "eng", tesseract::OEM_DEFAULT);
 api.SetPageSegMode(static_cast<tesseract::PageSegMode>(7));
 api.SetOutputName("out");

 cout<<"File name:";
 char image[256];
 cin>>image;
 const PIX   *pixs = pixRead(image);

 STRING text_out;
 api.SetImage(pixs);
 //api.ProcessPages(image, NULL, 0, &text_out);
 //text_out = api.GetUTF8Text();
 cout<<text_out.string();

 //box
    Boxa* bounds = api.GetWords(NULL); 
    l_int32 count = bounds->n;
    for(int i=0; i<count; i++)
    { 
        Box* b = bounds->box[i]; 
        int x = b->x; 
        int y = b->y; 
        int w = b->w; 
        int h = b->h; 
    cout<<x<<" "<<y<<" "<<w<<" "<<h<<endl;
    }

这将导致矩形左下角的(x,y)也是宽度,h是矩形的高度。