图片文字识别 - OCR

一、OCR 介绍

  OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。

 

二、技术选型

方案 说明
百度OCR 准确率高,但收费
Tesseract-OCR Google维护的开源OCR引擎,支持Java,Python等语言调用
Tess4j 封装了Tesseract-OCR,支持Java调用

 

三、Tesseract-OCR

  Tesseract-OCR 特点:

    Tesseract 支持 UTF-8编码格式,并且可以 “ 开箱即用 ” 地识别100多种语言。

    Tesseract 支持多种输出格式:纯文本、hOCR(HTML)、PDF 等

    官方建议,为了获得更好地OCR结果,最好提供给高质量地图像。

    Tesseract 进行识别其他语言的训练

 

四、导入依赖

        <dependency>
            <groupId>net.sourceforge.tess4j</groupId>
            <artifactId>tess4j</artifactId>
            <version>4.1.1</version>
        </dependency>

 

五、Tess4j 测试案例

复制代码
package com.heima.tess4j;

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

import java.io.File;

public class Application {

    /**
     * 识别图片中的文字
     * @param args
     */
    public static void main(String[] args) throws TesseractException {

        //创建实例
        ITesseract tesseract = new Tesseract();

        //设置字体库路径
        tesseract.setDatapath("C:\\VmWare\\hmtt\\test");

        //设置语言 -> 简体中文
        tesseract.setLanguage("chi_sim");

        // 识别照片存储位置
        File file = new File("C:\\VmWare\\hmtt\\test\\test.png");

        //识别图片
        String result = tesseract.doOCR(file);

        System.out.println("识别的结果为:\n" + result.replaceAll("\\r|\\n","-"));

    }
}
复制代码

 

posted @   青核桃啊  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示