偶发一个想法搭一个验证码识别工具,网上查了一下有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. Docker Java 例子

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  2. PHP操作MYSQL数据库(10.11 第十九天)

    一.连接及断开数据库 1.使用mysqli 扩展(推荐),只针对mysql数据库 面向对象的方式 $con = new mysqli(ip,user,password); if($con->co ...

  3. HDU - 4405 Aeroplane chess(期望dp)

    题意:沿着x轴从0走到大于等于N的某处,每一步的步数由骰子(1,2,3,4,5,6)决定,若恰好走到x轴上某飞行路线的起点,则不计入扔骰子数.问从0走到大于等于N的某处的期望的扔骰子次数. 分析: 1 ...

  4. UVA - 1001 Say Cheese(奶酪里的老鼠)(flod)

    题意:无限大的奶酪里有n(0<=n<=100)个球形的洞.你的任务是帮助小老鼠A用最短的时间到达小老鼠O所在位置.奶酪里的移动速度为10秒一个单位,但是在洞里可以瞬间移动.洞和洞可以相交. ...

  5. CGridCtrl 添加button (CGridCellButton类)

    #ifndef __GRID_CELL_BUTTON__ #define __GRID_CELL_BUTTON__ #include "../GridCtrl_src/GridCell.h& ...

  6. 如何拖拽DIV边线并左右自适应改变大小?

    //树图拉伸    jQuery(function ($){                  var doc = $(document), dl = $(".side-tree" ...

  7. BZOJ:1878: [SDOI2009]HH的项链

    题解:解法一:莫队 解法二:按区间左端点排序,让区间内最左边的贝壳对答案产生贡献,树状数组维护,转移对答案产生贡献的贝壳位置 #include<iostream> #include< ...

  8. JAVAEE 和项目开发(第五课:服务器软件的介绍)

    Web服务器根据对javaEE支持的能力分为两大类 1,JavaEE服务器(应用服务器) 1) IBM公司 WebSphere 2) BEA公司 WebLogic 3) JBoss 公司 JBoss ...

  9. Floyd--P1119 灾后重建

    题目背景 B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车.换句话说,只有连接着两个重建完成的村庄的公路才能 ...

  10. web嵌入到原生的app里需要注意的事项

    1.https://www.cnblogs.com/shimily/articles/7943370.html 2.https://www.cnblogs.com/stoneniqiu/p/60771 ...