Ped*_*dro 4 c++ tesseract image-processing
我会检测并在必要时纠正扫描文档图像的方向.我已经能够对文档进行校正,但仍然可能发生,文档是颠倒的并且需要旋转180°.
使用tesseract的布局分析功能,应该可以使用以下代码确定文档的方向:
tesseract::TessBaseAPI api;
api.Init(argv[0], "eng");
api.SetImage(img);
api.SetPageSegMode(tesseract::PSM_AUTO_OSD);
tesseract::PageIterator* it = api.AnalyseLayout();
tesseract::Orientation orient;
tesseract::WritingDirection dir;
tesseract::TextlineOrder order;
float f;
it->Orientation(&orient, &dir, &order, &f);
if(orient == tesseract::Orientation::ORIENTATION_PAGE_UP)
std::cout << "Page Up\t";
else if(orient == tesseract::Orientation::ORIENTATION_PAGE_LEFT)
std::cout << "Page Left\t";
else if(orient == tesseract::Orientation::ORIENTATION_PAGE_DOWN)
std::cout << "Page Down\t";
else if(orient == tesseract::Orientation::ORIENTATION_PAGE_RIGHT)
std::cout << "Page Right\t";
Run Code Online (Sandbox Code Playgroud)
但是,代码似乎无法正常工作,因为它始终ORIENTATION_PAGE_UP
在纵向格式文档和ORIENTATION_PAGE_LEFT
横向格式时返回.(ORIENTATION_PAGE_DOWN
和ORIENTATION_PAGE_RIGHT
可以使用,但再也没有回来).
A.)上面的代码有什么问题吗?
B.)我还能如何确定文件方向?