在Android Studio中使用tess |
您所在的位置:网站首页 › two的英文图片 › 在Android Studio中使用tess |
Tesseract & tess-two
Tesseract是一个开源的OCR(optical character Recognition)库,最初由惠普公司开发,然后开源之后由google维护。使用Tesseract可以从图片中识别出文字。Tesseract支持多种文字,还可以针对目标训练自己的识别模型,可以说大大方便了开发者。tess-two是Tesseract在Android平台上的移植。更多信息参阅tess-two主页 tess-two在Android Studio的配置1. 下载安装Android NDK 2. 下载解压tess-two或者直接git clone 3. 使用NDK编译解压出来的 tess-two 下的 tess-two 文件夹 cd tess-two/tess-two ndk-build4. 配置Android Studio 在你的项目目录下新建一个libraries的文件夹,将NDK编译好的tess-two/tess-two目录复制到libraries下。 在libraries/tess-two目录下新建一个 build.gradle 的文件。将下面的内容复制进去 apply plugin: 'android-library' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' // 根据你的gradle版本进行调整 } } android { compileSdkVersion 23 // 根据你的项目进行调整 buildToolsVersion "23.0.2" // 根据你的项目进行调整 defaultConfig { minSdkVersion 15 // 根据你的项目进行调整 targetSdkVersion 23 // 根据你的项目进行调整 } sourceSets.main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] jniLibs.srcDirs = ['libs'] } }然后在项目目录下的 setting.gradle 文件下加入一行 include ':libraries:tess-two'在项目目录下的app/build.gradle 文件中的 dependencies 部分加入一行 compile project(':libraries:tess-two') dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' .... compile project(':libraries:tess-two') }使用Tess-two tess-two 的识别需要提供一个tessdata的文件夹,可以在http://code.google.com/p/tesseract-ocr/中找到。 这里提供一个简单的 demo import com.googlecode.tesseract.android.TessBaseAPI; public class MainActivity extends AppCompatActivity { private static final String SD_PATH= Environment.getExternalStorageDirectory().getPath(); private Button button; private TextView textView; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); textView = (TextView) findViewById(R.id.textView); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TessBaseAPI baseApi = new TessBaseAPI(); // 指定语言集,sd卡根目录下放置Tesseract的tessdata文件夹 baseApi.init(SD_PATH, "eng"); // 设置psm模式 baseApi.setPageSegMode(TessBaseAPI.PageSegMode.PSM_SINGLE_LINE); editText = (EditText) findViewById(R.id.editText); String img = editText.getText().toString(); // 设置图片 baseApi.setImage(new File(SD_PATH + img)); // 获取结果 final String result = baseApi.getUTF8Text(); textView.setText(result); // 释放内存 baseApi.clear(); baseApi.end(); } }); } }参考 https://coderwall.com/p/eurvaq/tesseract-with-andoird-and-gradlehttp://www.kaustubhraghavan.com/ocr.htmlhttp://hellosure.github.io/ocr/2014/10/11/tesseract-ocr/ |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |