java使用tess4j进行图片文字识别
创始人
2025-06-01 17:54:37
0

java使用tess4j进行图片文字识别

  • 一、简介
  • 二、使用过程
    • 1.maven依赖引入pom.xml
    • 2.准备好tessdata目录下的语言库文件
    • 3.写测试代码进行测试
  • 三、源码下载地址


一、简介

Tess4J 是Java (JNA) 对 Tesseract OCR API 的封装。
很久之前需要做一个自动登陆并对网页上的未处理的数据进行按钮点击,其中需要登陆的验证码校验,因此用了一下Tess4J,能识别一些简单的文字和数字等,识别率好像一般,但出错了就重新换一个验证码再试,多试几次也能成功。现将之前的简单使用过程记录,备查。

tesseract:https://tesseract-ocr.github.io/
官网:http://tess4j.sourceforge.net/codesample.html

语言库:
https://github.com/tesseract-ocr/tessdata
https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata

二、使用过程

1.maven依赖引入pom.xml

		net.sourceforge.tess4jtess4j5.6.0

2.准备好tessdata目录下的语言库文件

需要提前下载好相关的语言库文件,这里我下了chi_sim.traineddata和eng.traineddata两个
下载地址:https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata
下载好后放在代码里面的目录下
在这里插入图片描述

3.写测试代码进行测试

准备好两张图片放置在代码的资源目录下,方便程序读取,

图片1
在这里插入图片描述
图片2
在这里插入图片描述
两张图片放在资源目录下
在这里插入图片描述

代码如下:

package cn.ljhua;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;import javax.imageio.ImageIO;import lombok.extern.slf4j.Slf4j;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;/*** Tess4jOcr测试示例* @author liujh*/
@Slf4j
public class Tess4jOcrTest {public static void main(String[] args) {Tess4jOcrTest test = new Tess4jOcrTest();test.ocrTest();}public void ocrTest() {log.info("ocrTest start....");long startMs = System.currentTimeMillis();//Tesseract的代码开始---------------------->>>>ITesseract instance = new Tesseract();/*** 组装接好tessdata目录的路径字符串*/String filePathPre = System.getProperty("user.dir");String dataPath = filePathPre + File.separator + "tessdata";/*** 设置目录datapath the tessdata path to set* 否则会报Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.错误*/instance.setDatapath(dataPath);//instance.setLanguage("eng");//默认,可以不写instance.setLanguage("chi_sim");//设置中文识别String imageName = "verifyCode.png";try (InputStream inStream = this.getClass().getResourceAsStream("/" + imageName)) {BufferedImage bImage = ImageIO.read(inStream);//doOCR也可以传参为File,我这里传的BufferedImageString result = instance.doOCR(bImage);//识别的结果回来可能会带回车,处理掉result = result.replaceAll("\n", "");log.info("图片名:" + imageName +" 识别结果:"+ result);} catch (IOException e) {log.error(e.getMessage(),e);} catch (TesseractException e) {log.error(e.getMessage(),e);}imageName = "vCode2.jpg";try (InputStream inStream = this.getClass().getResourceAsStream("/" + imageName)) {BufferedImage bImage = ImageIO.read(inStream);//doOCR也可以传参为File,我这里传的BufferedImageString result = instance.doOCR(bImage);//识别的结果回来可能会带回车,处理掉result = result.replaceAll("\n", "");log.info("图片名:" + imageName +" 识别结果:"+ result);} catch (IOException e) {log.error(e.getMessage(),e);} catch (TesseractException e) {log.error(e.getMessage(),e);}//Tesseract的代码结束--------------------->>>>log.info("ocrTest success. spend time :{} ms.", (System.currentTimeMillis() - startMs));}}

测试结果截图如:
在这里插入图片描述
英文识别出来比较正常,中文识别出来带了空格,如果需要可以通过代码进一步去掉空格,至此,tess4j的简单使用测试完成。

三、源码下载地址

最后提供源码如下:

github: https://github.com/jxlhljh/tess4jOcrTest
gitee: https://gitee.com/jxlhljh/tess4jOcrTest

相关内容

热门资讯

“胸无成算”的意思 “胸无成算”的意思 成语拼音: [xiōng wú chéng suàn] ...
“导德齐礼”的意思 “导德齐礼”的意思 成语拼音: [dǎo dé qí lǐ] ...
描写人物外貌的成语 有关描写人物外貌的成语  导语:描写人物外貌的成语有很多,你都知道哪些呢?下面是小编为你准备的有关描...
《公孙仪相鲁而嗜鱼》文言文阅... 《公孙仪相鲁而嗜鱼》文言文阅读答案  公孙仪相鲁而嗜鱼,一国尽争买鱼而献之。公孙仪不受。其弟子谏曰:...
“不可磨灭”的意思 “不可磨灭”的意思 成语拼音: [bù kě mó miè] ...
王尔德童话英文版 王尔德童话英文版(通用9篇)  王尔德是19世纪英国第一位文艺天才,他风流不羁的外表下有一颗纯洁的童...
三字经儿歌朗读全文 三字经儿歌朗读全文  《三字经》难免含有一些精神糟粕、艺术瑕疵,但其独特的思想价值和文化魅力仍然为世...
苏轼被贬黄州时写的诗有哪些? 苏轼被贬黄州时写的诗有哪些?  导语:小编整理了苏轼在被贬在黄州时写的诗词,有兴趣的朋友可以看看。 ...
余光中经典语录 关于余光中经典语录  余光中,当代著名作家、诗人、学者、翻译家,出生于南京,祖籍福建永春。因母亲原籍...
诗经木瓜全文注音版 诗经木瓜全文注音版  《诗经·木瓜》,是通过赠答表达深厚情意的诗作,出自《诗经·国风·卫风》,是先秦...
澄江化石群阅读及答案 澄江化石群阅读及答案  阅读说明文,完成6-9题。(12分,每题3分)  ①五亿三千万年前的一天,一...
杨子之邻人亡羊节选文言文阅读... 杨子之邻人亡羊节选文言文阅读及答案  阅读。  杨子之邻人亡羊①  《列子》  杨子②之邻人亡③羊,...
题西林壁如今刻在哪里? 题西林壁如今刻在哪里?  在学习中,大家都没少背知识点吧?知识点就是“让别人看完能理解”或者“通过练...
《边城》观后感 《边城》观后感(13篇)  看完一部作品以后,这次观看让你心中有什么感想呢?是时候抽出时间写写观后感...
《襄邑道中》原文翻译及赏析 《襄邑道中》原文翻译及赏析  《襄邑道中》是南宋诗人陈与义所作的一首诗。此诗通过对乘船东行,河两岸上...
孙子兵法全文和译文 孙子兵法全文和译文  《孙子兵法》又称《孙武兵法》、《吴孙子兵法》、《孙子兵书》《孙武兵书》等,是中...
《内经》论“喘” 《内经》论“喘”  喘为临床常见病,但很多医生疗效欠佳。研读《内经》,梳理有关“喘”的理论,可对此病...
伤仲永原文及翻译简单 伤仲永原文及翻译简单  小编整理了关于《伤仲永》原文及《伤仲永》翻译,希望同学们从这篇课文的学习中懂...
诗经里采薇的意思 诗经里采薇的意思  《小雅·采薇》是中国古代现实主义诗集《诗经》中的'一篇。这是一首戎卒返乡诗,唱出...
《临终歌》李白唐诗注释翻译赏... 《临终歌》李白唐诗注释翻译赏析  作品原文  临终歌  [唐]李白  大鹏飞兮振八裔,中天摧兮力不济...