tesserocr与pytesseract模块的使用方法解析

当我们需要进行文字识别时,tesserocr和pytesseract是两个常用的Python模块。它们本质上都是封装了Google Tesseract OCR引擎的Python API,因此都能够实现图片文字的识别。接下来,我们将详细讲解这两个模块的使用方法及其区别。

Tesserocr模块

安装

在开始使用Tesserocr前,需要先安装Tesseract OCR引擎。在Ubuntu系统上,可以通过以下命令进行安装:

sudo apt-get install libleptonica-dev libtesseract-dev tesseract-ocr-dev

在Windows系统上,可以从Tesseract官网下载对应版本的安装文件进行安装。安装完成后,需要使用以下命令安装tesserocr模块:

pip install tesserocr

使用

基本使用

以下是一个基本的使用示例:

import tesserocr
from PIL import Image

# 打开图片
image = Image.open('test.png')

# 图片转换为灰度模式
image = image.convert('L')

# 获取文本
text = tesserocr.image_to_text(image)

print(text)

以上示例中,我们使用Image.open()方法打开一张图片,然后将其转换为灰度模式。接着,使用tesserocr.image_to_text()方法提取出图片中的文本。

调整参数

以下是一个调整了一些参数的示例:

import tesserocr
from PIL import Image

# 打开图片
image = Image.open('test.jpg')

# 图片转换为灰度模式
image = image.convert('L')

# 调整参数
api = tesserocr.PyTessBaseAPI()
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
api.SetImage(image)

# 获取文本
text = api.GetUTF8Text()

print(text)

以上示例中,我们使用了api.SetVariable()方法,设定tesseract识别字符的白名单,只允许tesseract识别出0-9、大小写字母等字符,这可以帮助我们提高识别率。然后,我们使用tesserocr.PyTessBaseAPI()创建api对象,并将图片设置为输入。最后,使用api.GetUTF8Text()方法提取出图片中的文本。

Pytesseract模块

安装

在开始使用pytesseract前,需要先安装Tesseract OCR引擎。在Ubuntu系统上,可以通过以下命令进行安装:

sudo apt-get install libleptonica-dev libtesseract-dev tesseract-ocr-dev

在Windows系统上,可以从Tesseract官网下载对应版本的安装文件进行安装。安装完成后,需要使用以下命令安装pytesseract模块:

pip install pytesseract

使用

基本使用

以下是一个基本的使用示例:

import pytesseract
from PIL import Image

# 打开图片
image = Image.open('test.png')

# 图片转换为灰度模式
image = image.convert('L')

# 获取文本
text = pytesseract.image_to_string(image)

print(text)

以上示例中,我们使用Image.open()方法打开一张图片,然后将其转换为灰度模式。接着,使用pytesseract.image_to_string()方法提取出图片中的文本。

调整参数

以下是一个调整了一些参数的示例:

import pytesseract
from PIL import Image

# 打开图片
image = Image.open('test.jpg')

# 图片转换为灰度模式
image = image.convert('L')

# 调整参数
text = pytesseract.image_to_string(image, lang='eng', config='--psm 11 --oem 3 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')

print(text)

以上示例中,我们使用了lang参数指定语言(默认是eng),config参数来设置参数,其中--psm表示Page segmentation mode,--oem表示OCR Engine Mode,tessedit_char_whitelist表示字符白名单。最后,使用pytesseract.image_to_string()方法提取出图片中的文本。

总结

tesserocr和pytesseract都是Python的OCR库,用于图片文字识别,本质上都是封装了Google Tesseract OCR引擎的Python API。它们的使用方法类似,但是在参数的设定上有所不同。总的来说,如果需要更加灵活的控制,建议使用tesserocr,如果对参数控制需求不高,则可以使用pytesseract。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:tesserocr与pytesseract模块的使用方法解析 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • 利用Anaconda创建虚拟环境的全过程

    下面是利用Anaconda创建虚拟环境的全过程。 环境说明 Anaconda是一款十分流行的数据科学平台,提供了强大而全面的数据科学工具集,其集成了python和许多其它数据科学工具包,因此开发者可以更加专注于数据分析工作。而虚拟环境是一个独立的Python运行环境,它可以拥有不同版本的Python解释器和不同包的集合,两个不同的虚拟环境间互不干扰,这对开发…

    人工智能概览 2023年5月25日
    00
  • Pytorch中的VGG实现修改最后一层FC

    下面是PyTorch中修改VGG网络最后一层全连接层的攻略: 步骤一:导入相关库 首先需要导入相关的PyTorch库,主要包括: torch:PyTorch的核心库; torchvision:PyTorch的图像处理库,提供了很多常用的卷积神经网络的实现,包括VGG等; nn:PyTorch中的神经网络模块,用于构建神经网络模型。 步骤二:定义VGG模型 导…

    人工智能概论 2023年5月25日
    00
  • c# 插入数据效率测试(mongodb)

    下面是关于“c# 插入数据效率测试(mongodb)”的完整攻略: 1. 简介 本文将介绍如何使用C#语言通过MongoDB数据库进行高效插入数据操作。本文主要涵盖以下内容: MongoDB插入数据操作原理; C# MongoDB Driver使用方法; 通过单线程和多线程两种方式进行插入数据效率测试和分析; 优化MongoDB数据插入效率的方法。 2. M…

    人工智能概论 2023年5月25日
    00
  • Anaconda2下实现Python2.7和Python3.5的共存方法

    要在Anaconda2下实现Python2.7和Python3.5的共存,可以按照以下步骤操作: 安装Anaconda2 首先从Anaconda官网(http://anaconda.com/)下载并安装Anaconda2。 创建Python2环境 打开Anaconda Prompt,输入以下命令创建一个名为“py27”的Python2环境: conda cr…

    人工智能概览 2023年5月25日
    00
  • 电脑中ABBYY FineReader许可文件被删除的解决方法

    解决电脑中ABBYY FineReader许可文件被删除的方法如下: 步骤一:下载并安装ABBYY FineReader许可文件恢复工具 在ABBYY官网上下载ABBYY FineReader许可文件恢复工具。 下载完成后,双击安装程序,按照提示完成安装。 步骤二:使用ABBYY FineReader许可文件恢复工具恢复许可文件 打开ABBYY FineRe…

    人工智能概览 2023年5月25日
    00
  • 解决Python2.7中IDLE启动没有反应的问题

    我来详细讲解一下如何解决Python2.7中IDLE启动没有反应的问题。 问题描述 在安装了Python2.7后,有时候打开IDLE(Python shell)时会遇到没有反应的情况,无法正常打开。 解决方法 方法一:检查Python路径是否正确 首先,我们需要确认Python路径是否正确。在Windows系统下,可以按下快捷键Win + R打开运行窗口,输…

    人工智能概览 2023年5月25日
    00
  • centos7系统下nginx安装并配置开机自启动操作

    以下是详细讲解“CentOS 7系统下Nginx安装并配置开机自启动操作”的完整攻略。 安装Nginx 安装EPEL源: bash sudo yum install epel-release 安装Nginx: bash sudo yum install nginx 启动Nginx: bash sudo systemctl start nginx (可选)设置…

    人工智能概览 2023年5月25日
    00
  • Selenium启动Chrome时配置选项详解

    下面是“Selenium启动Chrome时配置选项详解”的完整攻略。 一、前言 在使用Selenium进行自动化测试的时候,启动WebDriver时需要添加一系列配置选项。其中,配置Chrome参数是一项比较需要注意的地方。本文将详细讲解Selenium启动Chrome时配置选项的定义、使用方法及参数含义。 二、Chrome配置选项详解 1. ChromeO…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部