• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法

python 搞代码 4年前 (2022-01-08) 31次浏览 已收录 0个评论

这篇文章主要介绍了python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.安装Pillow

 pip install Pillow 

2.安装tesseract-ocr

github地址: https://github.com/tess来源gaodai#ma#com搞*!代#%^码网eract-ocr/tesseract

或本地下载地址:https://www.gaodaima.com/softs/538925.html

windows:

The latest installer can be downloaded here: tesseract-ocr-setup-3.05.01.exe and tesseract-ocr-setup-4.00.00dev.exe (experimental). 

ubuntu:

 sudo apt-get install tesseract-ocr traineddata文件路径: /usr/share/tesseract-ocr/tessdata/ 

3.安装pytesseract

 pip install pytesseract

如不能使用pip直接安装可取搜索模块文件直接安装

遇到问题及解决:

1.FileNotFoundError: [WinError 2] 系统找不到指定的文件

解决办法:

方法1[推荐]: 将tesseract.exe添加到环境变量PATH中,

例如: D:\Tesseract-OCR,默认路径为C:\Program Files (x86)\Tesseract-OCR

注意: 为了使环境变量生效,需要关闭cmd窗口或是关闭pycharm等ide重新启动

方法2: 修改pytesseract.py文件,指定tesseract.exe安装路径

 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe‘ 

方法3:  在实际运行代码中指定

 pytesseract.pytesseract.tesseract_cmd = 'D:\\Tesseract-OCR\\tesseract.exe' 

2.pytesseract.pytesseract.TesseractError: (1, ‘Error opening data file \\Tesseract-OCR\\tessdata/eng.traineddata’)

 解决方法:

方法1[推荐]: 

将tessdata目录的上级目录所在路径(默认为tesseract-ocr安装目录)添加至TESSDATA_PREFIX环境变量中

例如: C:\Program Files (x86)\Tesseract-OCR

Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your “tessdata” directory. 

方法2:  在.py文件配置中指定tessdata-dir

 tessdata_dir_config = '--tessdata-dir "D:\\Tesseract-OCR\\tessdata"' # tessdata_dir_config = '--tessdata-dir "'C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"' pytesseract.image_to_string(image, config=tessdata_dir_config) 

trainedata下载地址: the latest from github.com

示例:

 # -*-coding:utf-8-*- from PIL import Image import sys import os import pytesseract from selenium import webdriver sys.path.append('C:\Python27\Lib\site-packages\pytesser') import pytesser url='http://192.168.24.189/system/code?0.6824490785056669' driver = webdriver.Firefox() driver.maximize_window() #将浏览器最大化 driver.get(url) imgelement = driver.find_element_by_id('codeImg') #定位验证码 location = imgelement.location #获取验证码x,y轴坐标 size=imgelement.size #获取验证码的长宽 rangle=(int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height'])) #写成我们需要截取的位置坐标 name="code.jpg-600" driver.find_element_by_id("codeImg").click() driver.save_screenshot(name) #截取当前网页,该网页有我们需要的验证码 aa=Image.open(name) #打开截图 frame4=aa.crop(rangle) #使用Image的crop函数,从截图中再次截取我们需要的区域 frame4.save(name) im = Image.open(name) #转化到灰度图 imgry = im.convert('L') #保存图像 imgry.save('g'+name) #二值化,采用阈值分割法,threshold为分割点 threshold = 140 table = [] for j in range(256): if j <threshold: table.append(0) else: table.append(1) out=imgry.point(table, '1') out.save('b'+name) #识别 text=pytesseract.image_to_string(out) #识别对吗 text.strip() text.upper(); print (text) pytesseract.image_to_string(image.open('code.png-600'), lang="eng" ) print(text) 

以上就是python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址