지난 달 필자는 여가 시간에 Tesseract 라이브러리를 사용하여 Android OCR에 대한 지식을 얻기 시작했습니다. 나는 tess-two 프로젝트 & android ndk를 다운로드했다. 그런 다음 우분투 컴퓨터에서 tess-two 프로젝트를 만들어 (.so) 파일을 만들고 성공적으로 가져 왔습니다. 나는 그 안드로이드 프로젝트를위한 라이브러리로서 (.so) libs를 가진 tess-two 프로젝트를 사용한다. (윈도우 8에서 프로젝트를 개발 중입니다.)Tessseract가 android에서 null을 반환합니다.
이제 프로젝트에 대한 라이브러리로 안드로이드 프로젝트와 tess-two 프로젝트가 있습니다. 그런 다음 Image를 얻고 TessBaseAPI 객체에 전달하여 변환 결과를 getUTF8Text()
함수로 변환하도록 코딩을 완료했습니다.하지만 변환 할 때마다 너무 많은 시간이 걸리며 매번 null이 반환됩니다.
이 내가 당신이 시도 여기에 이미지 경로
public class Task extends AsyncTask<String, String, String>
{
private Context mcontext;
TessBaseAPI baseAPI=new TessBaseAPI();
@Override
protected String doInBackground(String... params)
{
File externalStorageDirectory = Environment
.getExternalStorageDirectory();
baseAPI.init(externalStorageDirectory.getAbsolutePath()+
"/ocrsample/tesseract/", "eng",TessBaseAPI.OEM_TESSERACT_ONLY);
inspectFromImagePath(picturePath);
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Intent i = new Intent(mcontext, ReadActivity.class);
i.putExtra("result", result);
mcontext.startActivity(i);
baseAPI.clear();
}
private void inspectFromImagePath(String picturePath)
{
baseAPI.setPageSegMode(PageSegMode.PSM_SINGLE_BLOCK);
baseAPI.setImage(new File(picturePath));
String text = baseAPI.getUTF8Text();
bitmap.recycle();
}
}
부주의 한 실수 .. 이제 작동합니다. 감사합니다. – Ram
환영합니다 @ 램, 도와주게되어 기쁘다. –