简介

这个谷歌的识别项目早就听说了,使用之后发现,真的很厉害。写下初次简单使用的过程吧。

安装tesseract

谷歌的开源识别项目

我下了这两个,chi是扩展的识别中文需要,只安装.exe即可,然后配置环境变量

  • chi_sim.traineddata
  • tesseract-ocr-w64-setup-v4.1.0.20190314.exe

安装成功

C:\Users\27569>tesseract
Usage:
tesseract --help | --help-extra | --version
tesseract --list-langs
tesseract imagename outputbase [options...] [configfile...] OCR options:
-l LANG[+LANG] Specify language(s) used for OCR.
NOTE: These options must occur before any configfile. Single options:
--help Show this help message.
--help-extra Show extra help for advanced users.
--version Show version information.
--list-langs List available languages for tesseract engine.

python应用识别图片

使用python调用测试,windows下,我记得我程序第一次是不通的,后来改了tesseract文件的源码的某个路径才成功运行的

requirment.txt

pillow
pytesseract

run.py

import io
import re
import pytesseract
from PIL import Image class Ocr: def __init__(self):
self.day_re = re.compile('(\d{4}-\d{2}-\d{2})')
self.daytime_re1 = re.compile('(\d{2}:\d{2})')
self.daytime_re2 = re.compile('(\d{2}:\d{2}-\d{2}:\d{2})') def prepare_img(self, img):
"""图片预处理,提高识别率"""
img = img.convert('L')
threshold = 200 # 根据情况来定,127
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
return img.point(table, '1') def ocr(self, img):
"""识别"""
img = self.prepare_img(img)
return pytesseract.image_to_string(img, lang='eng', config='psm 7') # lang: eng 英文, chi_sim 中文(需要训练库) if __name__ == '__main__':
c = Ocr() with open('0.jpg', 'rb') as f:
image_binary = f.read()
byte_arr = io.BytesIO(image_binary) # Image.open() 打开图片的第一种方式
img = Image.open(byte_arr)
print(c.ocr(img)) # Image.open() 打开图片的第二种方式
img = Image.open('0.jpg')
print(c.ocr(img))

记录初次使用tesseract的过程的更多相关文章

  1. tesseract配置过程

    tesseract配置过程: 1. 为了避免配置环境变量,可以先下载一个 tesseract-ocr-setup-3.02.02.exe(tesseract配置文件夹里有),然后安装(假设安装目录为D ...

  2. 记录sqoop同步失败问题解决过程,过程真的是很崎岖。(1月6日解决)

    记录sqoop同步失败问题解决过程,过程真的是很崎岖.事发原因:最近突然出现sqoop export to mysql时频繁出错.看了下日志是卡在某条数据过不去了,看异常.看sqoop生成的mr并未发 ...

  3. step_by_step_记录deepin下curl安装过程

    记录 deepin 下 curl 安装过程 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz .tar.gz cd curl-/ ./conf ...

  4. 【Android实战】记录自学自己定义GifView过程,能同一时候支持gif和其它图片!【有用篇】

    之前写了一篇博客.<[Android实战]记录自学自己定义GifView过程,具体解释属性那些事! [学习篇]> 关于自己定义GifView的,具体解说了学习过程及遇到的一些类的解释,然后 ...

  5. 记录手动签名APK的过程

    记录手动签名APK的过程 前两天更新了华为平台上的APK,被驳回,原因是新APK签名和老的APK不一致,老用户安装会失败,用命令行安装会报如下的错误: harlanc@harlancdeMacBook ...

  6. 记录一下安装hexo的过程

    记录一下安装hexo的过程 首先你的电脑需要安装node.js和Git 安装好Git之后需要配置本机与Github之间的ssh方便更新同步博客到Github上,在一个地方新建一个文件夹作为我们博客的根 ...

  7. Docker初次使用与安装过程

    Docker入门 Docker 简介 Docker有两个版本: 社区版(CE) 企业版(EE) Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容 ...

  8. 记录ubuntu16.04版本安装过程中遇到的问题

    记录ubuntu16.04版本安装和使用过程中遇到的些问题,方便以后查看,主要内容有: 1. ubuntu源替换 2. windows与vmware ubuntu文件夹共享 3. putty连接ubu ...

  9. 记录一次bug解决过程:else未补全导致数据泄露和代码优化

    一.总结 快捷键ctrl + alt + 四个方向键 --> 倒置屏幕 未补全else逻辑,倒置查询数据泄露 空指针是最容易犯的错误,数据的空指针,可以普遍采用三目运算符来解决 SVN冲突解决关 ...

随机推荐

  1. Chrome 浏览器端口的坑:ERR_UNSAFE_PORT

    nodejs 启动了一个6000端口的服务 本来是打算测试用的,结果一直报以下错误 但我使用 curl 来请求该接口地址是正常的.这就很纳闷了. 经过一番折腾无果之后,百度才知道.这个6000端口是非 ...

  2. mysql数据类型与运算符

    一.数据类型 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) mediu ...

  3. 自己的一个验证电话和ecshop验证电话

    //验证电话 function checkPhone($phone) { $preg_mobile = preg_match("/^1\d{10}$/", $phone ); $p ...

  4. Object-C中的数字对象

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  5. [svc]linux测速软件speedtest-cli

    linux测速软件: https://github.com/sivel/speedtest-cli 以下是我在gentoo上测的

  6. SimpleDateFormat线程不安全及解决的方法

    一. 为什么SimpleDateFormat不是线程安全的? Java源代码例如以下: /** * Date formats are not synchronized. * It is recomme ...

  7. mysql操作及自动化运维

    备份恢复工具:percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm mysql主从配置命令: 主: 1.编辑主MYSQL 服务器的MySQL配置文件my.cnf, ...

  8. [C++]在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include StdAfx.h”

    问题现象:在写好的.cpp文件后,编译报错.提示"你建立的工程使用了预编译功能, cpp最前边要留一行这样的内容:#include "StdAfx.h"问题原因:网上说是 ...

  9. xmapp+netbeans调试

    1.netbeans的设置 2.修改php.ini 如下: [XDebug]zend_extension = "D:\dev\xampp\php\ext\php_xdebug.dll&quo ...

  10. Lua中的常用语句结构以及函数

     1.Lua中的常用语句结构介绍 --if 语句结构,如下实例: gTable = {} ] ] then ]) == gTable[] then ]) else print("unkown ...