1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 如何使用ocr_Java使用tess4J进行OCR图像识别

java 如何使用ocr_Java使用tess4J进行OCR图像识别

时间:2021-01-10 05:08:22

相关推荐

java  如何使用ocr_Java使用tess4J进行OCR图像识别

简介

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。

Tess4J是对Tesseract OCR API.的Java JNA 封装。使java能够通过调用Tess4J的API来使用Tesseract OCR。支持的格式:TIFF,JPEG,GIF,PNG,BMP,JPEG,and PDF

Tess4J API 提供的功能:

直接识别支持的文件

识别图片流

识别图片的某块区域

将识别结果保存为 TEXT/ HOCR/ PDF/ UNLV/ BOX

通过设置取词的等级,提取识别出来的文字

获得每一个识别区域的具体坐标范围

调整倾斜的图片

裁剪图片

调整图片分辨率

从粘贴板获得图像

克隆一个图像(目的:创建一份一模一样的图片,与原图在操作修改上,不相 互影响)

图片转换为二进制、黑白图像、灰度图像

反转图片颜色

创建maven项目

pom中引用jar包

net.sourceforge.tess4j

tess4j

4.5.1

下载语言库文件

其中chi_sim.traineddata为中文语言库,eng.traineddata为英文语言库。

在任意地方创建一个文件夹tessdata,将下载的chi_sim.traineddata 和 eng.traineddata语言包存放在该目录下,也可以直接存放到自己项目的resources/tessdata目录下。

PS:后期的OCR样本训练,实际上就是制作生成自己的语言库文件

代码示例

//识别图片的路径(修改为自己的图片路径)

String path = "D:\\test.png";

File file= newFile(path);

ITesseract instance= newTesseract();//获得Tesseract的文字库,设置语言库位置

URL tessdataPath = ClassLoader.getSystemResource("tessdata");

instance.setDatapath(tessdataPath.getPath().substring(1));//chi_sim :简体中文, eng:英文 根据需求选择语言库

instance.setLanguage("eng");

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: ");

System.out.println(result);

测试图片:

结果:

参考:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。