Ocr 图文识别技术——基于百度云OCR技术学习与总结
1.百度智能云 控制台 https://console.bce.baidu.com/ai/?fromai=1#/ai/ocr/overview/index 创建应用,生成API Key,Secret Key
2.在应用详情页面下载对应应用的授权文件
3.百度智能云 Android-SDK文档链接:https://cloud.baidu.com/doc/OCR/s/fjwvxzeiy
4.SDK下载地址:http://ai.baidu.com/sdk/#ocr
下面我跟大家讲一下开发步骤。
1.下载sdk
2.依赖sdk以及armeabi到lib目录下
3.下载的sdk里面有一个ocr-ui model,如果需要的话,可以作为model到项目中
4.清单文件添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
5.Proguard配置:app——proguard-rules.pro
-keep class com.baidu.ocr.sdk.**{*;}
-dontwarn com.baidu.ocr.**
6.代码中:初始化OCR单例:
OCR.getInstance().initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {
@Override
public void onResult(AccessToken result) {
// 调用成功,返回AccessToken对象
String token = result.getAccessToken();
}
@Override
public void onError(OCRError error) {
// 调用失败,返回OCRError子类SDKError对象
}
}, getApplicationContext(), "您的应用AK", "您的应用SK");
7.功能调用以及回调事件:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_car://车牌识别
Intent intent = new Intent(MainActivity.this, CameraActivity.class);
intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
FileUtils.getSaveFile(getApplication()).getAbsolutePath());
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE,
CameraActivity.CONTENT_TYPE_GENERAL);
startActivityForResult(intent, REQUEST_CODE_LICENSE_PLATE);
break;
case R.id.tv_company://营业执照识别
Intent intentCompany = new Intent(MainActivity.this, CameraActivity.class);
intentCompany.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
FileUtils.getSaveFile(getApplication()).getAbsolutePath());
intentCompany.putExtra(CameraActivity.KEY_CONTENT_TYPE,
CameraActivity.CONTENT_TYPE_GENERAL);
startActivityForResult(intentCompany, REQUEST_CODE_BUSINESS_LICENSE);
break;
case R.id.general_basic://通用文字识别
Intent intentGener = new Intent(MainActivity.this, CameraActivity.class);
intentGener.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
FileUtils.getSaveFile(getApplication()).getAbsolutePath());
intentGener.putExtra(CameraActivity.KEY_CONTENT_TYPE,
CameraActivity.CONTENT_TYPE_GENERAL);
startActivityForResu