java 圖片識別 tess4j_圖像文字識別(四):java調用tess4j識別圖像文字

轉自:https://blog.csdn.net/a745233700/article/details/80203340java

java調用tess4j識別圖像文字

Tesseract-OCR支持中文識別,而且開源和提供全套的訓練工具,是快速低成本開發的首選。前面記錄過在java中調用tesseract-orc,該方法的原理是經過在java中調用cmd命令行,來執行tesseract,可是該方式須要下載軟件,在電腦上安裝環境,移植性不高。git

而Tess4J則是Tesseract在Java PC上的應用。若是使用Tess4J只須要下載相關Jar包,導入項目,再把項目封裝好就能夠到處運行了,可移植性比較好。Tess4J在英文和數字識別中性能比較好,可是在中文識別中,不管速度仍是識別率仍是較弱,所以須要針對場景進行訓練,才能得到較好結果。github

這篇博客簡單記錄一下在java中經過調用tess4j的方式識別圖片的文字內容。maven

步驟:工具

(1)下載tess4j源碼包:https://sourceforge.net/projects/tess4j/性能

tessdata下默認為英語庫,中文庫下載地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata測試

其余庫的下載地址:https://github.com/tesseract-ocr/tessdataui

下載完的tess4j資源包目錄以下:.net

3c4bdceac0a676bd5762771bcb1bc9b3.png

(2)新建一個java工程:命令行

使用Build Path -> configure build path導入dist目錄下的tess4j.jar 和 lib目錄下的全部jar包,以下圖:

d15efa7c3480be1a2b3bd02d6e887a03.png

若是是maven工程則導入如下maven依賴。

net.sourceforge.tess4j

tess4j

3.2.1

(3)把tessdata文件夾復制到項目的根目錄下(與src目錄同級),以下圖:

460313e0e3d98d68a4bcea2ae25dbd74.png

若是tessdata目錄沒有配置到根目錄下,就須要在代碼中指定datePath。

(4)編寫測試類:

import java.io.File;

import net.sourceforge.tess4j.ITesseract;

import net.sourceforge.tess4j.Tesseract;

import net.sourceforge.tess4j.TesseractException;

/**

* 類說明 : tess4j測試類

*/

public class OCRDemo {

public static void main(String[] args) throws TesseractException {

ITesseract instance = new Tesseract();

//若是未將tessdata放在根目錄下須要指定絕對路徑

//instance.setDatapath("the absolute path of tessdata");

//若是須要識別英文以外的語種,須要指定識別語種,而且須要將對應的語言包放進項目中

instance.setLanguage("chi_sim");

// 指定識別圖片

File imgDir = new File("C://Users//1_20180208150251_x4hzz//1.png");

long startTime = System.currentTimeMillis();

String ocrResult = instance.doOCR(imgDir);

// 輸出識別結果

System.out.println("OCR Result: \n" + ocrResult + "\n 耗時:" + (System.currentTimeMillis() - startTime) + "ms");

}

}

(5)圖片素材與識別結果:

6a2f640348e8791d8f61cb6b208c282f.png

3c0704d3f346443e5740b47b0cb18ab1.png

能夠看到,tess4j在中文識別時,不管速度仍是識別率仍是較弱,須要針對場景進行訓練,才能得到較好結果。

---------------------

做者:a745233700

來源:CSDN

原文:https://blog.csdn.net/a745233700/article/details/80203340

版權聲明:本文為博主原創文章,轉載請附上博文連接!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/528975.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/528975.shtml
英文地址,請注明出處:http://en.pswp.cn/news/528975.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sql in轉換為join_同一個SQL語句,為啥性能差異咋就這么大呢?(1分鐘系列)

《數據庫允許空值,往往是悲劇的開始》一文通過explain來分析SQL的執行計劃,來分析null對索引命中情況的影響,有不少朋友留言,問explain結果中的type字段,ref,ALL等不一樣的值究竟是什么含義。今天花1分鐘簡…

java rmi接口 超時設置_Spring RMI客戶端讀超時設置 | 學步園

標準Java的RMI設置我所知道的有三種方式,其中第1、2種不區分框架均適用,但影響整個JVM級別的RMI服務1. 啟動時設置sun.rmi.transport.tcp.responseTimeout,單位是毫秒java -Dsun.rmi.transport.tcp.responseTimeout502.在應用程序中設置環境變…

python黑客庫長安十二時辰 更新_【Python成長之路】python 從零學爬蟲 -- 沒時間看《長安十二時辰》電視劇怎么辦?直接爬取所有劇情吧!...

【寫在前面】最近大火的《長安十二時辰》真的是好看,算的是良心網劇了。但是由于平時工作時間較長,經常無法準時追劇,并且又因為不想見到元裁那對挨千刀的(作為演員,演技是值得肯定的,角色演繹的讓人看的心煩)。因此就…

java字符串筆試題_五道Java常見筆試題及答案匯總

1、String和StringBuffer的區別?答:Java平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數據。這個String類提供了數值不可改變的字符串。而這個StringBuffer類提供的字符串進行…

遙感原理與應用孫家炳_2.2遙感應用模型

章節概覽遙感應用模型是遙感的一種定量化手段,通常在遙感領域有一個更廣為人知的名詞——定量遙感。但是定量遙感是一種方法模型而非技術手段,隨著科學的發展,熱門越來越體會到定量遙感的必要性。定量遙感的應用是十分廣泛的,也是…

python升級命令debian_debian python 2.7.11 升級

