实现图像剪裁并使用Tess-two来识别文字

上文选定了图片剪裁工具为Android-cropper,开始尝试和Tess-two结合使用

第1步: 流程:图像选取(拍照或从图库选取)—> 裁剪图片 —> 识别图像中的文字

第2步:发现Android-cropper内置功能有拍照或从图库中选取图片进行剪裁的功能接口,可以直接调用,参 考链接为:Android-Image-Cropper/wiki/Pick-image-for-cropping-from-Camera-or-Gallery

第3步:找到一个可用的主界面代码,参考网址为:Android 增强版百分比布局库 为了适配而扩展,修改后界面如下:

第4步:导入Tess-two

开源代码地址为:GitHub - rmtheis/tess-two: Fork of Tesseract Tools for Android

无需其他操作,仅需在项目App下的build.gradle文件中添加一行即可

在dependencies中添加语句compile'com.rmtheis:tess-two:8.0.0'

第5步:导入Android-Image-Cropper里面的test模块和其所依赖的Cropper模块,导入后目录结构为:

同样在dependencies中添加语句compile project(path:':cropper')即可。

第6步:实现点击图像选取进入含有图像裁剪功能的模块

第7步:实现点击图像识别进入含有图像识别的Tess-two模块

参考tess_two Android图片文字识别 - 简书来实现安卓平台上的图像文字识别。

在图片在活动之间传递的处理中,看到了一篇整理好的博客:Android 中ImageView 显示图片的几种方法简要分析

第8步:实现Tess-two模块的图像文字识别功能的调用,接收来自主活动的裁剪后的图像的Uri , 读取bitmap图像进行识别。参考了这个链接:android 读取本地图片生成 bitmap

发现每次执行到“tessBaseApi =new TessBaseAPI();”的时候都闪退,进入函数过程中遇到这个报错: java.lang.UnsatisfiedLinkError: couldn't find "libjpgt.so"找不到库,执行到下列语句时报错。


参考这个链接:Android Studio下jni应用 - balenofly - 博客园,在文件资源管理器找到图中的.apk文件,拷贝出来将其后缀名改为.zip文件,然后在项目的main目录下新建jniLibs文件夹,并将.zip文件中lib目录下的文件拷贝到libs和jniLibs目录下,再运行就成功了。


最后,图像的文字识别终于成功了,效果如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,156评论 25 709
  • 以太坊EVM虚拟机代码阅读 1、 类图 整体来说,整个以太坊evm的实现主要是依赖3个类,分别是VM,Progra...
    oracle3阅读 5,163评论 0 1
  • 火字旁页字边 一个烦字怎了得 一烦娇儿如何教 二烦父母如何过百年 三烦婚姻如何顺 四烦如何赚到更多钱 五烦自我价值...
    安可果儿阅读 1,630评论 0 0
  • 值得注意的是,鼓吹智能技术引发“大规模失业”和“危害人类”的人士,皆非真正从事并了解此行业技术本质的专业人士,所依...
    神羔羊阅读 1,409评论 0 0
  • 总结下CoreData常用的一些查询 fetchLimit和fetchOffset分页查询、多字段排序: NSEx...
    CGPointZero阅读 7,802评论 0 4

友情链接更多精彩内容