android百度图片识别,百度OCR文字识别-Android安全校验

效果图:html

a6c46c49cef01dcf017f6c7fd8836f47.png

以下为文章正文:java

百度OCR接口使用总结:

以前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,受权文件(安全模式);。android

1、注册百度帐号

2、登陆百度ai控制台

8d16769062fae955b6f787e9046c2e2b.png

3、建立文字识别应用

49eed0399b75130f7e5dff6db244dd8f.png

填写相关信息(选择文字识别须要包名)安全

ed85104978c10b45869daad6a26fc307.png

填写正确的包名微信

6ec1c412dbd1cbfcf4cb0c77c6d1ac8b.png

25867b84bc9f38789323deb4305e6afd.png

4、下载相关文件

9e6638000e5ffd480e5011e2078fc407.png

点击查看应用详情,下载License文件-Android(文字识别)ide

d6b7e10d4dc04c0157e98c2a1df20065.png

5、新建工程

5.一、导入jar包及so文件

文件位置:

\aip-ocr-android-sdk-1.4.4\aip-ocr-android-sdk-1.4.4\libs\ocr-sdk.jar

将 libs 目录下 armeabi,arm64-v8a,armeabi-v7a,x86 文件夹按需添加到 android studio 工程 src/main/jniLibs 目录中

5.二、导入License文件

将License文件添加到assets文件夹里面

5.三、添加相应的权限

5.四、如需使用UI模块,导入ocr-ui工程。(如不须要,可跳过该步骤)

a92b808f724b1ba5505e7e77b37f21ea.png

35b7e3c75f82619a2858ba8fdf64aadc.png

da4e9a0d9014f186356715c8ba3488fa.png

80fcf60098956e1b45bcfa122fd42111.png

5d0521a2e71bf6ce0c070335537260d2.png

获取token代码:

private void getToken(){

OCR.getInstance(mContext).initAccessToken(new OnResultListener() {

@Override

public void onResult(AccessToken result){

// 调用成功,返回AccessToken对象

final String token = result.getAccessToken();

Log.e("MainActivity", "MainActivity onResult()" + token);

mToken = token;

}

@Override

public void onError(OCRError error){

// 调用失败,返回OCRError子类SDKError对象

error.printStackTrace();

}

}, getApplicationContext());

}

识别图片文字

public void getData(String filePath){

if (TextUtils.isEmpty(this.mToken)) {

getToken();

}

// 通用文字识别参数设置

GeneralBasicParams param = new GeneralBasicParams();

param.setDetectDirection(true);

param.setImageFile(new File(filePath));

final StringBuffer sb = new StringBuffer();

// 调用通用文字识别服务

OCR.getInstance(this).recognizeGeneralBasic(param, new OnResultListener() {

@Override

public void onResult(GeneralResult result){

// 调用成功,返回GeneralResult对象

for (WordSimple wordSimple : result.getWordList()) {

// wordSimple不包含位置信息

WordSimple word = wordSimple;

sb.append(word.getWords());

sb.append("\n");

}

// json格式返回字符串

//listener.onResult(result.getJsonRes());

Log.e("MainActivity", "MainActivity onResult()    ::" + sb.toString());

Message msg = Message.obtain();

msg.what = 100;

msg.obj = sb.toString();

mHandler.sendMessage(msg);

}

@Override

public void onError(OCRError error){

// 调用失败,返回OCRError对象

int errorCode = error.getErrorCode();

Log.e("MainActivity", "MainActivity onError()    ::" + errorCode);

error.printStackTrace();

}

});

}

6、Demo下载连接

本文的案例源码下载地址:

若是文章有错的地方欢迎指正,你们互相留言交流。习惯在微信看技术文章,想要获取更多的Java资源的同窗,能够关注微信公众号:niceyoo

879d84cadd4a436286a088fa.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android OCR文字识别可以通过使用Tesseract OCR库来实现。以下是实现OCR文字识别的步骤: 1. 在build.gradle文件中添加以下依赖项: ```gradle implementation 'com.rmtheis:tess-two:9.0.0' ``` 2. 将训练数据文件夹(tessdata)复制到项目的assets文件夹中。 3. 在MainActivity.java文件中添加以下代码: ```java // 导入Tesseract OCR库 import com.googlecode.tesseract.android.TessBaseAPI; public class MainActivity extends AppCompatActivity { // 声明OCR引擎 private TessBaseAPI mTess; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化OCR引擎 mTess = new TessBaseAPI(); String datapath = getFilesDir() + "/tesseract/"; String language = "eng"; mTess.init(datapath, language); // 获取ImageView、Button和TextView控件 ImageView imageView = findViewById(R.id.imgv); Button button = findViewById(R.id.btnOcr); TextView textView = findViewById(R.id.tvshow); // 设置Button的点击事件 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 获取ImageView中的Bitmap对象 Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); // 将Bitmap对象传递给OCR引擎进行文字识别 mTess.setImage(bitmap); String result = mTess.getUTF8Text().replace(" ", "").toLowerCase(); // 将识别结果显示在TextView中 textView.setText(result); } }); } @Override protected void onDestroy() { super.onDestroy(); // 释放OCR引擎 mTess.end(); } } ``` 4. 在布局文件中添加一个ImageView、一个Button和一个TextView控件。 ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/imgv"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnOcr" android:text="识别"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/tvshow" /> </LinearLayout> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值