Android实现图片文字识别

 更新时间:2021年07月11日 10:06:49   作者:爱乐写代码  
这篇文章主要为大家详细介绍了Android实现图片文字识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

导言

OCR,tess-two ,openCV等晕人的东西先分清,OCR,tess-two是图片文字识别,而openCV是图像识别比对,对于更复杂的图片文字识别需求可以采用百度云人工智能通用文字识别开发的SDK,准确性更高

可运行的步骤

1、添加依赖

implementation 'com.rmtheis:tess-two:8.0.0'

2、下载字体识别库(chi_sim.traineddata 中文简体,chi_tra.traineddata 中文繁体,eng.traineddata 英文库)

3、为了apk的大小,我们需要将字体识别库文件拷贝到SD卡目录中,比如eng.traineddata的copy

private String mDataPath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;
private String mFilePath = mDataPath + File.separator + "tessdata" + File.separator + "eng.traineddata";
private void copyFile() {
        try {
            File mFile = new File(mFilePath);
            if (mFile.exists()) {
                mFile.delete();
            }
            if (!mFile.exists()) {
                File p = new File(mFile.getParent());
                if (!p.exists()) {
                    p.mkdirs();
                }
                try {
                    mFile.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            OutputStream os = new FileOutputStream(mFilePath);
            InputStream is = this.getAssets().open("eng.traineddata");
            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = is.read(buffer)) != -1) {
                os.write(buffer, 0, len);
            }
            os.flush();
            os.close();
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

4、tess two初始化

TessBaseAPI baseApi;
baseApi = new TessBaseAPI();
baseApi.init(mDataPath, "eng");

5、处理bitmap图片并识别里面的内容

//OCR图片文字识别
baseApi.setImage(bitmap);
String result = baseApi.getUTF8Text().replace(" ", "").toLowerCase();

6、他要求看需求,本文结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android实现快递跟踪进度条

    android实现快递跟踪进度条

    这篇文章主要为大家详细介绍了android实现快递跟踪进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android使用Spinner实现城市级联下拉框

    Android使用Spinner实现城市级联下拉框

    这篇文章主要为大家详细介绍了Android使用Spinner实现城市级联下拉框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android使用View Animation实现动画加载界面

    Android使用View Animation实现动画加载界面

    这篇文章主要为大家详细介绍了Android使用View Animation实现动画加载界面的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android实现文字滚动播放效果的代码

    Android实现文字滚动播放效果的代码

    这篇文章主要介绍了Android实现文字滚动播放效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Android实现城市选择三级联动

    Android实现城市选择三级联动

    这篇文章主要为大家详细介绍了Android实现城市选择三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Android ViewStub使用方法学习

    Android ViewStub使用方法学习

    这篇文章主要为大家介绍了Android ViewStub使用方法学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android中TextView自动识别url且实现点击跳转

    Android中TextView自动识别url且实现点击跳转

    这篇文章主要介绍了关于Android中TextView自动识别url且实现点击跳转的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Android中WebView用法实例分析

    Android中WebView用法实例分析

    这篇文章主要介绍了Android中WebView用法,以实例形式较为详细的分析了Android中WebView的功能、注意事项与使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-10-10
  • Android编程ViewPager回弹效果实例分析

    Android编程ViewPager回弹效果实例分析

    这篇文章主要介绍了Android编程ViewPager回弹效果,以实例形式较为详细的分析了ViewPager回弹效果的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android使用KeyStore对数据进行加密的示例代码

    Android使用KeyStore对数据进行加密的示例代码

    这篇文章主要介绍了Android使用KeyStore对数据进行加密的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论