在java中使用opencv检测填充矩形

kmbjn2e3  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(296)

我试图确定非文本数据,这是一个由另一个软件(因此基本上是一个黑色填充矩形框)在一个pdf文件,其中所有页面都保存为图像所做的密文。我能够使用tesseract ocr和apache tika来阅读pdf中的文本。
在输出中,文本正确率为95%,但对于黑盒区域,它会打印出-a或iis等字符
我做了一些研究,看起来opencv是一个选项,但我不确定这是否适用于我的用例。在网上搜索之后,我发现最好的工具是opencv。我没有在opencv或图像处理本身的经验。
欢迎提出任何建议。谢谢!
我的代码执行ocr-

Metadata metadata = new Metadata();
        BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
        PDFParserConfig pdfConfig = new PDFParserConfig();
        pdfConfig.setExtractInlineImages(true);
        pdfConfig.setExtractUniqueInlineImagesOnly(false); 
        TesseractOCRConfig config = new TesseractOCRConfig();
        ParseContext parseContext = new ParseContext();
        parseContext.set(TesseractOCRConfig.class, config);
        parseContext.set(PDFParserConfig.class, pdfConfig);
        parseContext.set(Parser.class, parser);

        try (InputStream stream = new FileInputStream(new File("file.pdf"))) {
            parser.parse(stream, handler, metadata, parseContext);

        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("Contents of the PDF:" + handler.toString());```

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题