package net.hearthstats.game.ocr;
import net.sourceforge.tess4j.TessAPI;
import java.awt.image.BufferedImage;
/**
* Performs OCR on images that contain the opponent name.
* Subclasses adjust the cropping depending on whether this is ranked or unranked mode.
*/
public abstract class OpponentNameOcr extends OcrBase {
@Override
protected String parseString(String ocrResult, int iteration) {
// Opponent names could be just about anything, so only strip out spaces
return ocrResult == null ? "" : ocrResult.replaceAll("\\s+","");
}
@Override
protected boolean tryProcessingAgain(String ocrResult, int iteration) {
// Only try processing the opponent name once
return false;
}
@Override
protected String getFilename() {
return "opponentname";
}
@Override
protected BufferedImage crop(BufferedImage image, int iteration) {
return null;
}
@Override
protected int getTesseractPageSegMode(int iteration) {
return TessAPI.TessPageSegMode.PSM_SINGLE_WORD;
}
}