package de.uni_goettingen.sub.commons.ocr.tesseract; import de.uni_goettingen.sub.commons.ocr.api.AbstractEngine; import de.uni_goettingen.sub.commons.ocr.api.OcrEngine; import de.uni_goettingen.sub.commons.ocr.api.OcrProcess; /** * Implementation of the engine that uses the tesseract cli tool */ public class TesseractEngine extends AbstractEngine implements OcrEngine { /* (non-Javadoc) * @see de.uni_goettingen.sub.commons.ocr.api.OcrEngine#addOcrProcess(de.uni_goettingen.sub.commons.ocr.api.OcrProcess) */ @Override public void addOcrProcess(OcrProcess process) { ocrProcesses.add(process); } /* (non-Javadoc) * @see de.uni_goettingen.sub.commons.ocr.api.OcrEngine#recognize() */ @Override public void recognize() { for (OcrProcess process : ocrProcesses) { ((TesseractProcess) process).start(); } } @Override public int getEstimatedDurationInSeconds() { int duration = 0; for (OcrProcess process : ocrProcesses) { int imagesInProcess = process.getNumberOfImages(); duration += imagesInProcess * 5; } return duration; } }