这篇文章主要介绍“Android如何实现图片文字识别”,在日常操作中,相信很多人在Android如何实现图片文字识别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android如何实现图片文字识别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都网站建设、网站建设,成都做网站公司-创新互联建站已向近千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
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();
到此,关于“Android如何实现图片文字识别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!