您好,登錄后才能下訂單哦!
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中怎么實現一個圖片文字識別功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。