linux环境下pytesseract的安装和央行征信中心的登录验证码识别实战

首先是安装,我参考的是这个 http://blog.csdn.net/xinghun_4/article/details/47860645

我是centos,使用yum

yum install python-devel libjpeg libjpeg-devel freetype freetype-devel zlib zlib-devel littlecms littlecms-devel libwebp libwebp-devel libfreetype libfreetype-devel giflib-devel automake libtool

tesseract安装包我下载的是3.0.4,安装的时候提示搭配的leptonica的版本必须是1.7.2以上,所以不能使用1.6.9的leptonica,这点要注意。

上一些央行征信征信的验证码例子,这是截图

可以看到,字迹是相当的工整,但是直接使用image_to_string这个方法几乎是不可能是别的,只有少数图片可以转换输出文字。

需要做点处理,找规律可以发现这些噪点都是一些暗淡的像素点,可以把他们去掉(就是转换成白色的)。

#!/root/miniconda3/envs/crcc/bin/python2.7#coding=utf-8

import pytesseractfrom PIL import Imageimport re

threshold = 140table = []

name=‘test‘for i in range(256):    if i < threshold:        table.append(0)    else:        table.append(1)

def pic2text(name):    im=Image.open(name+‘.jpg‘)    imgry = im.convert(‘L‘)  #灰化    out = imgry.point(table,‘1‘)  #二值化    out.save(name+‘b.jpg‘)    # i = Image.open(name+‘b.jpg‘)    # i.show()    text= pytesseract.image_to_string(out)    print text    text2=re.sub(‘[^a-z0-9]‘,‘‘,text)    return text2

if __name__=="__main__":    print pic2text(‘pictures/150656820893‘)

这是pycharmm调用的是远程linux环境的截图,如果要在linxu直接执行./do_yzm.py,那就需要在代码第一行指明解释器路径,然后修改do_yzm.py的权限为可执行的权限.

实际识别率几乎达到了95%,效果还可以。如果错了再换个验证码登录就可以了。

这是原图

threshold这个值要设置合理,设置太大了,那些噪点全部变成黑色了。

设置小了也不行,虽然噪点都去掉了,但会把字母也弄残了。

这样就会识别不出来了。

这是设置140的结果


				
时间: 2024-08-10 17:19:35

linux环境下pytesseract的安装和央行征信中心的登录验证码识别实战的相关文章

mosquitto在Linux环境下的部署/安装/使用/测试

mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. 使用传统源码安装步骤: 步骤1:http://mosquitto.org/files/source/官网下载源码,放到Linux环境中.解压后,找到主要配置文件config.mk,其中包含mosquitto的安装选项,需要注意的是,默认情况下mosquitto的安装需要OpenSSL(一个强大的安全

Linux 环境下pip的安装

转载原地址为http://i.cnblogs.com/EditPosts.aspx?opt=1,转载请注明原地址,谢谢! 1. 概述 自动化发布平台需要在线上环境重新安装部署,涉及到多个包的安装,之前没有记录下.导致此次安装的时候, 有些过程主要重新再经历一遍,不过也好,至少可以趁这个机会把Python涉及各个模块安装部署做到自动化. 1.1 pip的安装 网上一堆关于Linux下pip的安装文档,大部分是无法使用的,不知道这些人自己有没有尝试过.而且大部分是完全一样的, 估计是粘贴复制的居多.

linux环境下的php安装--20150424

Linux环境用的是rhel6.4,刚装的虚拟机,直接用iso镜像里的包来安装了. 1.挂载cdrom,进入/mnt/目录下,使用“mkdir cdrom”指令就可以创建一个名为cdrom的文件夹了,这个文件夹就是要用来挂载光盘镜像的了. 2.指令“mount /dev/cdrom /mnt/cdrom/”挂载上镜像,软件包都是在/mnt/cdrom/Packages/目录下. 3.用“find | grep php”搜索一下,会看到有很多的php相关的rpm包,找2个包,分别为php-comm

第十八篇 Linux环境下常用软件安装和使用指南

提醒:如果之后要安装virtualenvwrapper的话,可以直接跳到安装virtualenvwrapper的方法,而不需要先安装好virtualenv 安装virtualenv和生成虚拟环境 安装virtualenv:yum -y install python-virtualenv 生成虚拟环境: 先切换到想要生成虚拟环境的目录下面 生成python2的虚拟环境:virtualenv 虚拟环境名,例如:virtualenv test_py2 生成python3的虚拟环境:virtualenv

Linux 环境下手工编译安装Apache

手工编译安装Apache 实验准备: 1.VMwore 12 环境下Red Hat 6.5版本虚拟机一台 2.相关软件包:apr.apr-util.httpd 备注:apache官网下载http://www.apache.org/ 将实验所需的软件包下载好,并解压到指定文件夹 `` 一.Apache安装 1.首先解压软件包http.apr.apr-util(支持Apache上层应用跨平台,提供底层接口库)至/opt目录下 tar xzvf http-2.4.2.tar.gz -C /opt ta

linux环境下的python安装过程(含setuptools)

这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: 将python-2.7.3.tgz下载至/opt目录下. 二.python的解压 三.python的编译与安装 在对python进行编译之前,必须对它进行配置.在unix/linux平台上的安装过程中,配置和编译过程全部已经自动化

linux环境下Nginx的安装、配置及使用

因为工作环境大多数都是windows server服务器,仅有的linux服务器同事们都在抢着用,所以特意买了一台阿里云服务器,感兴趣的小伙伴可以了解一下,一年只要293: https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=tmy8r0z0 系统版本:CentOS7.4 64位  当我吭哧吭哧安装好nginx可以正常访问之后,手贱输入了yum install nginx然后发现居然可以这样下载安装!!!只是安装的版本是1.12.2,

linux环境下git的安装配置

1.查看git的最新版本: 查看最新版git:访问https://www.kernel.org/pub/software/scm/git/或者https://github.com/git/git/releases 2.登录到服务器上,下载git安装包,可以把最后面的版本信息,改成你需要下载的版本 wget https://Github.com/Git/Git/archive/v2.11.0.tar.gz 下载完之后,解压 tar -zxvf v2.21.0.tar.gz 3.进入到解压目录后,进

Linux环境下coap协议安装与测试

最近在接触coap协议,一个专门用于受限设备上的物联网协议,于是下载了其源码,欲在linux下安装.又因编程语言繁多,所以就暂且尝试python和nodejs python源码下载 在README.md文件中,安装方法已经介绍得很好了,不过在执行到sudo pip install dist/CoAPthon-2.0.0.tar.gz -r requirements.txt时,提示缺少Python.h头文件,于是便知开发包没有安,所以安装python2.7-dev 默认情况下,相关可执行文件和co