如何在python中提高扫描图像中文本的分辨率?
Posted
技术标签:
【中文标题】如何在python中提高扫描图像中文本的分辨率?【英文标题】:how to increase resolution of text in scanned images in python? 【发布时间】:2020-08-23 20:25:28 【问题描述】:我使用 tesseract-OCR 从扫描的图像中提取文本,对于少数图像文本由于分辨率低而无法正确识别并且产生的输出是一些不相关的字符。
应用的技术:
将 dpi 增加到 300。
opencv 中的图像预处理技术。
在 opencv 中使用 dnn_superres 放大图像
去噪技术。
参考 git repos,其中使用深度学习开发超分辨率算法模型。
通过训练 tessdata 提高 tesseract-ocr 质量。
参考链接:
-
Improve OCR accuracy from scanned documents
image processing to improve tesseract OCR accuracy
示例图片:
在python中有什么简单的方法可以在不使用任何深度学习模型的情况下改进文本。
【问题讨论】:
遗憾的是,通常没有什么可以替代从可接受的最低质量图像开始的。我无法使用缩放和形态学技巧为这张图片做任何事情。如果深度学习能够处理这样的图像,我会印象深刻。我想如果您有 许多 个使用完全相同字体的培训文档,您可能会有机会。 您可能会从基于相同字体字符的最大似然网络中得到一些结果。这会很慢,你仍然会得到错误的匹配,此时你将能够使用拼写检查器。即便如此,当信息不存在时,您也无法伪造它。其中一些字符甚至可能使 人类 不确定(例如“熊”与“听”)。 你试过towardsdatascience.com/…的过滤器吗?它是scala——但只要它调用cv2就应该不是问题 【参考方案1】:我知道您更愿意使用深度学习来放大这些输入图像,但我强烈建议您尝试使用 https://github.com/alexjc/neural-enhance,前提是您有合适的硬件来运行神经网络和深度学习。
OCR 输入图像的结果可能很有希望。代码的文档非常丰富。
希望对你有帮助!
【讨论】:
以上是关于如何在python中提高扫描图像中文本的分辨率?的主要内容,如果未能解决你的问题,请参考以下文章