OCR5:预处理

摘要:
README的关键点是提高图像质量。图像质量Teseract在处理300dpi以上的图像时会更好,因此必须对图像大小有最低要求。必须考虑分辨率和点大小,8pt*300dpi以下的图像可以更快地过滤。快速检查图像的目的是计算字符x(像素)的高度。在10pt*300dpi的情况下,x的高度通常为20像素(字体差异上下浮动)。x字符高度小于10像素的识别,

 Tesseract4.X已经有了初步成效(见下面的对比), 但目前结果对于训练之外的数据, 仍会有很大的偏差。想要更好的 OCR 结果, README 中重点强调的一点是: 在交给 Tesseract 之前, 改进图像的质量.

图像质量


Tesseract 处理 300 dpi 以上的图片会更加出色, 所以要对图片的大小有起码的要求. 分辨率和 point size 必须要考虑, 低于 10pt * 300dpi 的会被筛掉, 低于 8pt * 300dpi 的筛除地更快. 快速对图片进行检查, 是为了计算字符 x 的高度(像素). 在 10pt * 300dpi 的情况下, x的高度通常为 20 像素(字体差异上下浮动). 低于 10 像素的 x 字符高度的识别, 很难做到准确了, 如果低于 8 像素, 那么这些文本将在 ‘去噪’ 环节被过滤掉。

DPI(Dots Per Inch,每英寸点数):表示分辨率,是一个量度单位,用于点阵数码影像,指每一英寸长度中,取样、可显示或输出点的数目。

预处理流程

  • OCR5:预处理第1张

二值化


二值化的过程, 实际上 Tesseract 内置了, 但处理的应该比较粗暴, 我的经验是, 这个二值化的过程, 尽量由自己进行, 选取一个尽量去除光照影响的算法,

去噪


噪点, 往往是二值化过程中, 处理亮度与颜色时遗留下来的. Tesseract 对这些噪点不会去除, 从而影响了结果的准确率.

旋转/去偏移


如果目标文字出现倾斜, Tesseract 的 line segmentation 效果会大打折扣. 如果可能的话,应该提前将文字扶正, 保证水平.

去边缘


无论是扫描件, 还是照片, 往往在二值化之后, 残留大量的黑线/黑框. 这些会被 Tesseract 错误地拾取, 造成干扰. 最好能够截取目标文字区域, 然后交给 Tesseract.

图像来源百度 

V4.X 脚本:

  • text = pytesseract.image_to_string(img.open('src1A0.jpg'), lang='chi_sim', config='--psm 3 --oem 1')
    print(text)

 A0.jpg

  • OCR5:预处理第2张

A1.jpg

  • OCR5:预处理第3张

A2.jpg

  • OCR5:预处理第4张

A3.jpg

  • OCR5:预处理第5张

A4.jpg

  • OCR5:预处理第6张

A5.jpg

  • OCR5:预处理第7张

参考资料:


 

免责声明:文章转载自《OCR5:预处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MongoDB基本介绍及一些用法Monkey APP压力稳定性测试下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决自定义相机分辨率适配、扭曲的问题

在自定义相机和扫码的时候,如果不设置相机的默认分辨率,有可能导致相机用的是最小的分辨率,照出来的照片很模糊。 所以自定义相机的时候,需要获取屏幕分辨率,相机的预览分辨率,进行最佳的匹配。 由于相机的预览分辨率几乎都是 按照横屏的来描述的,eg 1920*1080 而手机一般是竖屏的,如果自定义的相机是竖屏的,匹配相机预览分辨率的时候,如果直接传入当前的屏幕...

iphone 各型号设备的屏幕尺寸

4 320×480   5 320×568 6 375×667 6plus 414×736 6s 375×667 6splus 414×736 相关链接:http://blog.csdn.net/phunxm/article/details/42174937 1.iPhone尺寸规格 设备 iPhone 宽 Width...

回流与重绘理解,助攻CSS

HTML渲染过程中回流和重绘是比较重要的概念,了解他们有助于编写性能更好的css代码 回流:指几何属性需改变的渲染,将整个网页填白,对内容重新渲染,只不过以人眼的感官速度看上去浏览器回流是不会有任何变化的实质上每次回流都会将页面清空,再从左上角第一个像素点从左往右从上往下一一渲染。渲染树的节点发生改变,影响该节点的几何属性,导致该节点位置发生变化,就会触发...

CentOS7.2 设置GRUB2引导界面分辨率

最近在学习OS引导启动,GRUB2的学习材料也不少,主要还看官方手册清晰些。 公司里办公机的多启动用的ubuntu的界面,还挺炫酷的。之前看其他博客网文里看到可以设置grub2的分辨率,我拿CentOS7.2试了下,发现不行。 网上都是说设置GRUB_GFXMODE=1440x900,再update-grub更新下grub.cfg,但是没生效(我又拿ubu...

摄像头编程及其动态能力

在基于OMCS在开发类似视频聊天的应用时,我们经常需要获取摄像头的相关信息;而在进行视频聊天时,我们可能还希望有一些动态的能力。比如,在不中断视频聊天的情况下,切换一个摄像头、或者修改摄像头采集的分辨率或编码质量等等。OMCS提供了很多有用的特性以支持上述需求。 一.枚举摄像头 我们如何得知当前的计算机有哪些摄像头了? OMCS提供了一个工具类OMCS.T...

android——屏幕适配大全(转载)

http://my.oschina.net/u/2008084/blog/496161 一、适配可行性   早在Android设计之初就考虑到了这一点,为了让app适应标准or山寨屏幕,google已经有一套成熟的解决方案。其中,有这么几个指标需要注意:   (1)屏幕尺寸:单位inch,指的是屏幕对角线长度。   (2)屏幕密度:单位dpi,指的是每in...