opencv - 提高低质量扫描图像的 OCR 质量

标签 opencv image-processing imagemagick ocr leptonica

在自动去歪斜和裁剪之后我得到了下面的图像:

enter image description here

我需要对这张图片进行 OCR。现在 ABBYY Engine SDK 11 For Linux 产生的结果不是很好:

IMerasers - www,raiyirnieti'^C9,co;i,ni                                                          
Clariiis: Jv ocl'ca :PO 9ox 30998, S&M Luke C6y, UT 84":30                                       
Guslomei: Service:                                 952-945-800G or 800-952-3^55                  
Jieaf5ftg: impaired;                               VA                                            
Pharmaaisto:                                       853-364-6331                                  
Medica Pfovic.&s:                                  80 ;j-2i5S-55"',2 o ■ www.rfledica.cori       
^ofricai'or Services:                              86i-7<5-9920                                  
t1 ^edHoaiihca'Q Provicors; 6 77-842420 or                                                       
                                               ; mffiffiF********                               
Sviet iea Be tsvio a rieofift:                                                                  
Mocica Ca-linK frwso ,'ne: 430-962-9*9?    

为了提高 OCR 质量,可以对该图像应用哪些自动图像预处理技术?或者无法提高此图像的 OCR 质量?现在我使用 OpenCV 和 Leptonica 库来预处理图像。

已更新

这是原始图片:

enter image description here

最佳答案

图像已经以相对较低的分辨率和噪声进行了二值化。

你可以稍微改进一下

  • 将分辨率提高一倍或三倍(使用或不使用双线性插值,差别不大);

  • 平滑(小高斯滤波器、中值...);

  • 再次二值化。

但是您几乎无法恢复,损坏已经造成。预处理很可能会使结果恶化。

enter image description here

关于opencv - 提高低质量扫描图像的 OCR 质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49048186/

相关文章:

ruby - 要求 RMagick 向 ImageMagick 发送直接命令

c++ - opencv 2.3 copyTo 函数无法像在 2.2 中那样工作

opencv - cv2 cameraCalibrate,是否反转imgSize?

android - Firebase 机器学习套件、谷歌云视觉 API 或 openCV

javascript - 如何以特定偏移量围绕图像的彩色像素绘制一条线?

linux - Bash 用 * 数字枚举文件

c# - C#或python用于调用C++ DLL进行硬件控制

python - 有没有办法使用 python 比较 3D 模型文件 (STEP)?

algorithm - 检测给定图片是否为人脸的方法是什么?

iphone - 使用CATiledLayer,渲染时图 block 之间的细线,使用ImageMagick生成的图 block