偶发一个想法搭一个验证码识别工具,网上查了一下有Tesseract 这个工具可以识别,所以有了后面一小时的搭建过程

ps:Ubuntu 下似乎可以直接用包管理工具来安装,我使用的源码编译安装

前提

  1. 由于自己电脑是工作用的,所以一些常用编译工具齐全,不这里介绍, 另外最好使用root 来编译
  2. tesseract 依赖 leptonica, 而安装leptonica前前先安装常用图片库,

    因为leptonica其实是对那些常用库进行了封装,如果编译时没有找到这个库,后面使用的时候就不会支持了
yum install libtiff-devel libjpeg-devel libpng-devel -y
  1. 安装 leptonica: 上github 上下载源码后
 ./autogen.sh
./configure --prefix=/usr/local
make -j2 # 如果更多核可以并发编译速度快
  1. 编译leptonica 后,再编译tesseract

    同样下载源码后执行三个命令
 ./autogen.sh
./configure --prefix=/usr/local
make -j2 # 如果更多核可以并发编译速度快

其中make 可能会报错 ,直接删除 aclocal.m4,重新执行 ./autogen.sh

libtool: Version mismatch error.  This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.

下载训练数据,可以直接在github 上下载, 保存在 =/usr/local/share/tessdata 下面

https://github.com/tesseract-ocr/tessdata

chi_sim.traineddata  中文
eng.traineddata 英文
enm.traineddata 数字

然后添加环境变量 : 添加 export TESSDATA_PREFIX=/usr/local/share/tessdata 到 /etc/bashrc

使用

  1. 安装好后可以直接使用tesseract命令
tesseract cde.png result -l chi_sim

但是我自己测试的很多问题,识别不出来,但是使用python 可以

  1. 安装python 库 pip install pytesseract 很简单可使用了
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pytesseract
>>> from PIL import Image
>>> image = Image.open("abc.png")
>>> text = pytesseract.image_to_string(image,lang='chi_sim')
>>> print(text)
Bai暨匡'
『 百 度
>>>

这里识别的是百度首页logo

centos 下使用 pytesseract 识别文字的更多相关文章

  1. python下调用pytesseract识别某网站验证码

    一.pytesseract介绍 1.pytesseract说明 pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract Pyt ...

  2. Python3.x:pytesseract识别率提高(样本训练)

    Python3.x:pytesseract识别率提高(样本训练) 1,下载并安装3.05版本的tesseract 地址:https://sourceforge.net/projects/tessera ...

  3. 手把手0基础Centos下安装与部署paddleOcr 教程

    !!!以下内容为作者原创,首发于个人博客园&掘金平台.未经原作者同意与许可,任何人.任何组织不得以任何形式转载.原创不易,如果对您的问题提供了些许帮助,希望得到您的点赞支持. 0.paddle ...

  4. 话说Centos下nginx,php,mysql以及phpmyadmin的配置

    大话centos下部署phalcon框架 Centos还是ubuntu? 当我沿用这个标题的时候,心里在想"我能说我之前用的windows吗?",windows下xampp,wam ...

  5. Centos下grep命令简介

    grep命令简介 grep 是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. grep ...

  6. CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。

    一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...

  7. centos下利用mail命令进行邮件发送

    centos下默认自带mail命令: 可以用如下命令查看存放位置: which mail 结果如下: 如果没有安装可以使用 如下命令安装 yum -y install mailx 利用mail命令进行 ...

  8. CentOS下安装w3m,及w3m的使用

    centos下安装软件的命令不是apt-get,而是yum,如果安装w3m,利用sudo yum install w3m w3m-img -y即可 △△△△△△△△如果你用的是centos或readh ...

  9. [转载]centos下yum安装samba及配置

    centos下yum安装samba及配置 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Wind ...

随机推荐

  1. 【CF1154G】Minimum Possible LCM

    题意 给你 \(n\) 个数 \(a_i\) ,求出 \(\text{lcm}\) 最小的一对数. \(n\le 10^6, a_i\le 10^7\) 题解 直接枚举 ,找到当前数最小的两个倍数,统 ...

  2. 修改电脑IP地址和MAC地址

    一.修改IP地址: 电脑右下角:上网的图标,点击右键,打开“网络和共享中心”, 点击“本地连接”,打开的窗口点击“属性”, 打开新窗口,找到“IPv4”,点击“属性”, 打开新窗口,修改ip,保存,关 ...

  3. Tornado中的Cookie设置

    Tornado中的cookie分为两种--普通cookie和安全cookie 普通cookie 1.创建cookie 原型 self.set_cookie(name, value, domain=No ...

  4. wireshark封包详细信息详解(10.15 第二十一天)

    wireshark:网络流量抓取分析神器,需要学习一些常用的数据包过滤规则 IP过滤 ip.addr==192.168.1.1 只要包中的IP有192.168.1.1的,就会提取过来 IP源地址:ip ...

  5. js实现鼠标单击或者双击事件

    // timer为全局变量 getClickEmail1(_type) { clearTimeout(this.timer); if (_type == 1) { if (event.detail = ...

  6. 16 ~ express ~ 添加博客分类

    一,创建表结构  /schemas/categories.js var mongoose = require('mongoose')   module.exports = new mongoose.S ...

  7. Serial communication on pins TX/RX

    Serial [Communication] Description Used for communication between the Arduino board and a computer o ...

  8. Sqlserver 增删改查----删

    --我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id ,) NOT NULL,--学校id 自增量 YuanXiName varchar() null, ...

  9. react-native-tab-view 导航栏切换插件讲解

    首先引入插件 yarn add react-native-tab-view 如果用的原生环境要安装另外几个插件 yarn add react-native-reanimated react-nativ ...

  10. NRF24L01中断双向传输数据

    NRF24L01是一款比较常见的无线通讯芯片,不过有个缺点就是只能半双工通讯,当涉及到双向通讯时就比较麻烦一些·,特别是想要做无线IAP数据需要一直来回发送,这点无疑然人恶心到想吐,不过还好有数据中断 ...