我试图确定非文本数据,这是一个由另一个软件(因此基本上是一个黑色填充矩形框)在一个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());```
暂无答案!
目前还没有任何答案,快来回答吧!