Python3实现获取图片文字里中文的方法分析

Python3实现获取图片文字里中文的方法分析

当我们需要处理包含中文的图片文字时,可以使用Python3中的OCR技术,将其转换为计算机可读的文本文件,从而方便后续处理。本文将通过以下步骤详细讲解如何使用Python3实现获取图片文字里中文的方法。

步骤一:安装OCR引擎

使用Python3实现OCR需要安装OCR引擎,常用的包括Tesseract和OCRopus等。本文以Python3 OCR库中的Tesseract为例进行讲解,安装方法如下:

pip install pytesseract

步骤二:安装Tesseract OCR引擎

安装Python OCR库后,需要安装Tesseract OCR引擎,可从以下网址下载:

https://github.com/tesseract-ocr/tesseract

安装完成后,将其加入环境变量中,或使用语句进行配置:

import pytesseract

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

步骤三:加载图片文件

加载包含中文文字的图片文件,常用的格式包括jpg、png等。使用Python3中的Pillow库进行图片文件读取,代码示例如下:

from PIL import Image

img = Image.open('test.jpg')

步骤四:调用OCR引擎识别图片文字

使用Tesseract OCR引擎识别图片文件中的中文文字:

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

其中lang为图片文字的语言设置,chi_sim表示简体中文。

步骤五:输出识别结果

将识别出的中文文字保存到文本文件中或输出至控制台:

with open('result.txt', mode='w') as file:
    file.write(text)
    print('ocr result:', text)

示例一:图片中的文字

假设我们有一张包含中文文字的图片文件test.jpg,使用上述步骤可以获取到该文件中的中文文字内容,代码示例如下:

from PIL import Image
import pytesseract

img = Image.open('test.jpg')
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
text = pytesseract.image_to_string(img, lang='chi_sim')
with open('result.txt', mode='w') as file:
    file.write(text)
    print('ocr result:', text)

示例二:批量处理图片中的文字

对于批量的图片文件,可以使用os库进行遍历,将每一张图片文件中的中文文字提取出来,代码示例如下:

from PIL import Image
import pytesseract
import os

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
img_dir = './images'
result_dir = './results'
if not os.path.exists(result_dir):
    os.makedirs(result_dir)
for i, img_file in enumerate(os.listdir(img_dir)):
    img_path = os.path.join(img_dir, img_file)
    img = Image.open(img_path)
    text = pytesseract.image_to_string(img, lang='chi_sim')
    with open(os.path.join(result_dir, f'result_{i}.txt'), mode='w') as f:
        f.write(text)
        print(f'saving result_{i}.txt done')

通过上述代码,可以将images文件夹下所有图片文件中的中文文字提取出来,并保存到结果文件夹results中,每个文件对应一张原始图片文件,文件名以result_开头,后添加数字序号。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3实现获取图片文字里中文的方法分析 - Python技术站

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

相关文章

  • Python 获取异常(Exception)信息的几种方法

    以下是关于 Python 获取异常信息的几种方法的详细攻略: 问题描述 在 Python 中,当程序出现异常时,我们需要获取异常信息以便于调试和修问题。本文将介绍 Python 中获取异常信息几种方法。 解决方法 以下是 Python 中获取异常信息的几种方法: 使用 try-except 语句捕获异常并打印异常信息。 可以使用 try-except 语句捕…

    python 2023年5月13日
    00
  • Python中xml和dict格式转换的示例代码

    下面是“Python中xml和dict格式转换的示例代码”的完整攻略。 1. 背景介绍 在Python的开发过程中,经常需要将XML格式的数据转换成Python的dict格式。这样可以方便地提取和操作数据。Python提供了一些标准的库,可以方便地完成XML与dict的相互转换。 2. 示例一:XML转换成Dict 假设我们有一个XML文件,内容如下: &l…

    python 2023年6月3日
    00
  • Python实现根据日期获取当天凌晨时间戳的方法示例

    下面是详细的Python实现根据日期获取当天凌晨时间戳的方法示例的攻略: 根据日期获取当天凌晨时间戳的方法 在Python中,获取当天凌晨时间戳的方法有多种,这里介绍其中常用的两种方法: 方法一:使用datetime和time模块 首先,我们需要导入相关的模块: import datetime import time 接着,我们可以使用datetime.da…

    python 2023年6月2日
    00
  • Python 中文正则表达式笔记

    Python中文正则表达式笔记 正则表达式是一种强大的文本处理工具,可以用于匹配、查找、替换等操作。在Python中,我们可以使用re模块来实现正则表达式的相关操作。本文将为您介绍Python中文正则表达式的基本语法和常用操作,以及两个示例说明。 基本语法 在Python中,我们可以使用re模块来实现正则表达式的相关操作。下面是一些常用的正则表达式语法: .…

    python 2023年5月14日
    00
  • python如何实现int函数的方法示例

    当我们需要将一个字符串转换为整数时,就可以使用Python中的int()函数。下面是几种实现int()函数的方法示例。 1.使用int()函数 Python中内置了一个名为int()的函数,可以将字符串转换为整数。当int()函数传入一个非数字的字符串时,会抛出ValueError异常。 s = ‘123’ num = int(s) print(num) #…

    python 2023年6月3日
    00
  • Python中datetime常用时间处理方法

    Python中datetime常用时间处理方法 Python中datetime是常用的时间处理模块,主要提供时间日期的各种操作方法。在日常开发中,经常会用到各种时间处理、格式化时间等功能,本文将介绍一些Python中datetime常用的时间处理方法。 获取当前时间 获取当前时间可以使用datetime模块中的datetime类的now()方法,该方法返回当…

    python 2023年6月2日
    00
  • 基于Python实现的购物商城管理系统

    介绍 本文将详细讲解如何基于Python实现的购物商城管理系统。该系统可以实现商品管理、订单管理、用户管理等功能。其中,Python作为一门简单易学且功能强大的语言,可以帮助我们快速实现所需功能,因此本文将使用Python作为开发语言。 步骤 1. 确定系统需求 在开始开发之前,我们需要明确该系统的需求,包括但不限于以下几个方面: 商品管理:包括添加、删除、…

    python 2023年5月30日
    00
  • 打印语句python 2.7上的语法无效[重复]

    【问题标题】:invalid syntax on print statement python 2.7 [duplicate]打印语句python 2.7上的语法无效[重复] 【发布时间】:2023-04-06 12:13:01 【问题描述】: 我有一些代码可以测试我编写的其他代码(在 ipython 笔记本中)。 print_closest = lambd…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部