在网上找了好多关于orc的资料,文档自己也demo了好几个都不咋地靠谱.后来发现一个挺不错的文档,自己也试着demo了下没有
再想前几个一样报各种未知的错误.
转 原文地址
图片成功识别出来,但是识别率还是有点低..
第一步下载 Tess4J 的一些资源 http://tess4j.sourceforge.net/codesample.html
下载下来后解压
然后在eclipse 或者 idea 里面新建一个 java 工程(普通java工程就可以)
然后将上面的 lib,tessdata(语音包) 包 copy到你的工程下面去. 还需要将 dist 中的 tess4j.jar 包放在lib下面
再前面找的一些资料,博客 让把src包也直接复制过去. 但是我测试的结果时失败,应该是我少了一些步骤吧,我也没找出来.
然后呢将添加的jar包 如果是eclipse 直接选中所有jar包右击(Build path --> configure build path)添加到项目中去.
idea的话 我也刚用所有很多操作都不熟悉,在此将步骤贴出来
点击头部菜单file --> Project Structure 也可以使用快捷键(Ctrl+Alt+Shift+s)
然后打开选择 Modules -> Dependencies - > 然后点击 + -> Jars or directores
然后将你要导入的jar包选中点击ok
最后就是 Test
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// 当前项目存放路径
String path = "D://java//eclipse-work//web//orc";
// 要识别的图片
File file = new File("E://2.png");
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");
//chi_sim :简体中文, eng 根据需求选择语言库
instance.setLanguage("chi_sim");
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);
}
}
运行结果 原图:
大致还是解析出来了//,识别率还是有点低.