`

linux 安装Tesseract-OCR java运行

 
阅读更多

安装Tesseract-OCR
准备工作:
编译环境: gcc gcc-c++ make(这个环境一般机器都具备,可以忽略)  
1
yum install gcc gcc-c++ make
 依赖的包: autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel leptonica(1.67以上)
 
 
1. autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel 可以通过yum安装:
1
yum install autoconf automake libtool
2
yum install libjpeg-devel libpng-devel libtiff-devel zlib-devel
2. leptonica 需要源码编译安装
 参考资料:
 http://paramountideas.com/tesseract-ocr-30-and-leptonica-installation-centos-55-and-opensuse-113
 http://www.leptonica.org/source/README.html
 下载leptonica 包: http://www.leptonica.org/source/leptonica-1.68.tar.gz
 解压后切换到leptonica-1.68 根目录  
1
./configure
2
make
3
make install
tesseract安装:
 依赖安装完毕后开始安装tesseract
 下载tesseract-3.01 安装包: http://tesseract-ocr.googlecode.com/files/tesseract-3.01.tar.gz
 解压后切换到tesseract-3.01 根目录
 (如果在make时遇到类似strngs.h:1: error: stray '\357' in program 的错误,请将tesseract-3.01/ccutil/strngs.h 文件转为ANSI 编码保存,再重新编译)  
1
./autogen.sh
2
./configure
3
make
4
make install
5
ldconfig
tesseract英文语言包安装:  
 下载tesseract-3.01 英文语言包: http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz
 解压后将tesseract-ocr/tessdata 下的所有文件全部拷贝到/usr/local/share/tessdata 下
安装完毕.
测试一下:
 切换到解压后的tesseract-3.01 根目录(这个目录下有一个自带的phototest.tif 可以做测试用)
 命令行:
1
tesseract phototest.tif phototest -l eng
 输出:
1
Tesseract Open Source OCR Engine v3.01 with Leptonica
2
Page 0
 这时应该在当前目录生成一个phototest.txt 文本文件,内容就是phototest.tif 显示的文字.

 

 

--------------------------------------------以上安装完成-------------------------------------

java实现

方法:

private static String recognizeText(File imageFile){
		/**
		 * 设置输出文件的保存的文件目录
		 */
		File outputFile = new File(imageFile.getParentFile(), "output");
		StringBuffer strB = new StringBuffer();

		// 设置cmd命令行字符串形式
		List<String> cmd = new ArrayList<String>();
		cmd.add("tesseract");
		cmd.add(imageFile.getName());
		cmd.add(outputFile.getName());
		cmd.add("-l");
		cmd.add("eng");

		try {
			// 启动exe进程
			ProcessBuilder pb = new ProcessBuilder();
			pb.directory(imageFile.getParentFile());
			pb.command(cmd);
			pb.redirectErrorStream(true);
			Process process = pb.start();
			// 等待此进程完成
			int w = process.waitFor();
			if (w == 0) {// 0代表正常退出
				BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(outputFile.getAbsolutePath() + ".txt"), "UTF-8"));
				String str;
				while ((str = in.readLine()) != null) {
					strB.append(str).append(EOL);
				}
				in.close();
			} else {
				String msg;
				switch (w) {
				case 1:
					msg = "Errors accessing files. There may be spaces in your image's filename.";
					break;
				case 29:
					msg = "Cannot recognize the image or its selected region.";
					break;
				case 31:
					msg = "Unsupported image format.";
					break;
				default:
					msg = "Errors occurred.";
				}
				logger.error(msg);
			}
		} catch (Exception e) {
			logger.error(e.getMessage(), e);
		}
		new File(outputFile.getAbsolutePath() + ".txt").delete();
		return strB.toString().replaceAll("\\s*", "");
	}

 

分享到:
评论

相关推荐

    tesseract-OCR GUI版本-Linux版本

    tesseract-OCR识别开源项目的GUI版本,Java编写,此版本是Linux版本

    光学字符识别-Tesseract-OCR-安装包与语言包-软件部署-tesseract-ocr安装包和中文语言包

    Tesseract-OCR 安装包:提供了适用于Windows、macOS和Linux系统的Tesseract-OCR的最新版本安装包。安装包中包含了所有必要的二进制文件和库,用户可以根据自己的操作系统选择相应的安装包。 中文语言包:附带了中文...

    tesseract-ocr实现图片识别功能(java)

    一个Google支持的开源的OCR图文识别开源项目。去持多语言(当前3.02 版本支持包括英文,简体中文,繁体中文),支持Windows,Linux,Mac OSX 多平台。使用中Tesseract 的识别率非常高。可以参考网上的相关资料进行对...

    tesseract-ocr:linux安装使用文档

    tesseract-ocr linux安装使用文档详情见doc.txt 服务器使用jar:打包放到服务器中,使用java -cp xxx.jar com.hwp.ocr.Test执行(注意图片路径及生成output的路径配置) Apache-2.0 license

    linux系统下搭建Tesseract-OCR环境所需安装包、中文语言包及训练所需软件

    linux系统下搭建Tesseract-OCR环境所需安装包、中文语言包及训练所需软件

    基于OpenCV+tesseract-ocr实现身份证识别.zip

    跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够在不同平台上无缝运行。 丰富的功能:库中包含了数千个优化过的函数,涵盖了计算机视觉领域的诸多方面,如图像...

    Tesseract一个免费的OCR引擎源码Google维护和开发

    Tesseract引擎是开源的,可以在Windows、Linux和MacOS等各种操作系统上使用,并提供多种编程语言的API,包括C++、Java、Python等。Tesseract还支持多线程处理,可以提高识别速度。Tesseract的识别精度和速度处于OCR...

    linux-x86-64.zip

    java ocr tesseract tess4j在linux中的需要的.so文件,从maven中下载的jar包中只有dll文件适用于windows中,linux中需要.so文件, 使用方法:把解压后的linux-x86-64文件夹放到web项目的src/main/resources目录下,...

    自建ocr环境所有依赖

    tesseract-ocr,自建ocr环境所有依赖,包含linux和window,同时linux下的pdf转图片依赖。训练工具、中文包。已经测试验证通过。另外java调用可行性方案已测试。

    fwhrm:外劳人力资源管理

    运行'java -jar“DocumentRecognition-1.0-SNAPSHOT.jar”“[tessdata_path]”“[scans_directory_path]”' 先决条件 赢 所有 dll 都包含在相应的 jar 中并自动部署。 Linux 执行“sudo apt-get install tesseract...

    tess4j-so(×32、×64)

    Tesseract OCR API的Java JNA包装器 Tess4J API 提供的功能: 1、直接识别支持的文件 2、识别图片流 3、识别图片的某块区域 4、将识别结果保存为 TEXT/ HOCR/ PDF/ UNLV/ BOX 5、通过设置取词的等级,提取识别出来...

    OCR:基于OpenCV和TesseractOCRiOS的银行卡号识别.zip

    跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够在不同平台上无缝运行。 丰富的功能:库中包含了数千个优化过的函数,涵盖了计算机视觉领域的诸多方面,如图像...

    问道java专服源码-SikuliX1:SikuliX版本2.0.0+(2019+)

    问道java专服源码 v2.1.0 --- Java API 状态 Maven 坐标: OSSRH 快照 :: com.sikulix :: sikulixapi :: 2.1.0-SNAPHOT v2.1.0 --- Jython IDE 状态: 获取最新的 IDE 快照 Runnable Jar: 非常感谢新徽标和新网页的...

    基于OPENCV和tesseract的中文扫描票据OCR识别。.zip

    跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够在不同平台上无缝运行。 丰富的功能:库中包含了数千个优化过的函数,涵盖了计算机视觉领域的诸多方面,如图像...

    tess4j linux需要的so文件

    Java Tesseract_OCR 开发 linux下所有需要的so文件。tess4j版本: &lt;groupId&gt;net.sourceforge.tess4j&lt;/groupId&gt; &lt;artifactId&gt;tess4j &lt;version&gt;3.2.1 &lt;/dependency&gt;

    leptonica-1.80.0.zip

    leptonica-1.80.0 一款优秀的图像处理包,tesseract辅助工具包,静态编译,包含头文件和lib文件

Global site tag (gtag.js) - Google Analytics