我尝试用tessera运行一个简单的OCR。我的图像非常简单,如下所示:
因此,如果它工作正常,输出是一个提取的文本:索尼电视......
当我在Android上运行该程序时,我遇到以下问题: baseApi.init(myDir," eng");
因为它说无法找到来源,但如图所示,它位于tssD / tessdata / eng.traineddata。
这是我的原始代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String myDir= "tssD/tessdata/eng.traineddata";
String imagePath = "myImages/Remote1.bmp";
ImageView image = (ImageView) findViewById(R.id.imageView1);
Bitmap bMap = BitmapFactory.decodeFile(imagePath);
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.init(myDir, "eng");
baseApi.setImage(bMap);
String recognizedText = baseApi.getUTF8Text();
EditText text = (EditText) findViewById(R.id.editText1);
text.setText(recognizedText);
image.setImageBitmap(bMap);
baseApi.end();
}
答案 0 :(得分:3)
tssD文件夹不会内置到您的APK中,也不会安装在您的设备上。如果您想在APK中加入杂项文件,则需要将它们放入资源或res / raw。
您可以在资源中打开文件,以便阅读:
InputStream input = assetManager.open("sample.txt");
AssetManager的参考页面为here。