OCR Preprocessing Benchmark: Order and Strength Matter
A first-hand benchmark tested 108 Tesseract preprocessing combinations on one English page and 60 macOS Vision combinations on one Chinese page. Deskewing and denoising helped Tesseract, but order and strength mattered: denoising before deskewing achieved 98.6–99.1 accuracy on tested salt-and-pepper cases, while a 9×9 median filter reduced English accuracy to 91.0. Otsu thresholding alone offered little improvement, and adaptive thresholding produced blank output under Gaussian noise in the tested configuration.
The measurements provide practical guidance for tuning OCR preprocessing, but they come from only two clear printed pages, one Apple M4 computer, and single-run tests, so they should not be treated as general OCR-accuracy rankings.
摘要:扫描件送进 OCR 之前要不要纠斜、去噪、二值化?我把这三步拆成开关挨个打开关上。英文一页跑了 Tesseract 108 组,是 4 个倾角乘 3 种噪声乘 9 种处理。中文一页跑了 macOS 自带识别 60 组。另外补了几组顺序、核大小和页面分割模式的对照。纠斜和去噪对 Tesseract 有用。单独做 Otsu 几乎没用。自适应二值化碰上高斯噪声会直接输出空白。真正的坑在顺序和力度:椒盐噪声下先纠斜再去噪只剩 91.5~94.4,先去噪再纠斜是 98.6~99.1;中值核开到 9×9,英文从 98.9 掉到 91.0。同样的开关换一个识别器就不是一回事。macOS 自带识别对倾斜几乎无感,Otsu 在它身上反而让错字变多。
版本声明:数据在 2026-11-04 测得。测试用的 Mac 电脑芯片是 Apple M4,系统 macOS 26.5.2。软件是 Python 3.9、OpenCV 5.0.0 和 Tesseract 5.5.3,Tesseract 只装了英文语言包。macOS 自带识别调用的是系统文字识别框架的精确模式。浏览器端那一路跑在同一台电脑的桌面浏览器上。所有数字都是单次运行,没有重复取平均。