基于Tess4j的图片识别

基于Tess4j的图片识别Tess4J是对TesseractOCRAPI的JavaJNA封装。tesseract是跨平台的OCR(OpticalCharacterRecognition,光学字符识别)引擎,让开发者非常容易的集成OCR能力到他们自己的应用。通过强大的API从图片中识别和提取文本内容。Tess4J支持主流的图片格式,如TIFF,JPEG,GIF,PNG,BMP,andPDF。…

大家好,又见面了,我是你们的朋友全栈君。

        Tess4J是对Tesseract OCR API的Java JNA 封装。tesseract是跨平台的OCR(Optical Character Recognition,光学字符识别)引擎,让开发者非常容易的集成OCR能力到他们自己的应用。通过强大的API从图片中识别和提取文本内容。Tess4J支持主流的图片格式,如TIFF,JPEG,GIF,PNG,BMP,and PDF。
        OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。

1、maven依赖

<!– https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j –>
    <dependency>
        <groupId>net.sourceforge.tess4j</groupId>
        <artifactId>tess4j</artifactId>
        <version>4.3.1</version>
    </dependency>

2、示例代码

String path = “D:\\wspace\\tess4j-demo2”;        //测试数据路径
        
        File file = new File(path + “\\test-data\\testPhone.jpg”);
        ITesseract instance = new Tesseract();
 
        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    根据需求选择语言库
//        instance.setLanguage(“chi_sim”);//chi_sim :简体中文, eng    根据需求选择语言库
        
//        instance.setLanguage(“num”);//自定义的训练库
        instance.setLanguage(“hz”);//自定义的训练库
        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);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144052.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月20日 上午11:00
下一篇 2022年5月20日 上午11:00


相关推荐

  • AI智能体|扣子(Coze)搭建【自动生成AI漫剧】Agent

    AI智能体|扣子(Coze)搭建【自动生成AI漫剧】Agent

    2026年3月12日
    1
  • eclipse 代码自动补全

    eclipse 代码自动补全第3个红框中已有.,在其后加abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZend

    2022年5月6日
    41
  • zencart模板修改 (详细)

    zencart模板修改 (详细)下面简单的介绍下zencart网站模板的修改。修改较多的地方:(常用代码)一:头部文件为(例子):D:\AppServ\www\zencart12698\includes\templates\theme3\common–tpl_header.php1.搜索模块功能:——————-标题:<?phpechoBOX_HEADING_SEARCH…

    2022年7月27日
    6
  • dh参数建模_data vault 建模

    dh参数建模_data vault 建模仅供个人学习记录DH法一般用一次就丢,然后后面再需要用的时候就会忘,所以本文整理了DH建模法,方便需要使用的时候进行参考DH法可分成以下几步:辨认出关节和连杆确定Z轴确定每个坐标系的原点确定XY轴确定Toolframe写出DH参数表写出转换方程其中对于第二步情况也要分为两种旋转关节平动关节其中对于第四步情况分为三种:Zi与Zi-1不共面Zi与Zi-1平行…

    2025年11月23日
    5
  • 字符串 压缩 java_简单的java字符串压缩(原创)

    字符串 压缩 java_简单的java字符串压缩(原创)复制内容到剪贴板代码 packageorg test 面试题目 现有一个字符串 其内容仅仅包含 a z 现在要进行网络传输 故需要减少网络传输的 大小 如何将字符串空间缩小 以下为我给出的答案 可能不对 欢迎探讨 求最优方式 publicclassC publicstatic acdesfghsada

    2026年3月18日
    1
  • perl正则表达式匹配后的各种变量

    perl正则表达式匹配后的各种变量[root@rwsoda203db1perl_tidb]#catp.pl#!/usr/bin/perlusestrict”subs”;usestrict;usev5.16;my$n=3;my$str=”first.<EM>PARENT</EM>LAST”;$str=~m#(<.*?>)(.*?)(</….

    2022年5月6日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号