2016-04-27 52 views
0

我是一名android開發人員,我正在整合Tesseract進行OCR掃描。對於我的應用程序,我有要求從任何角度的手機和手機的任何模式(縱向或橫向)模式下檢測OCR。爲此,我正在嘗試獲取OCR的方向和傾斜角度,並基於此來糾正圖像並處理OCR。在Android中使用Tesseract的方向和腳本檢測(OSD)

我已經去了各種崗位找到方式獲得定位,但無法成功。按照帖子中的一個,提到使用下面的邏輯來獲得方向和傾斜角度:

inputfile = "/usr/src/tesseract-3.02/eurotextUpsideDown.png"; 
image = pixRead(inputfile); 

api->Init("/usr/src/tesseract-3.02/", "eng"); 
api->SetPageSegMode(tesseract::PSM_AUTO_OSD); 
api->SetImage(image); 
api->Recognize(0); 

tesseract::PageIterator* it = api->AnalyseLayout(); 
tesseract::Orientation orientation; 
tesseract::WritingDirection direction; 
tesseract::TextlineOrder order; 
float deskew_angle; 

it->Orientation(&orientation, &direction, &order, &deskew_angle); 
printf("Orientation: %d;\nWritingDirection: %d\nTextlineOrder: %d\n" \ 
     "Deskew angle: %.4f\n", 
     orientation, direction, order, deskew_angle); 

但在Android的我找不到在TessBaseApi.java類支持的方法AnalyseLayout()

我想獲得處理圖像的邏輯,這樣我就可以對圖像進行歪斜處理並對其進行處理。

任何信息都會有很大的幫助。

回答

0

你有種回答你自己的問題在這裏。 AnalyseLayout方法不可用的原因是因爲它尚未在Android API中實現(截至今天)。你需要自己實現它。

您可能想要看看Leptonica的Skew.findSkew方法。有一個在SkewTest類中使用的例子。