- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须从 PDF 文档中 OCR 表格。我编写了简单的 Python+opencv 脚本来获取单个单元格。之后新的问题又出现了。文本已抗锯齿且质量不佳。tesseract 的识别率很低。我尝试过使用自适应阈值来预处理图像,但结果并没有好多少。我已经尝试过 ABBYY FineReader 的试用版,确实它提供了良好的输出,但我不想使用非自由软件。我想知道一些预处理是否可以解决问题,或者是否有必要编写和学习其他 OCR 系统。
最佳答案
如果仔细观察抗锯齿文本示例,您会发现边缘包含大量红色和蓝色:
这表明抗锯齿正在您的计算机内部进行,该计算机已使用 subpixel rendering优化液晶显示器的结果。
如果是这样,以更高分辨率提取文本应该很容易。例如,您可以使用 ImageMagick 通过使用如下命令行从 300 dpi 的 PDF 文件中提取图像:
convert -density 300 source.pdf output.png
您甚至可以尝试在您喜欢的查看器中加载 PDF 并将文本直接复制到剪贴板。
<小时/>附录:
我尝试将您的示例文本转换回其原始像素并应用评论中提到的缩放技术。结果如下:
原图:
缩放 300% 并应用简单阈值后:
智能缩放和阈值处理后:
正如您所看到的,有些字母仍然有点畸形,但我认为使用 Tesseract 阅读此内容的机会更大。
关于image-processing - 对抗锯齿文本进行 OCR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21827854/
尝试使用 tkinter 为一系列 PIL 图像制作动画。我的帧持续时间 (ms) 的图表如下所示: 有人知道是什么导致了这种尖尖的锯齿图案吗? 这是一个重现的脚本: from PIL import
我正在尝试使用 Canvas 创建“星爆”效果,但线段出现令人难以置信的像素化。我做错了什么吗? var rays = 40; var canvas = $("header canvas")[0];
爪牙 我在 JAGS 中有一个仅拦截逻辑模型,定义如下: model{ for(i in 1:Ny){ y[i] ~ dbern(mu[s[i]]) } for(j in 1:Ns){
我是一名优秀的程序员,十分优秀!