Python识别图片文字并对图片改名
2024.01.08 11:32浏览量:3简介:本文将介绍如何使用Python识别图片中的文字,并使用OCR技术将图片中的文字提取出来。同时,我们还将展示如何使用Python对图片进行重命名。通过这两个功能的结合,你可以轻松地实现图片的自动化处理和识别。
在Python中,我们可以使用许多库来实现图像识别和重命名。下面我们将使用两个流行的库:Tesseract OCR和Pillow。首先,确保你已经安装了这两个库。如果没有,可以使用以下命令进行安装:
pip install pytesseract pillow
一、识别图片文字
首先,我们需要安装Tesseract OCR引擎。在Linux上,可以使用以下命令安装:
sudo apt-get install tesseract-ocr
在Windows上,你需要下载并安装Tesseract OCR引擎。安装完成后,将其路径添加到系统环境变量中。
接下来,我们可以使用Python编写一个简单的脚本来识别图片中的文字。下面是一个示例代码:
import pytesseractfrom PIL import Image# 打开图片文件img = Image.open('example.jpg')# 使用Tesseract OCR识别图片中的文字text = pytesseract.image_to_string(img)# 打印识别的文字print(text)
在这个示例中,我们首先导入了pytesseract和PIL库。然后,我们使用Image.open()方法打开了一个名为example.jpg的图片文件。接下来,我们使用pytesseract.image_to_string()方法将图片中的文字提取出来,并将其存储在变量text中。最后,我们打印出识别的文字。
二、对图片进行重命名
接下来,我们将展示如何使用Python对图片进行重命名。下面是一个示例代码:
from PIL import Imageimport os# 打开图片文件img = Image.open('example.jpg')# 获取当前目录下所有文件和文件夹的名称files = os.listdir()# 遍历所有文件和文件夹的名称,找到一个未使用的名称作为新文件名for file in files:if file.endswith('.jpg'): # 如果是图片文件,则跳过该名称作为新文件名候选者continuenew_name = file + '_copy' # 新的文件名格式为原文件名+'_copy'后缀if new_name != img.filename: # 如果新文件名与原文件名不同,则作为新文件名候选者breaknew_name += '.jpg' # 如果新文件名与原文件名相同,则添加'.jpg'后缀作为新文件名候选者if new_name != img.filename: # 如果新文件名与原文件名不同,则作为最终新文件名候选者breaknew_name += '.jpg' # 如果未找到未使用的名称作为新文件名候选者,则使用默认的新文件名格式+'.jpg'后缀作为新文件名候选者print(new_name) # 打印新文件名候选者img.save(new_name) # 将图片保存为新文件名候选者+'.jpg'后缀的文件名形式
在这个示例中,我们首先导入了PIL和os库。然后,我们使用Image.open()方法打开了一个名为example.jpg的图片文件。接下来,我们使用os.listdir()方法获取当前目录下所有文件和文件夹的名称,并遍历这些名称来找到一个未使用的名称作为新文件名候选者。在遍历过程中,我们首先跳过了所有以.jpg结尾的文件名作为新文件名候选者,然后尝试了将原始文件名添加_copy后缀作为新的文件名候选者。如果这个新的文件名与原始文件名相同,我们则添加.jpg后缀作为新的文件名候选者。如果这个新的文件名与原始文件名不同,我们就将其作为最终的新文件名候选者。如果遍历完所有名称后仍未找到未使用的名称作为新文件名候选者,我们则使用默认的新文件名格式(原文件名+_copy后缀)+.jpg后缀作为新的文件名候选者。最后,我们将图片保存为这个新的文件名候选者+.jpg后缀的文件名形式。

发表评论
登录后可评论,请前往 登录 或 注册