python利用pytesseract 实现本地识别图片文字

针对“python利用pytesseract 实现本地识别图片文字”的完整攻略,我会提供以下内容:

简介

pytesseract是一个OCR(光学字符识别)库,它可用于将图像中的文本转换为可编辑文本格式,如txt、doc和pdf等。Tesseract是一个开源OCR引擎,它被Google开发并维护。

Python接口可供使用。它可以通过pip命令安装,并且Tesseract库需要先被安装,本地化安装方法请自行查找。

使用方式

在Python程序中,通过绑定pytesseract库及其参数,我们可以非常方便地实现本地图片中文本的识别。

示例代码如下:

import pytesseract
from PIL import Image

img = Image.open('test.png')
text = pytesseract.image_to_string(img)
print(text)

其中,我们需要先通过Pillow库中的Image打开图片文件,再使用pytesseract.image_to_string()方法识别其中的文本内容,最后打印输出。

参数调整

pytesseract提供了一些可选参数,来帮助我们实现更优秀的文字OCR识别效果。

首先,我们可以通过lang参数,设置OCR识别所使用的语言,示例如下:

text = pytesseract.image_to_string(img, lang='chi_sim')

其中,'chi_sim'代表简体中文,如果需要识别其他语言,需要更改参数。

其次,我们可以通过psm参数,设置OCR识别所依赖的页面分割模式,示例如下:

text = pytesseract.image_to_string(img, config='--psm 6')

其中,'--psm 6'代表块式文本(high-level)。

其他常见参数还包括:

  • oem参数,设置OCR识别引擎模式,取值一般为1、2、3、4,默认3
  • config参数,用来在命令行传递其他Tesseract扩展参数,例如突出文本边缘、二值化等
text = pytesseract.image_to_string(img, lang='chi_sim', config='--psm 6 --oem 1')

这里举了一个同时设置了lang、config和oem三个参数的示例。

示例说明

下面提供两个示例,分别为在Python中读取本地图片及在线图片的OCR识别示例。

本地图片OCR识别

示例代码如下:

import pytesseract
from PIL import Image

img_path = 'test.png'

with open(img_path, 'rb') as f:
    img = Image.open(f)
    text = pytesseract.image_to_string(img, lang='chi_sim', config='--psm 6')
    print(text)

其中,我们采用tolerate_ocr_errors=True参数,可以忽略OCR识别时出现的错误警告,从而避免因为某个字符无法被识别而导致代码报错。

在线图片OCR识别

示例代码如下:

import pytesseract
from PIL import Image
import requests
from io import BytesIO

img_url = 'https://i.imgur.com/MfEDeTE.png'
response = requests.get(img_url)
img = Image.open(BytesIO(response.content))

text = pytesseract.image_to_string(img, lang='chi_sim', config='--psm 6')
print(text)

在这个示例代码中,我们通过requests库下载了一张线上图片,然后转化为Image类型。在接下来的处理中,与本地图片识别示例相同。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用pytesseract 实现本地识别图片文字 - Python技术站

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

相关文章

  • Python处理CSV与List的转换方法

    Python处理CSV与List的转换方法 在Python中,我们可以使用csv模块来处理CSV文件,并将CSV文件转换为List。本文将详细讲解Python处理CSV与List的转换方法,包括读取文件、CSV文件转换List、将List转换为CSV文件等方的内容,并给出两个示例说明。 读取CSV文件 在Python中,我们可以使用csv模块的reader(…

    python 2023年5月13日
    00
  • 如何解决 python 2.7.3 中的 lxml 错误?

    【问题标题】:how to solve the lxml error in python 2.7.3?如何解决 python 2.7.3 中的 lxml 错误? 【发布时间】:2023-04-02 02:57:01 【问题描述】: 我下载了 lxml-3.2.3.tar 并解压。后来我使用命令作为 python setup.py install 安装它。但我…

    Python开发 2023年4月8日
    00
  • Python如何基于Tesseract实现识别文字功能

    那我就为您详细讲解一下“Python如何基于Tesseract实现识别文字功能”的完整攻略。 一、关于Tesseract Tesseract是一款Google开源的OCR引擎,可以用于文字识别。由于其出色的识别率和较为简单易用的特点,成为了许多文字识别应用的首选库之一。Tesseract一般使用C++编写,但同时也提供了多种编程语言的接口,包括Python。…

    python 2023年5月19日
    00
  • 详解Python3中的正则表达式的基本用法

    详解Python3中的正则表达式的基本用法 正则表达式是一种用于描述字符串模式的语言,可以用于匹配、查找、替换和割字符串。Python中的re模块提供了正则表达式支持,方便进行字符串的处理。本文将详细讲解Python3中正则表达式的基本用法,包括正则表达式语法、re模块的常用函数以及两个用匹配实例。 正则表达式语法 正则表达式由一些特殊字符普通字符组成,用于…

    python 2023年5月14日
    00
  • python之从文件读取数据到list的实例讲解

    以下是详细讲解“Python之从文件读取数据到list的实例讲解”的完整攻略。 在Python中,可以使用open()函数和readlines()方法或列表推导式从文件中读取数据到list中。本文将演示如从文件中读取数据到list中。 方法一:open()函数和readlines()方法 使用open()函数和readlines()方法从文件中读取到list…

    python 2023年5月13日
    00
  • python字符串的方法与操作大全

    对于Python字符串的方法和操作,我们可以总结成以下几个方面: 字符串的基本操作 定义字符串 str1 = ‘Hello World!’ str2 = "Hello World!" Python中可以使用单引号或者双引号来定义一个字符串,如上述示例,两种方式定义的字符串内容是一样的。 字符串拼接 str3 = str1 + str2 使…

    python 2023年5月13日
    00
  • Python数据分析之如何利用pandas查询数据示例代码

    要利用pandas进行数据查询,需要掌握pandas的基本数据结构DataFrame和Series的使用方法。下面是一个完整的攻略,包含了pandas查询数据的示例代码和说明。 首先需要导入pandas库,并读入一个数据集,例如csv或Excel文件。 import pandas as pd df = pd.read_csv(‘data.csv’) 查询数据…

    python 2023年6月6日
    00
  • Python手机与电脑游戏脚本的编写方法

    Python手机与电脑游戏脚本的编写方法攻略 一、前言 Python是一个出色的编程语言,而且它在游戏编程方面也有很大的应用,现在许多手机和电脑上的游戏都使用Python进行开发,所以我们应该学习如何编写Python手机与电脑游戏脚本。 二、环境准备 1. 下载Python 首先,我们需要在电脑上安装Python。可以选择去Python官网下载安装包,Pyt…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部