基于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GPS数据格式转换[通俗易懂]

    GPS数据格式转换[通俗易懂]经纬度格式分为三种:度、 度-分、  度-分-秒 1.)ddd.ddddd °【度.度 格式】的十进制小数部分(5位) 2.)ddd°mm.mmm’ 【度分.分 格式】的十进制小数部分(3位) NMEA数据格式为$GPGGA时,得到gps数据为(度分.分)格式 3.) ddd°mm’ss’’ 【度.分.秒 格式】 Goog

    2022年6月16日
    111
  • ProgressDialog使用总结

    ProgressDialog使用总结

    2021年12月9日
    34
  • C++11新特性之右值引用(&&)、移动语义(move)、完美转换(forward)

    1.右值引用个人认为右值引用的目的主要是为了是减少内存拷贝,优化性能。比如下面的代码:str为临时对象,然后调用Stringd的拷贝构造函数,将临时对象的值赋值给String,这种拷贝是完全没

    2021年12月28日
    60
  • JSP Include 文件方式

    JSP Include 文件方式两种方式JSPinclude文件有两种方式:1. 使用include标签,像  2.使用jsp:include标签,像              使用的差异在于:方式1比较适合引入一些静态的,比较少改动的内容;比如网页的header和footer的部分。方式2比较适合于引入改动较多的页面。

    2022年7月13日
    15
  • 电脑蓝屏0x000000f4解决步骤_win7蓝屏0x0000001a

    电脑蓝屏0x000000f4解决步骤_win7蓝屏0x0000001a各合作伙伴:当前出现部分用户电脑因win7操作系统服役期结束,更新操作系统补丁导致系统蓝屏,错误代码0X000000F4的现象。在此提醒广大伙伴及用户,可尝试按照以下方法进行处理并设置。1、开机按F8进入安全模式,设置操作系统进入干净启动状态。2、打开“开始”-“控制面板”-“系统和安全”-“已安装的更新”,拖到底部“当前已安装的更新”将已安装更新删除。3、点击开始菜单并…

    2022年10月8日
    0
  • webstorm好用的插件_谷歌浏览器插件推荐

    webstorm好用的插件_谷歌浏览器插件推荐安装插件codeglance可以实现VSCode的右侧小地图

    2022年9月8日
    0

发表回复

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

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