JAVA OCR到txt文件
大家下午好 在研究的帮助下,我完成了以下代码来阅读图像文本:JAVA OCR到txt文件,java,ocr,Java,Ocr,大家下午好 在研究的帮助下,我完成了以下代码来阅读图像文本: package pckLeitor; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.text.SimpleDateFormat; import java.util.Calendar; import net.sourceforge.tess4j.Tesseract; import net.sourc
package pckLeitor;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class Tess4jOCRv2 {
public static void main(String[] args) throws TesseractException {
File repository = new File("C:\\Users\\RAFSOUZA\\Desktop\\OCRTest");
try
{
for (File file : repository.listFiles()) {
String dtNow = new SimpleDateFormat("ddMMyyyy_HHmmss").format(Calendar.getInstance().getTime());
Tesseract tesseract = new Tesseract();
tesseract.setDatapath("C:\\Users\\RAFSOUZA\\Desktop\\Rafa3lOneiL\\BibliotecasExternasJAVA\\TesseractORC\\");
String fullText = tesseract.doOCR(file);
String fileExit = "C:\\Users\\RAFSOUZA\\Desktop\\OCRTest" + dtNow + ".txt";
FileWriter fstream = new FileWriter(fileExit);
BufferedWriter out = new BufferedWriter(fstream);
out.write(fullText);
out.newLine();
out.close();
}
}
catch (Exception e)
{
System.out.println("Ocorreu o seguinte erro" + e);
}
}
}
我想改进以下代码:
1) 读取文件夹中的所有图像
2) 生成一个txt文件,其中包含从每个图像读取的数据
你能给我一个方向吗?好的,那么你已经获得了读取图像和输出所有文本的代码,对吗 让我们试着用一个循环或其他东西来包装它,这样我们就可以了! 类似的东西应该可以用,注意我在记事本上写的,它还没有经过测试
import java.io.File;
public class Tess4jOCR {
public static void main(String[] args) throws TesseractException {
File repository = new File("C:\\Users\\RAFSOUZA\\Desktop\\OCRTest");
try {
for (File file : repository.listFiles()) {
String dtNow = new SimpleDateFormat("ddMMyyyy_HHmmss").format(Calendar.getInstance().getTime());
Tesseract tesseract = new Tesseract();
tesseract.setDatapath("C:\\Users\\RAFSOUZA\\Desktop\\Rafa3lOneiL\\BibliotecasExternasJAVA\\TesseractORC\\");
String fullText = tesseract.doOCR(file);
//String file = "O:\\Operações\\MIS\\Csa_OCR" + dtNow + ".txt";
String file = "C:\\RegistroRS" + dtNow + ".txt";
FileWriter fstream = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fstream);
//System.out.println(fullText);
out.write(fullText);
out.newLine();
out.close();
}
} catch (Exception e) {
System.out.println("Ocorreu o seguinte erro" + e);
}
}
}
只需将所有要处理的图像放入C:\\Users\\RAFSOUZA\\Desktop\\OCRTest
(或repository
变量设置为的任何目录中,然后运行它,并将其输出到C:\\registors-.txt
请注意,您可能需要添加额外的逻辑来检查文件名,或者可能需要以与原始输入相关的名称输出txt文件,这样,如果您多次运行代码,您就不会重新处理这些内容,并且您可以很容易地分辨出哪个输出来自哪个输入。当我发送变量fullTex的内容时,代码执行正常使用system.out.printLn()时,我注意到读取工作正常,但它不会生成任何txt文件,并且Catch块中没有任何内容。我在中启动了新代码,可能是因为线程的代码没有在填充文本文件后专门编写文件?如果没有看到您的代码,很难知道。