一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java使用Tess4J實現圖像識別方式

Java使用Tess4J實現圖像識別方式

2022-03-07 00:31占位符號 Java教程

這篇文章主要介紹了Java使用Tess4J實現圖像識別方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java Tess4J實現圖像識別

最近需要用Java做一個圖像識別的東西,查了一些資料,在此寫一個基于Tess4J的教程,方便其他人參考和使用。

其實做圖像識別,也可以使用TESSERACT-OCR來實現,但是該方式需要下載軟件,在電腦上安裝環境,移植性不高,使用Tess4J只需要下載相關Jar包,導入項目,再把項目封裝好就可以處處運行了。

 

首先,下載Tess4J的相關資源(一個壓縮包)

官網:http://tess4j.sourceforge.net/codesample.html

解壓,其中的目錄結構如下:

Java使用Tess4J實現圖像識別方式

需要用到其中圈起來的三個文件夾中的東西。lib文件夾下放的是需要用到的Jar包,tessdata下放的是語言庫,默認的有英語庫,中文庫需要另外下載,下載地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata。

新建一個Java項目,將lib文件夾和tessdata文件夾復制到項目的根目錄下,找到dist文件夾下的tess4j.jar(名字可能有版本號),將該文件也復制到項目根目錄下的lib文件夾下。

 

項目的的目錄如下

Java使用Tess4J實現圖像識別方式

 

lib中的文件如下(tess4J.jar也在該目錄下)

Java使用Tess4J實現圖像識別方式

 

再在eclipse中打開項目

在項目中導入lib文件夾中所有的jar包(Build path --> configure build path),導入后的結果如下:

Java使用Tess4J實現圖像識別方式

這樣前期準備工作就完成了,下面就剩下代碼了。

 

Tess4J的代碼比較簡潔

如下:

Tess4JTest.java

package ocr; 
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import net.sourceforge.tess4j.util.LoadLibs; 
import java.io.File;
import java.io.IOException;

/**
* Tess4J測試類
*/
public class Tess4JTest { 
  public static void main(String[] args){ 
  	String path = "D://Java//Tess4J";//我的項目存放路徑    	
  	File file = new File(path + "//photo.jpg");
      ITesseract instance = new Tesseract();

      /**
       *  獲取項目根路徑,例如: D:\IDEAWorkSpace\tess4J
       */
      File directory = new File(path);
      String courseFile = null;
      try {
          courseFile = directory.getCanonicalPath();
      } catch (IOException e) {
          e.printStackTrace();
      }

      //設置訓練庫的位置
      instance.setDatapath(courseFile + "//tessdata"); 
      instance.setLanguage("eng");//chi_sim :簡體中文, eng	根據需求選擇語言庫
      String result = null;
      try {
          long startTime = System.currentTimeMillis();
           result =  instance.doOCR(file);
          long endTime = System.currentTimeMillis();
          System.out.println("Time is:" + (endTime - startTime) + " 毫秒");
      } catch (TesseractException e) {
          e.printStackTrace();
      }
      
      System.out.println("result: ");
      System.out.println(result);
  } 
}

這樣就搞定了。

 

效果如下

原圖:

Java使用Tess4J實現圖像識別方式

讀取結果:

Java使用Tess4J實現圖像識別方式

從結果來看準確率還有待提高,l 和 1分不清,0 和 O 也沒有分清,漢字的準確率還要低一些,大家可以自行訓練字體庫優化。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/zai_xia/article/details/80003778

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色综合中文字幕在线亚洲 | 不良网站在线观看 | 免费观看日本人成影片 | 亚洲国产无线码在线观看 | nxgx欧美| avtt天堂在线 | 日本久本草精品 | 亚洲男gay同性同志 亚洲免费在线看 | 叉逼视频 | a4yy欧美一区二区三区 | 疯狂伦交1一6小说 | 精品视频一区二区观看 | 精品国产综合区久久久久久 | 免费理伦片高清在线 | 日韩久久影院 | 情缘1完整版在线观看 | av排名 | 放荡护士玩3p口述 | free性欧洲| 闺蜜的样子小说安沁在线阅读 | 日韩毛片在线 | 国产精品合集久久久久青苹果 | 日本欧美不卡一区二区三区在线 | 日韩在线一区二区三区免费视频 | 2019nv天堂香蕉在线观看 | se01在线看片 | 国产日韩欧美综合一区二区三区 | 国产馆在线观看免费的 | 男人爱看的网站 | 外国老少性配 | 西野翔全部作品在线观看 | 99re热精品这里精品 | 色99视频 | 办公室操秘书 | 青青草原国产在线 | 国产a免费观看 | 视频免费视频观看网站 | 美女牲交毛片一级视频 | 小向美奈子av | 国产在线观看色 | 亚洲视频在线免费观看 |