首先下載源tar包可利用linux自帶下載工具wget下載,如下所示:下載完成后到下載目錄下,解壓tar -zxvf Python-2.7.11.tgz進入解壓縮后的文件夾cdPython-2.7.11在編譯前先在/wp-content/local建一個文件夾python27(作為python的安裝路徑&#xf…

mysql必學十大必會_MYSQL 學習(一)--啟蒙篇《MYSQL必知必會》

MYSQL必知必會一. DDL 數據定義語言Data Definition Language 是指CREATE,ALTER和DROP語句。DDL允許添加/修改/刪除包含數據的邏輯結構,或允許用戶訪問/維護數據(數據庫,表,鍵,視圖......)的邏輯結構。DDL是關于“元數…

python連接wifi_python 自動重連wifi windows的方法

如下所示:# codingutf-8import urllib2import urllibfrom cookielib import CookieJarimport osimport reimport timeclass ConnectWeb(object):def __init__(self):self.cookiejarinmemory CookieJar()self.opener urllib2.build_opener(urllib2.HTTPCookieProce…

java for新循環_Java 8 新語法習慣 (for 循環的函數替代方案)

我們看這樣一個示例public class ForDemo {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Get set...");for (int i 0; i < 4; i) {System.out.println(i"...");}}}測試結果Get set...0...1...2...…

喜馬拉雅 xm文件轉m4a_喜馬拉雅電臺、課程語音如何轉成文字?

今天看了一篇文章“AI面前人類一敗涂地”就是說了AI的發展讓所有的事情幾乎都可以實現科技化&#xff0c;無需人工操作&#xff0c;工作效率還比人工要高很多。這樣說來的確是這樣。語音轉換也是其中一門技術&#xff0c;人們現在對于語音的交流很多&#xff0c;比如社交軟件的…

java url特殊字符轉義字符_URL中包含有特殊字符,進行轉義

String temp URLEncoder.encode(json);URL中的特殊字符有些符號在URL中是不能直接傳遞的&#xff0c;如果要在URL中傳遞這些特殊符號&#xff0c;那么就要使用他們的編碼了。編碼的格式為&#xff1a;%加字符的ASCII碼&#xff0c;即一個百分號%&#xff0c;后面跟對應字符的A…

java 多重注解_Java注解-元數據、注解分類、內置注解和自定義注解

大家好&#xff0c;我是樂字節的小樂&#xff0c;上次說過了Java多態的6大特性|樂字節&#xff0c;接下來我們來看看Java編程里的注解。Java注解有以下幾個知識點&#xff1a;元數據注解的分類內置注解自定義注解注解處理器Servlet3.0本文先介紹前面4個知識點&#xff1a;元數據…

python getattr函數_Python中的getattr()函數詳解

在計算機編程中&#xff0c;自省是指這種能力&#xff1a;檢查某些事物以確定它是什么、它知道什么以及它能做什么。自省向程序員提供了極大的靈活性和控制力。自省(introspection)&#xff0c;在計算機編程領域里&#xff0c;是指在運行時來判斷一個對象的類型的能力。它是Pyt…

ie8不兼容java項目_常見IE8兼容性問題及解決

1、css3媒體查詢IE8不支持媒體查詢解決&#xff1a;respond.js&#xff0c;在頁面中所有css文件的引用位置之后引用Respond.js2、HTML5新標簽IE8不支持H5新標簽解決&#xff1a;html5shiv.js&#xff0c;在頁面中引用html5shiv.js文件。必須添加在頁面的元素內&#xff0c;因為…

python對圖像二值化_python如何二值化圖像

在python中二值化圖像的方法&#xff1a;首先將圖片轉化為灰色圖像&#xff1b;然后自定義灰度界限&#xff1b;最后輸入“photoImg.point(table,1)”命令(table為自己創建的數組名)即可二值化圖像。# 圖片二值化代碼如下&#xff1a;from PIL import Imageimg Image.open(tes…

Java快速提升_java快速復習 一 基礎語法

最近看很多算法書&#xff0c;比較不錯的有不少都是java語言描述&#xff0c;所以用一天時間快速研究并整理java &#xff0c;參考資料&#xff1a;java入門經典Call this file "Example2.java".class Example2 {public static void main(String args[]) {int a&…

酷狗音樂linux版_酷狗音樂概念版APP內測獲用戶好評:極簡化,更高級

這兩天在網上沖浪的時候&#xff0c;發現不少網友都在安利一個叫做“酷狗音樂概念版”的APP&#xff0c;難道是酷狗又在悶聲搞大事了&#xff1f;搜了一下發現&#xff0c;原來是酷狗音樂概念版APP已經開始進入內測階段&#xff0c;嘗試著下載使用&#xff0c;果然發現“更酷更…

java 計算器類圖_多態計算器(封裝、繼承、多態、簡單工廠)

一.封裝向對象程序設計中&#xff0c;一個非常重要的技術便是封裝&#xff0c;也就是把客觀事物封裝成抽象的類&#xff0c;并且類可以把自己的數據和方法只讓可信的類或者對象操作&#xff0c;對不可信的進行信息隱藏。這樣做的好處在于可以使類內部的具體實現透明化&#xff…

圖書管理系統 java 源碼_[源碼和文檔分享]基于C語言和SQL SERVER數據庫實現的圖書管理系統...

摘 要本文根據《數據庫應用系統設計》課程要求而做。選擇圖書館管理系統設計與開發是因為覺得圖書館管理系統對我們的幫助很大&#xff0c;并且經常去圖書館&#xff0c;對圖書館的大部分功能及流程還是比較了解&#xff0c;而且現在有些地方可能還不夠完善。這次課程設計目標是…

java useragent 360 遨游 火狐_各種瀏覽器UserAgent一覽表(桌面+移動)

桌面IE而IE各個版本典型的userAgent如下&#xff1a;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)其中&#x…