Java 应用阈值后,如何使Tess4J准确读取TIFF图像?

Java 应用阈值后,如何使Tess4J准确读取TIFF图像?,java,ocr,tesseract,tess4j,Java,Ocr,Tesseract,Tess4j,我对Tess4J很陌生,所以我的知识有点有限。我目前正在使用Tess4j对已经使用OpenCV应用了阈值的图像进行OCR。我用大津对图像进行阈值设置,剔除大部分噪声,但Tesseract似乎根本无法读取数字。我曾读到,大小可以改变识别,但即使我缩放图像,它似乎也不起作用。我需要对图像做更多的处理还是使用不同的.traindata进行OCR 这是我的Tess4J的OCR代码 public static void main(String[] args) { File imageFile =

我对Tess4J很陌生,所以我的知识有点有限。我目前正在使用Tess4j对已经使用OpenCV应用了阈值的图像进行OCR。我用大津对图像进行阈值设置,剔除大部分噪声,但Tesseract似乎根本无法读取数字。我曾读到,大小可以改变识别,但即使我缩放图像,它似乎也不起作用。我需要对图像做更多的处理还是使用不同的.traindata进行OCR

这是我的Tess4J的OCR代码

public static void main(String[] args) {
    File imageFile = new File("newim.TIFF");
    Tesseract instance = new Tesseract(); // JNA Interface Mapping
    instance.setDatapath("workspace/Tess4J/tessdata");
    instance.setLanguage("Interstate");


    try {
        String result = instance.doOCR(imageFile);
        System.out.println(result);
    } catch (TesseractException e) {
        System.err.println(e.getMessage());
    }
}


结果:“EEEH”

似乎裁剪出非文本部分(侧面的竖条)将产生正确的结果。在删除非文本部分后,它只识别“速度限制”,而不识别数字。它似乎裁剪出非文本部分(侧面的竖条)将产生正确的结果。删除非文本部分后,它只识别“速度限制”,而不识别数字