爬虫——文字识别

机器视觉

从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域。

这里我们将重点介绍机器视觉的一个分支:文字识别。介绍如何用一些Python库来识别和使用在线图片中的文字。

我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数存贮器没法读取的图片,这时验证码(CAPTCHA)就出现了。验证码读取的难易程序也大不相同。

将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。

OCR库概述

在读取和处理图像、图像相差的机器学习以及创建图像等任务中,Python一直都是非常出色的语言。虽然有很多库可以进行图像处理,但是这里我们只介绍Tesseract库。

Tesseract

Tesseract是一个OCR库,目前由Google赞助。Tesseract是目前公认最优秀、最精确的开源OCR系统。除了极高的精确度,Tesseract也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何Unicode字符。

安装Tesseract:Windows系统

  下载可执行安装文件安装即可。

安装pytesseract

Tesseract是一个Python的命令行工具,不是通过import语句导入的库。安装之后,要用tesseract命令在Python的外面运行,但我们可以通过pip安装支持Python版本的Tesseract库:

  pip install pytesseract

处理规范的文字

你要处理的大多数文字都是比较干净、格式规范的。格式霍英东的文字通常具有以下特点:

  • 使用统一的标准字体(不包含手写体、草书或者十分“花哨”的字体),复印或者拍照但是字体清晰、没有多余的痕迹或者污点
  • 排列整齐,没有歪歪斜斜的字
  • 没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘

文字的一些格式问题在图片预处理时可以进行解决。例如,可以把图片转换成灰度图,调整亮度和对比度,还可以根据需要进行裁剪和旋转,在这里不作介绍。

示例:

英文:

F:\DE209_F>tesseract english.jpg text
Tesseract Open Source OCR Engine v4.00.00alpha with Leptonica

F:\DE209_F>type text.txt
This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: [email protected]#$%"&*()

识别结果的准确率还是挺高的。

通过Python代码实现

英文:

中文:

#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = ‘mayi‘

import pytesseract
from PIL import Image

# 打开图像:英文
image = Image.open(‘english.jpg‘)

# OCR识别:lang默认英文
text = pytesseract.image_to_string(image)

# 打印识别后的文本
print(text)

# 我是分割线
print("*" * 30)

# 打开图像:英文
image = Image.open(‘china.png‘)

# OCR识别:lang指定中文
text = pytesseract.image_to_string(image, lang = ‘chi_sim‘)

# 打印识别后的文本
print(text)

运行结果

This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: [email protected]#$%"&*()
******************************
中 华 人 民 共 和 国
时间: 2024-08-30 07:54:02

爬虫——文字识别的相关文章

深度学习文字识别

Blog:https://blog.csdn.net/implok/article/details/95041472 步骤: 文字识别是AI的一个重要应用场景,文字识别过程一般由图像输入.预处理.文本检测.文本识别.结果输出等环节组成. 分类:文字识别可根据待识别的文字特点采用不同的识别方法,一般分为定长文字.不定长文字两大类别. 定长文字(例如手写数字识别.验证码),由于字符数量固定,采用的网络结构相对简单,识别也比较容易: 不定长文字(例如印刷文字.广告牌文字等),由于字符数量是不固定的,因

王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019【华为云技术分享】

演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019)在北京举办.在计算机视觉技术专题,华为云OCR人工智能高级算法工程师王晶分享了“文字识别服务的技术实践.底层框架及应用场景”的主题演讲. 演讲的第一部分,他分享了文字检测和识别的基础知识以及难点和最新进展.第二部分是华为云文字识别服务关键能力.关键技术,以及落地过程中遇到的“坑”,这对其他人工智能产

ABBYY FineReader Engine泰比OCR文字识别控件桌面版说明

