logo

Python识别图片文字并对图片改名

作者:梅琳marlin2024.01.08 11:32浏览量:3

简介:本文将介绍如何使用Python识别图片中的文字,并使用OCR技术将图片中的文字提取出来。同时,我们还将展示如何使用Python对图片进行重命名。通过这两个功能的结合,你可以轻松地实现图片的自动化处理和识别。

在Python中,我们可以使用许多库来实现图像识别和重命名。下面我们将使用两个流行的库:Tesseract OCR和Pillow。首先,确保你已经安装了这两个库。如果没有,可以使用以下命令进行安装:

  1. pip install pytesseract pillow

一、识别图片文字
首先,我们需要安装Tesseract OCR引擎。在Linux上,可以使用以下命令安装:

  1. sudo apt-get install tesseract-ocr

在Windows上,你需要下载并安装Tesseract OCR引擎。安装完成后,将其路径添加到系统环境变量中。
接下来,我们可以使用Python编写一个简单的脚本来识别图片中的文字。下面是一个示例代码:

  1. import pytesseract
  2. from PIL import Image
  3. # 打开图片文件
  4. img = Image.open('example.jpg')
  5. # 使用Tesseract OCR识别图片中的文字
  6. text = pytesseract.image_to_string(img)
  7. # 打印识别的文字
  8. print(text)

在这个示例中,我们首先导入了pytesseractPIL库。然后,我们使用Image.open()方法打开了一个名为example.jpg的图片文件。接下来,我们使用pytesseract.image_to_string()方法将图片中的文字提取出来,并将其存储在变量text中。最后,我们打印出识别的文字。
二、对图片进行重命名
接下来,我们将展示如何使用Python对图片进行重命名。下面是一个示例代码:

  1. from PIL import Image
  2. import os
  3. # 打开图片文件
  4. img = Image.open('example.jpg')
  5. # 获取当前目录下所有文件和文件夹的名称
  6. files = os.listdir()
  7. # 遍历所有文件和文件夹的名称,找到一个未使用的名称作为新文件名
  8. for file in files:
  9. if file.endswith('.jpg'): # 如果是图片文件,则跳过该名称作为新文件名候选者
  10. continue
  11. new_name = file + '_copy' # 新的文件名格式为原文件名+'_copy'后缀
  12. if new_name != img.filename: # 如果新文件名与原文件名不同,则作为新文件名候选者
  13. break
  14. new_name += '.jpg' # 如果新文件名与原文件名相同,则添加'.jpg'后缀作为新文件名候选者
  15. if new_name != img.filename: # 如果新文件名与原文件名不同,则作为最终新文件名候选者
  16. break
  17. new_name += '.jpg' # 如果未找到未使用的名称作为新文件名候选者,则使用默认的新文件名格式+'.jpg'后缀作为新文件名候选者
  18. print(new_name) # 打印新文件名候选者
  19. img.save(new_name) # 将图片保存为新文件名候选者+'.jpg'后缀的文件名形式

在这个示例中,我们首先导入了PILos库。然后,我们使用Image.open()方法打开了一个名为example.jpg的图片文件。接下来,我们使用os.listdir()方法获取当前目录下所有文件和文件夹的名称,并遍历这些名称来找到一个未使用的名称作为新文件名候选者。在遍历过程中,我们首先跳过了所有以.jpg结尾的文件名作为新文件名候选者,然后尝试了将原始文件名添加_copy后缀作为新的文件名候选者。如果这个新的文件名与原始文件名相同,我们则添加.jpg后缀作为新的文件名候选者。如果这个新的文件名与原始文件名不同,我们就将其作为最终的新文件名候选者。如果遍历完所有名称后仍未找到未使用的名称作为新文件名候选者,我们则使用默认的新文件名格式(原文件名+_copy后缀)+.jpg后缀作为新的文件名候选者。最后,我们将图片保存为这个新的文件名候选者+.jpg后缀的文件名形式。

相关文章推荐

发表评论

活动