最近做了一个项目,通过机器学习,识别银行U盾拍照后的数字.整个项目流程制作字体--生成训练图片--训练结果--识别图片,准备把技术实现分几篇文章记录下来,以便后面自己总结查看.
由于这种电子数字和计算机字体不一致,通过tesseract-ocr识别效果不理想,所以我想通过人工制作字体文件,然后生成大量的图片,通过TensorFlow机器学习识别电子数字.
机器学习分为有监督学习和无监督学习,一般通俗认为有标签的为监督学习,无标签的为有监督学习.作为个人开发者,很难收集到大量的数据,进行人工标注,所以可以通过系统自动生成数据来模拟代替.
下面是我们要识别的图片,需要从中提取数字,做成字体文件
一般字体文件都是白底黑字,所以我们需要二值化图片,通过photoshop的图像-调整-阀值二值化图片,选取到最清晰的阀值,如下图所示

通过photoshop的剪切,去噪音点,修复空白点,生成单个数字图片

依次生成10个数字的图片,如下图所示


打开FontCreator,新建字体,输入字体名字,选这不包含轮廓,所以不会出现默认字符,然后通过选择数字,右键,输入图像,把上述字体一个一个引入,调整位置,导出trueType font,这样一个字体文件就生成了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/118844.html