网上有很多关于图文识别的帖子,但是很多都是很老的帖子,要么不能用要么收费等等问题。导致我在研究过程中碰了不少坑。因此把我的使用经验分享出来,希望对你有所帮助。
我使用的场景是:使用Selenium+ChromeDriver开发网络爬虫,识别网上的一些加密的电话号码或者识别图片形式的电话号码(加密的号码先截图保存再识别。)
开发环境:VS2019(.net 5.0)
步骤一:添加引用Tesseract(install-package Tesseract)
步骤二:添加语言包(英文、中文)
1.Debug\net5.0下面缺保有语言包文件夹,名称:tessdata
链接:https://pan.baidu.com/s/1AcEB4TvLYnZOmGT2yXaGLQ
提取码:lkah
步骤三:图文识别代码(英文使用:"eng",简体中文使用:“chi_sim”)
using(var engine = new TesseractEngine("tessdata", "eng", EngineMode.Default);)
{
using (var img = Pix.LoadFromFile(tellIFileName))
{
using (var page = engine.Process(img))
{
txtResult += page.GetText() + " ";
}
}
}
步骤四:其他说明
1.识别具有一定的误差情况,需要经过自己的测试跟调教(结果过滤不需要字符或者添加自定义词库等),详细训练方法与过程请移步看官方教程。