用python,把特定文件夹内的图片识别成文字,新建word文档把每个图片的识别文字放入图片下方
时间: 2024-02-05 13:03:56 浏览: 135
如何基于python把文字图片写入word文档
要实现这个功能,你可以使用以下步骤:
1. 安装必要的 Python 库,例如:pytesseract, pillow 和 python-docx。
```
pip install pytesseract pillow python-docx
```
2. 导入必要的库。
```python
import os
import pytesseract
from PIL import Image
from docx import Document
from docx.shared import Inches
```
3. 定义一个函数,用于将图片转换为文字。
```python
def image_to_text(image_path):
image = Image.open(image_path)
text = pytesseract.image_to_string(image)
return text
```
4. 定义一个函数,用于将所有图片的文字识别结果保存到 Word 文档中。
```python
def save_text_to_word(image_dir, output_path):
# 创建 Word 文档对象
document = Document()
# 遍历指定目录下的所有图片文件
for filename in os.listdir(image_dir):
if filename.endswith('.jpg') or filename.endswith('.png'):
# 构造图片文件的完整路径
image_path = os.path.join(image_dir, filename)
# 将图片转换为文字
text = image_to_text(image_path)
# 添加图片和文字到 Word 文档中
p = document.add_paragraph()
r = p.add_run()
r.add_picture(image_path, width=Inches(6))
r = p.add_run('\n' + text)
# 保存 Word 文档
document.save(output_path)
```
5. 调用 `save_text_to_word()` 函数,将所有图片的文字识别结果保存到 Word 文档中。
```python
image_dir = 'path/to/image/dir'
output_path = 'path/to/output.docx'
save_text_to_word(image_dir, output_path)
```
注意:在运行代码前,需要确保 pytesseract 和 tesseract 语言包已经正确安装。另外,由于图片识别需要消耗大量的计算资源,所以运行时间可能会比较长。
阅读全文