字符串识别的路程:VS2019+opencv4.3.0+contrib+tesseract4.1.1

本文介绍了使用VS2019、opencv4.3.0、opencv_contrib及tesseract4.1.1进行字符串识别的步骤。作者从学习原理、编写程序、库版本升级和算法调整等方面展开,详细描述了在实际操作中遇到的问题及解决方法,包括opencv+contrib的重编译、tesseract的安装和测试,以及如何利用vcpkg简化安装流程。
摘要由CSDN通过智能技术生成

0.背景和目的

因为需要将字符串识别作为常用工具之一,所以最近花精力好好折腾了一下。

当然,有些人只想用现有的工具。那么建议参考:

https://tesseract-ocr.github.io/tessdoc/User-Projects-%E2%80%93-3rdParty.html

如需要自己做,首先对于opencv的常用功能要了解,最好根据一本书或者课程过一遍习题。

我是从opencv4.0.1+VS2015开始的。较为不解很多人停留在opencv3的原因。

我比较喜欢用新版本,原因很简单,新版本有更多功能,并且更稳定。

以下过程根据记忆所写,会有遗漏错误,如发现,请告知。

强烈建议先通读一遍,再自己尝试。

 

1.学习理解

大家可以从很多地方去学习字符串识别的原理。

可参考的很多,比如:EasyPR

大家可以从源码调试的过程中加深理解,也能不断尝试新的想法。

 

2.尝试

根据理解自己用VS2015编写了两个程序,也是常见步骤。

mnist:一个从mnist读取、识别和测试,并保存训练后的xml文件。

mnistReader:一个从摄像头获取图片并实时显示对话框上;用定时器获取帧,然后通检测出来字符图像,再一一识别。

结果发现了在用mnist的原库进行测试时,可以达到错误率1.4%。

但是自己的手写识别效果非常差,错误率60%以上。

后来不用灰度级而用单色来训练和识别才能有所提高,当然还有一些其他改进。

经过很多尝试后才达到了错误率20%。

 

3.了解opencv+text+tesseract

在不断尝试中,也包括了库版本升级和算法调整。

过程中发现opencv的contrib库中有个text目录,里面打包好了字符串识别的两个部分。

而其中的识别部分实际是通过tesseract来完成的。

所以我按照opencv的要求,先下载安装了执行版本的tesseract。

官网:https://github.com/tessera

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值