我正在尝试在java中为Japaneses语言构建一个示例应用程序,它将读取图像文件并输出从图像中提取的文本。我在网上找到了一个适用于英语的示例应用程序,但不是日本语,它提供了不明文本,以下是我的代码:
BytePointer outText;
TessBaseAPI api = new TessBaseAPI();
// Initialize tesseract-ocr with japanees, without specifying tessdata path
if (api.Init(".", "jpn") != 0) {
System.err.println("Could not initialize tesseract.");
System.exit(1);
}
// Open input image with leptonica library
PIX image = pixRead("test.png");
api.SetImage(image);
// Get OCR result
outText = api.GetUTF8Text();
String string = outText.getString();
assertTrue(!string.isEmpty());
System.out.println("OCR output:\n" + string);
// Destroy used object and release memory
api.End();
outText.deallocate();
pixDestroy(image);
我的输出是: OCR输出: ETCã,«ãƒ¼-ード瓳¾¾æ>¸ ã?Šç“³ã?-è¾¼ã?¿æ-¥09/02/2017 ETC FeatureID ETCFFL ー瓳込枚輩交画枚
我使用过jpn.tessdata,我的应用程序也正在阅读tessdata文件。是否需要更多的移民?我正在使用Tessaract 3.02版本,图像非常干净。
答案 0 :(得分:0)
是的!我得到了解决方案,我们需要做的是在我们的java代码中设置语言环境,如下所示: olocale = new Locale.Builder()。setLanguage(" ja")。setRegion(" JP")。build(); 我们也可以设置英语语言环境,以便从Image中提取日语和英语文本。
现在它对我来说就像魅力一样!!