【Python】【OpenCV】OCR识别(三)——字符识别
通过上一篇博客,我们成功将有角度的图片进行“摆正”,接下来我们来提取图片中的文字。
我们使用Tesseract来处理图片并提取文字,相关下载安装请参考:Python下Tesseract Ocr引擎及安装介绍 - 黯然销魂掌2015 - 博客园 (cnblogs.com)
同时我们需要下载第三方Lib——pytesseract,使用pip下载好后,我们进入Lib\site-packages\pytesseract然后打开pytesseract.py,修改“tesseract_cmd”变量,更改为安装好的Tesseract目录文件夹下的tesseract.exe。
以下是我的路径:
tesseract安装路径——D:\soft\tesseract-OCR
pytesseract路径——D:\soft\Python\virtualenvs\Cameo\venv\Lib\site-packages\pytesseract
修改“tesseract_cmd”变量,赋值为 = r'D:\soft\tesseract-OCR\tesseract.exe'
然后我们就可以在程序中开始调用pytesseract库了,上代码:
import pytesseract from PIL import Image res = pytesseract.image_to_string(Image.fromarray(img)) print(res)
先导入pytesseract和PIL库,然后使用image_to_string()方法来提取图片中的文字,其中我们使用了Image.fromarray这个方法,因为我们在使用OpenCV处理图像的时候,是以数组的形式,但是image_to_string需要的是图像,所以我们需要把数组转换成图像再传入。
运行输出:
a wee TAX 000 BAL 101.33 WHOLE FOODS Cm AR KE TY WHOLE FOODS MARKET - WESTPORT. CT 06880 399 POST RD WEST - (203) 227-6858 365 BACONLS NP 4.99 365 BACONLS NP 4.99 365 BACON LS NP 4.99 365 BACONLS NP 4.99 BROTH CHIC NP = 2.19 FLOUR ALMOND NP..11.99 CHKN BRST BNLSS SK NP 18.80 HEAVY CREAM NP = 3.39 BALSMC REDUCT NP 6.49 BEEF GRND 85/15 NP 5.04 JUICE COF CASHEW C NP 8.99 DOCS PINT ORGANIC NP 14,49 HNY ALMOND BUTTER NP 9.99 “TABATA AAA Tra
可以看到运行结果还是较为准确的,如果需要识别中文,则需要相关的中文语料,这里就不过多赘述了。