人工智能图像识别技术原理,人工智能图像识别技术原理
欢迎分享本文,转载请保留出处。
点击获取最新AI干货。
一、安装库
首先我们需要安装PIL和pytesseract库。PIL:(Python图像库)是Python平台上图像处理的标准库,功能非常强大。
图像识别库。
我这里用的是python3.6。PIL不支持python3,所以我使用下面的命令
安装Pytesseract Pip安装Pillow如果是python2,在命令行执行以下命令:
当我们运行上面的代码时,我们会发现下面的错误:
错误是显而易见的:
没有这样的文件或目录:“宇宙魔方”
这是因为我们没有安装tesseract-ocr引擎。
2.tesseract-ocr引擎的光学字符识别(OCR)是指扫描文本数据,然后分析和处理图像文件以获得文本和布局信息的过程。OCR技术非常专业,一般被印刷、印刷行业的从业者使用,可以快速将纸质数据转化为电子数据。至于中文OCR,目前国内水平较高的有清华文同、顽皮猎豹、尚书。他们的产品各有千秋,价格不菲。OCR在国外发展的比较早,比如一些大公司,比如IBM、微软、惠普等。尽管他们没有推出单独的OCR产品,但他们的R&D团队已经掌握了核心技术,并将OCR功能植入了他们自己的软件系统。对于我们程序员来说,一般不需要这么高级的,但是可以在开发中集成基本的OCR功能。这两天搜了很多免费的OCR软件和类库,特意整理了一下。今天先说一下Tesseract,下次再讨论Onenote 2010中的OCR API实现。可以在这里查看OCR技术的简史。
Tesseract的OCR引擎由惠普实验室于1985年首次开发,到1995年,它已经成为OCR行业中三个最准确的识别引擎之一。然而,惠普很快决定放弃OCR业务,Tesseract从此再无踪影。
几年后,惠普意识到与其搁置宇宙魔方,不如为开源软件行业贡献自己的大洋葱——2005年,宇宙魔方被美国内华达州信息技术研究所获得,并要求谷歌改进、消除bug、优化宇宙魔方。
安装tesseract-ocr引擎brew安装tesseract,然后通过Tessera CT-V看看安装是否成功。
Tesla CT 3 . 05 . 01 Leptonica-1 . 75 . 0 libjpeg 9 b:libpng 1 . 6 . 34:libtiff 4 . 0 . 9:zlib 1 . 2 . 11此时,当我们运行上述代码时,会出现乱码。
这是因为tesseract默认情况下语言包中只有中文包,如下图所示:
安装tesseract-ocr语言包。我们去GitHub下载了我们需要的语言包。在这里,我只下载了chi_tra.traineddata和chi_sim.traineddata
github:tesserac-ocr/Tess data
然后放在/usr/local/cellar/tessera CT/3 . 05 . 01/share/Tess data路径下。
您可以通过tessera CT-list-languages查看本地语言包:
您可以通过tessera CT-help-psm查看PSM。
0:定向脚本监控(OSD)
1:使用OSD进行自动分页
2:自动分页,但不使用OSD或OCR(光学字符识别)
3:全自动分页,但不使用OSD(默认)
4:假设一个可变大小的文本列。
5:假设单个统一的文本块是垂直对齐的。
6:假设一个统一的文本块。
7:将图像视为单行文本。
8:将图像视为一个单词。
9:把一个图像想象成一个圆圈里的一个单词。
0:将图像视为单个字符。
为什么在这里强调语言包和psm,因为我们在使用中会用到,
例如,组合了多个语言包并被视为统一的文本块将使用以下参数:
pytesserac t . image _ to _ string(image,lang=chi_sim eng ,config=-psm 6 )
在这里,我们组合并使用多种语言包。
接下来,我们来看看配置一切的正确结果。
从PIL导入pytesseractfrom导入Imageimage=Image.open(./pic/c . png )code=pytesserac . image _ to _ string(image,lang=chi_sim ,config=-psm 6)print(code)