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

yizhihongxing

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字典中的key值方法

    使用Python字典常常需要修改字典中的键值,如果要修改一个键值,我们可以使用以下方法: 创建新的键值对,删除旧的键值对。 这种方法比较简单,但是会涉及到一些额外的操作,适合要修改的键值对数量较少的情况。 # 创建一个字典 data = {‘name’: ‘Tom’, ‘age’: 18} # 将name修改为username data[‘username’…

    python 2023年5月13日
    00
  • python获取图片颜色信息的方法

    下面是关于 Python 获取图片颜色信息的方法的完整攻略。 1. 安装必要的库 要获取图片颜色信息,我们需要安装 PIL 或者 Pillow 库,它们都提供了处理图像的接口。在命令行中输入以下命令进行安装: pip install Pillow 2.读取图片 接下来,我们需要读取图片。我们可以使用 Python 的 PIL 库或者 Pillow 库,读取图…

    python 2023年5月18日
    00
  • python实现中文分词FMM算法实例

    下面是详细讲解“Python实现中文分词FMM算法实例”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 FMM算法是一种基于正向最大匹配的中文分词算法,其基本思想是从左到右扫描待分词文本,每次取出最长的词进行匹配,直到扫描完整个文本。具体步骤如下: 从左到右扫描待分词文本; 取出最长的词进行匹配; 如果匹配成功,则将该词作为分词结果; …

    python 2023年5月14日
    00
  • python爬虫获取淘宝天猫商品详细参数

    下面是“Python爬虫获取淘宝天猫商品详细参数”的完整攻略。 简介 淘宝天猫商品详细参数是指包括商品名称、价格、销量、运费、评价等信息。如果我们想要获取这些信息,最简便的方法就是通过Python爬虫来从淘宝天猫网站上获取。 步骤 1. 安装必备库 我们需要使用 requests 库和 BeautifulSoup 库来进行淘宝天猫的爬虫实现,因此需要先安装这…

    python 2023年6月3日
    00
  • Python 将字符串转换为代码的函数(eval和exec)详解

    在Python中,有两个内置函数,可以把一堆字符串类型的代码,转换为Python解释器能够执行的代码。这两个函数就是:eval()和exec()。 它们的作用与区别如下: eval()函数:将字符串转换为Python表达式并计算返回结果。也就是说,它一般用于计算并返回单个表达式的值,并返回执行结果。 exec()函数:用于动态执行Python代码。也就是说,…

    2023年2月21日
    00
  • python模块之StringIO使用示例

    让我为你详细讲解关于“Python模块之StringIO使用示例”的完整攻略。 1. StringIo模块 StringIO 模块是 Python 中的标准库之一,它提供了一个类似于文件对象的接口,但是使用的是内存缓冲区做为数据源,而不是在磁盘上实际存在的文件。所以我们可以通过对它进行读写操作实现对内存缓冲区里的数据进行操作,特别是在对字符串进行处理时非常方…

    python 2023年6月3日
    00
  • Python接口自动化浅析pymysql数据库操作流程

    下面我来为你详细讲解“Python接口自动化浅析pymysql数据库操作流程”的完整攻略。 Python接口自动化浅析pymysql数据库操作流程 1. 什么是pymysql PyMySQL是Python连接操作MySQL数据库的库。PyMySQL使用纯Python编写,而MySQLdb是C扩展。 2. pymysql安装 2.1 安装pymysql 可以通…

    python 2023年5月19日
    00
  • pip报错“ValueError: invalid literal for int() with base 10: ‘2.7’”怎么处理?

    当使用Java的Hibernate框架时,可能会遇到“ConstraintViolationException”错误。这个错误通常是由以下原因之一引起的: 违反了数据库约束:如果Hibernate尝试将无效的数据插入数据库,则会出现此错误。在这种情况下,需要检查数据库约束是否正确。 数据库表不存在:如果Hibernate尝试访问不存在的数据库表,则会出现此错…

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