今天继续之前的图像识别,这次在英文的基础上开始中文识别,首先添加中文识别包:chi_sim 这个文件。下载地址:
https://github.com/tesseract-ocr/tessdata
如果你有不明白的可以去官方GitHub看看:
https://github.com/tesseract-ocr/tesseract
下载后把chi_sim 这个文件安装到你的tessdata这个文件夹下面。
注意一点: 下载中文包的时候要看看你的tesseract的版本,如果你的是3.02版本的,就下3.02对应的中文包;3.05就下3.05的,一定要仔细这里。不然后面会报错!
安装好了后,我就去写代码:

结果发现报错如下:
pytesseract.pytesseract.TesseractError: (3221225477, ‘’)
这是怎么回事呢?明明中文包下载对的啊。试过识别英文图片的,都是正常打印出字母来。于是纳闷了一下,便开始各种谷歌,看了数篇解决方案后,发现是环境变量那里少了tessdata这个,于是点开

找到 “系统变量”这里的“Path”变量 ,双击它,然后在弹出的页面里面找到之前添加的Tesseract-OCR这个变量:

在它后面新建一个同样路径的变量,然后再加上tessdata 这个单词。
注意一定要重新建一个环境变量,而不是在原来的上面直接加!!!
即这样:C:\Program Files (x86)\Tesseract-OCR\tessdata
就像我上面图片一样,建两个后确定保存。
这里再多说一句:如果你按上面的添加环境变量后还是报错,可以看看你的系统变量这一栏有没有下图这个选项:

如果没有的话,就自己新建一个,把他添加进去。
这下我再运行上面的程序,随手找的一张背景有点杂乱的中文图片,识别效果如下图:

简直差的不行了,又换了一张图,是标准的宋体,而且背景很干净,于是得到了下面这样的效果:

所以得出跟英文一样的结论:tesseract要想识别中文的概率达到百分之七十以上,首先要字体是宋体;其次背景要很干净,没有跨行。 因为只安装了中文简体的包,没有安繁体,而繁体是下面tra这个:

所以如果你要识别繁体就要下这一个才对!好了今天的识别就到这里,后面继续开始训练字库。