一、windows安装配置

其他系统安装配置参考github:https://github.com/tesseract-ocr/tesseract/wiki
下载tesseract-ocr参考:https://github.com/tesseract-ocr/tesseract/wiki/Downloads
下载chi_sim.traineddata参考:https://github.com/tesseract-ocr/tesseract/wiki/Data-Files

1、pip install pytesseract
2、pip install pillow
3、安装tesseract-ocr
4、找到pytesseract模块中pytesseract.py 更改 tesseract_cmd = r'F:\tesseract_ocr\tesseract-Win64\tesseract.exe'
5、添加环境变量(变量名:TESSDATA_PREFIX,变量值:F:\tesseract_ocr\tesseract-Win64,即安装目录)
6、如果识别中文,下载训练数据chi_sim.traineddata,并拷贝到 F:\tesseract_ocr\tesseract-Win64\tessdata目录下

ps:
临时在 cmd 中设置环境变量,测试:set TESSDATA_PREFIX=F:\tesseract_ocr\tesseract-Win64
命令行运行(以.txt文件格式保存):tesseract.exe E:\python\project\mysite\media\tesseract.png C:\Users\konglingxi\Desktop\test -l chi_sim+equ+eng

二、例子

.py文件

  1. #!/usr/bin/python
  2. # coding:utf-8
  3. from __future__ import unicode_literals
  4. from django.conf import settings
  5. import pytesseract
  6. from PIL import Image as pillow_image
  7. from django.shortcuts import render_to_response
  8. from django.template import RequestContext
  9.  
  10. __author__ = "klx"
  11.  
  12. # Create your views here.
  13.  
  14. def binaryzation(threshold, image_address):
  15. """
  16. # 二值化,输入阈值和文件地址
  17. :param threshold:
  18. :param image_address:
  19. :return:
  20. """
  21. image = pillow_image.open(image_address) # 打开图片
  22. image = image.convert('L') # 灰度化
  23. table = []
  24. for x in range(256): # 二值化
  25. if x < threshold:
  26. table.append(0)
  27. else:
  28. table.append(1)
  29. image = image.point(table, '1')
  30. return image
  31.  
  32. def main():
  33. """
  34. 测试
  35. :return:
  36. """
  37. # 指定配置目录
  38. tessdata_dir_config = '--tessdata-dir "F:\\tesseract_ocr\\tesseract-Win64"'
  39. image_url = settings.MEDIA_ROOT + r"\tesseract.png"
  40. # image_url = settings.MEDIA_ROOT + r"\tesseract.jpg"
  41. image = binaryzation(200, image_url)
  42. image.show() # 展示二值化后的效果,防止图片二值化效果不佳变成一片白无法识别
  43. result = pytesseract.image_to_string(image, config=tessdata_dir_config, lang="chi_sim+eng") # 变图片为字符串
  44. return result
  45.  
  46. def test(request):
  47. res = main()
  48. return render_to_response("ocr_app/test.html", {"data": res}, context_instance=RequestContext(request))

.html模板

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>tesseract_ocr</title>
  6. </head>
  7. <body>
  8. {{ data }}
  9. </body>
  10. </html>

tesseract_ocr+pytesseract图像识别的更多相关文章

  1. 基于Eclipse下的python图像识别菜鸟版(利用pytesseract以及tesseract)

    这是我注册博客后写的第一篇博客,希望对有相关问题的朋友有帮助. 在图像识别前,首先我们要做好准备工作. 运行环境:windows7及以上版本 运行所需软件:(有基础的可以跳过这一段)eclipse,p ...

  2. 使用pytesseract进行图像识别

    引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...

  3. 利用Python进行简单的图像识别(验证码)

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...

  4. python 简单图像识别--验证码

    python  简单图像识别--验证码 记录下,准备工作安装过程很是麻烦. 首先库:pytesseract,image,tesseract,PIL windows安装PIL,直接exe进行安装更方便( ...

  5. python3光学字符识别模块tesserocr与pytesseract

    OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由 ...

  6. python 图像识别

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...

  7. Python之selenium+pytesseract 实现识别验证码自动化登录脚本

    今天写自己的爆破靶场WP时候,遇到有验证码的网站除了使用pkav的工具我们同样可以通过py强大的第三方库来实现识别验证码+后台登录爆破,这里做个笔记~~~ 0x01关于selenium seleniu ...

  8. tesserocr与pytesseract模块的使用

    1.tesserocr的使用 #从文件识别图像字符 In [7]: tesserocr.file_to_text('image.png') Out[7]: 'Python3WebSpider\n\n' ...

  9. 自动化测试面试官:登录或注册时有验证码怎么处理?OCR图像识别技术大揭秘!

    本节大纲 读取cookie实现免登陆 pytesseract+tesseract-ocr实现图像识别 Pillow库对验证码截图 API接口实现图像识别 今天的这个技术点,为什么要给大家分享一下呢? ...

随机推荐

  1. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  2. 拼接html a标签字符串,onClick传递两个字符串类型参数写法

    在参数传递过程中字符串类型的参数要有引号,我一开始拼接的完成后,没有想到要加引号,后来想到了这一问题,可是怎么拼都不对,于是就搜了很多拼接的例子,发现并没有几个能借鉴的,最后终于在一个人的博客中看到, ...

  3. bzoj千题计划248:bzoj3697: 采药人的路径

    http://www.lydsy.com/JudgeOnline/problem.php?id=3697 点分治 路径0改为路径-1 g[i][0/1] 和 f[i][0/1]分别表示当前子树 和 已 ...

  4. ngx_lua_API 指令详解(二)ngx.re.match/find/gmatch/sub/gsub指令集合

    1.先来个官方的ngx.re.match location /ngx_re_match { default_type text/html; content_by_lua_block { local m ...

  5. [转载]使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)

    http://www.cnblogs.com/benbenkoala/archive/2009/03/11/1407793.html 引言:SQL Server的事务日志传送备份是仅次于镜像的高可靠性 ...

  6. 格式化 SQL 来提高效率

    本文由 伯乐在线 - cucr 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:msiman.ga.欢迎加入翻译小组. 背景 已格式化的SQL并不比未格式化SQL运行地更快.数据库可能真的不太在意你 ...

  7. iOS问题#解决方案#之关于“application/x-www-form-urlencoded;charset=utf-8” not supported

    http://www.cnblogs.com/ChenYilong   http://www.cnblogs.com/ChenYilong   如果你用的是AFN/ASI,那得修改源代码了,因为AFN ...

  8. SSH 公钥登录

    一般使用SSH进行远程登录时需要提供密码,这也是我们所熟知的一种方式. 另外,就是通过公钥登录的方式,本文将简要介绍公钥登录的两种方法,建议使用方法二.本文也将简单演示公钥登录过程,以及强制使用公钥和 ...

  9. objective-c 几何类常用方法整理

    CGGeometry参考定义几何结构和功能,操作简单.数据结构中的一个点CGPoint代表在一个二维坐标系统.数据结构的位置和尺寸CGRect代表的一个长方形.数据结构的尺寸CGSize代表宽度和高度 ...

  10. Project Euler Problem2

    Even Fibonacci numbers Problem 2 Each new term in the Fibonacci sequence is generated by adding the ...