python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
1.安装Pillow
pip install Pillow
2.安装tesseract-ocr
github地址: https://github.com/tesseract-ocr/tesseract
或本地下载地址:https://www.jb51.net/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" 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 = text.strip() text = text.upper(); print (text) text = pytesseract.image_to_string(Image.open('code.png'), lang="eng") print(text)
以上就是python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法的详细内容,更多关于python3 图片识别的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
- python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
- Python使用requests xpath 并开启多线程爬取西刺代理ip实例
- python使用beautifulsoup4爬取酷狗音乐代码实例
- Python爬虫实现使用beautifulSoup4爬取名言网功能案例
- Python爬虫beautifulsoup4常用的解析方法总结
- python3解析库BeautifulSoup4的安装配置与基本用法
- python3第三方爬虫库BeautifulSoup4安装教程
- Python Pillow.Image 图像保存和参数选择方式
- Python 3 使用Pillow生成漂亮的分形树图片
- python3 pillow模块实现简单验证码
- Python实现图片裁剪的两种方式(Pillow和OpenCV)
- python Pillow图像处理方法汇总
- python图像处理模块Pillow的学习详解
- Python环境Pillow( PIL )图像处理工具使用解析
- 使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
- python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别
- python-识别图片-安装及配置:tesseract+pytesseract+Pillow
- Python 使用 Pillow 模块给图片添加文字水印的方法
- Python+pytesseract+Tesseract-OCR图片文字识别(只适合新手)
- Python使用OCR技术识别图片中的文字(入门篇)
- 使用Tesseract OCR Engine识别图片文字
- python 包的使用 (二)——tesseract识别图片中的文字
- 第一次使用tesseract ocr ,安装成功后识别图片,文本里面有特殊符号
- Tesseract-OCR+Python+pytesseract实现图片转文字
- python pillow模块使用方法详解
- Tesseract-OCR图像识别引擎 windows10使用方法入门
- python处理图片之PIL模块简单使用方法
- python 使用pytesseract图片文字识别
- 深入学习使用ocr算法识别图片中文字的方法
- Python3使用 pytesseract 进行图片识别
- Python3使用 pytesseract 进行图片识别
- python使用PIL模块获取图片像素点的方法
- Java中使用tess4J(Tesseract-OCR)进行图片文字识别(支持中文)
- win7 selenium python 验证码识别 pytesser使用 安装Pillow、pytesser、tesseract-ocr
- python处理图片之PIL模块简单使用方法