FineReader Engine用于开发ocr文字识别软件和图片识别软件,提供自己的OCR API, 包括光学字符识别(OCR).智能字符识别(ICR).光标识别(OMR).光学条码识别(OBR).文档图片.PDF转换技术和 图像识别技术. 新的泰比(ABBYY)FineReader Engine 10将使你体会到非同一般的OCR文字识别软件质量和可用性: 选择泰比(ABBYY)FineReader Engine 10,将获得无与伦比的准确性.更高的ocr技术的质量和速度.与众不同的功能性以及

Sikuli Ocr文字识别

Sikuli的文字识别功能,用到的是tesseract-ocr 地址: https://github.com/tesseract-ocr/tesseract 首先settings里面开启OCR功能 Settings.OcrTextSearch = true;Settings.OcrTextRead = true; 建立region Region(1041,194,250,123)想要获取到text 那么String text = R.text();System.out.println(text)

最新OCR文字识别软件提高OCR性能的方法

新一代ABBYY FineReader OCR文字识别软件在处理文件时,能够快速.准确的进行文件扫描和转换,并提供智能工具以增加工作效率,使企业和个人生产力在OCR性能上显着增强至新水平,包括新的黑白模式,提高了文件的处理速度.在精简的文件转换过程中,FineReader可以进一步提高其独特的能力,重建原生的多页文件格式,还支持最流行的格式轻松创建电子图书.此外,它扩展其业界领先的语言支持,使获奖的解决方案可用于新的全球市场. "ABBYY FineReader可以帮助人们在较短的时间内完成事半

图片文字转换成word--内附 复杂图片文字识别资料简介

ocr-超级免费版软件哦: 简体中文+英文混排的文档识别:纯英文的文档识别:可以自动版面分析,也可以手动版面分析:分析结果支持边界区域自动调整:支持横排文字识别.竖排文字识别.照片保留:识别后的内容可以保存为可全文检索的双层pdf.或者txt文档,后续会更新双层pdf的结果显示效果:识别率99.8% 第一步,安装. 直接下载,解压后,找到.exe的文件,然后安装. 第二步,在桌面上找到文通免费版的快捷图标,双击进入软件. 第三步,就是正式的软件操作了. 分三个步骤来完成OCR识别: 1)你可以选

精品软件 推荐 ABBYY FineReader 世界排名第一的 OCR 文字识别工具

ABBYY FineReader 是世界排名第一的 OCR 文字识别工具,提供高效和精准的文档识别.数据提取解决方案,支持多国字符和彩色文件识别,主要用于将扫描图像.图片型PDF转化成可编辑的文本. ABBYY FineReader 可以看作是超级无敌的 PDF 转换器,能转换任意类型的 PDF,其他 PDF 转换工具.或清华紫光OCR.尚书七号.汉王OCR等在它面前都可谓是浮云.比较常用的功能为:扫描到 Word.将PDF/图像.图片转换为 Word 文档或者可编辑/可搜索的PDF文档,另外也

ocr文字识别软件ABBYY FineReader介绍

ABBYY是世界文档识别.数据捕获和语言软件技术开发商的领航者.其获奖产品 FineReader OCR 软件可以把静态纸文件和 PDF 文件转换成可编辑可管理的电子文档形式,可以大大节省您的时间和精力. 理想的 OCR (Optical Character Recognition) .PDF 转换应用软件,不但提供高识别率,而且可以精确地保留原始设置和版面布局,可以把静态纸文件和 PDF 文件转换成可管理的电子格式!它可以将通过扫描仪.MFP 或数码相机生成的图像.PDF 文件,进行快速转换为

OCR文字识别软件拆分对页和校正文本方向的教程

在使用ABBYY FineReader Pro for Mac OCR文字识别软件转换文档的时候,如果检测到的已识别文本片段方向错误,或片段的文本反转,表示片段中可能包含大量错误,那么应该怎样正确地识别此类文本呢?本文为大家详细讲解. 要正确识别此类文本: 1.在"图像"窗口中选择含有竖排区域或反转文本的表格单元格. 2.单击主工具栏中的"检查器",然后单击"区域检查器"按钮. 在"文本属性"面板中: ?在"反向&q