关于Tesseract-OCR抓取图片的问题,在网上找了段代码,可是运行老是不行,不知道怎么回事
老是提示
eng]java.lang.RuntimeException: Errors accessing files. There may be spaces in your image's filename.
老是提示
eng]java.lang.RuntimeException: Errors accessing files. There may be spaces in your image's filename.
String path = "D:/rr.bmp";
要么写
String path = "D:\\rr.bmp";
OCR.java中有
ProcessBuilder pb = new ProcessBuilder();
pb.directory(imageFile.getParentFile());
其实不精准的;应该改为你安装Tesseract-OCR的目录路径;
例如:pb.directory(new File("C:\\Program Files\\Tesseract-OCR"));
你可以试试;之前我也有你同样的问题,后来排查解决了
1、检查是否配置了环境变量TESSDATA_PREFIX为安装路径,例如我的如下:
E:/Tesseract-OCR
2、OCR.java:
private String tessPath="E:\\Tesseract-OCR\\";//设置为Tesseract安装路径,
3、OCR.java:
pb.directory(imageFile.getParentFile());//这里不需要修改
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at com.OCR.recognizeText(OCR.java:42)
at com.Test.main(Test.java:8)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:376)
at java.lang.ProcessImpl.start(ProcessImpl.java:136)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
... 2 more我这里报这个错误,win7 64位系统,不知道为何,请各位大神指点解决。谢谢