一、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文件

#!/usr/bin/python
# coding:utf-8
from __future__ import unicode_literals
from django.conf import settings
import pytesseract
from PIL import Image as pillow_image
from django.shortcuts import render_to_response
from django.template import RequestContext

__author__ = "klx"

# Create your views here.

def binaryzation(threshold, image_address):
    """
    # 二值化,输入阈值和文件地址
    :param threshold:
    :param image_address:
    :return:
    """
    image = pillow_image.open(image_address)  # 打开图片
    image = image.convert('L')  # 灰度化
    table = []
    for x in range(256):  # 二值化
        if x < threshold:
            table.append(0)
        else:
            table.append(1)
    image = image.point(table, '1')
    return image

def main():
    """
    测试
    :return:
    """
    # 指定配置目录
    tessdata_dir_config = '--tessdata-dir "F:\\tesseract_ocr\\tesseract-Win64"'
    image_url = settings.MEDIA_ROOT + r"\tesseract.png"
    # image_url = settings.MEDIA_ROOT + r"\tesseract.jpg"
    image = binaryzation(200, image_url)
    image.show()  # 展示二值化后的效果,防止图片二值化效果不佳变成一片白无法识别
    result = pytesseract.image_to_string(image, config=tessdata_dir_config, lang="chi_sim+eng")  # 变图片为字符串
    return result

def test(request):
    res = main()
    return render_to_response("ocr_app/test.html", {"data": res}, context_instance=RequestContext(request))

.html模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tesseract_ocr</title>
</head>
<body>
{{ data }}
</body>
</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基础-SSM之mybatis一对一外键关联

    Java基础-SSM之mybatis一对一外键关联 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表)  1>.创建husbandsfk和wife ...

  2. 短视频如何制作?如何下载短视频?常用的短视频录制和剪辑App有哪些?

    当下,娱乐圈最火的是什么?当然是短视频了. 那么,短视频如何制作?短视频如何挣钱?如何下载免费短视频呢?这篇文章就收录了一些相关的短视频文章,加入收藏哦,小编会持续更新本文. 1. iPhone手机上 ...

  3. SpringMVC关于ajax提交400错误(后台获取为null)

    400错误有三种情况 1:请求的数据量过大,不过这种情况一般很少见. 2:请求的data参数有误,确保每一个参数都能请求到. 注释:之前小白出现400错误,后台获取参数为null是因为第三种情况,经过 ...

  4. Codeforces 295 B. Greg and Graph

    http://codeforces.com/problemset/problem/295/B 题意: 给定一个有边权的有向图.再给定一个1~n的排列. 按排列中的顺序依次删除点,问每次删除后,所有点对 ...

  5. html5 canvas简单的直线路径

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. HDU 4472 Count DP题

    解题报告:题目大意,给你n个球,要将这n个球从下到上按层次排列,要求同一个层次的的每一个分支的数量都必须相等,问有多少种排列的方法. 此题的一个DP题,假设现在有n个球,要将这n个球排列好,我们就必须 ...

  7. Caffe 碎碎念

    Window Data Layer window data layer 的数据是存在硬盘上的图片, 需要在一个txt里指定用于训练或测试的图片以及bounding box, bounding box ...

  8. Ubuntu14.04搭建Android O编译环境

    一.搭建环境 官方参考文档: 1.代号.标签和版本号 2.Factory Images 3.Driver Binaries 4.工具链  软硬件版本: 1.系统平台:I5-8500T+8G+1T,Ub ...

  9. Windows修改默认远程端口号3389

    1.打开注册表:运行-regedit: 2.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\ ...

  10. 004_加速国内docker源下载速度

    docker下载慢的不行.国内加速器地址 http://355dbe53.m.daocloud.iohttps://docker.mirrors.ustc.edu.cn https://hub-mir ...