利用pytesseract遍历识别‘D:\python\pythonProject26\picture’路径下多张图片的文字,并把它写入到“D:\python\pythonProject26\list.txt'文本文档中
时间: 2023-08-31 08:35:09 浏览: 164
使用 Python 和 pytesseract 进行图片文字识别
### 回答1:
好的,可以通过以下代码实现:
```python
import os
import pytesseract
# 设置tesseract的安装路径
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
# 待识别的图片路径
img_path = r'D:\python\pythonProject26\picture'
# 识别结果保存的文本文档路径
txt_path = r'D:\python\pythonProject26\list.txt'
# 遍历文件夹下的所有图片,识别并将结果写入到文本文档中
with open(txt_path, 'w', encoding='utf-8') as f:
for filename in os.listdir(img_path):
if filename.endswith('.jpg') or filename.endswith('.png'):
img = os.path.join(img_path, filename)
text = pytesseract.image_to_string(img, lang='chi_sim')
f.write(f'{filename}: {text}\n')
```
这段代码通过 `os.listdir()` 函数遍历指定文件夹下的所有图片,然后利用 pytesseract 库进行文字识别,将识别结果和图片文件名一起写入到指定的文本文档中。
### 回答2:
要实现这个功能,首先需要导入pytesseract库和os库。然后使用os库中的listdir()函数来获取指定路径下的所有文件名。接下来使用for循环遍历每个文件,使用pytesseract库中的image_to_string()函数将图片转换为文字,并将结果写入到指定的文本文档中。
具体代码如下:
```python
import pytesseract
import os
# 设置图片文件夹路径和要保存的文本文档路径
img_folder = 'D:/python/pythonProject26/picture'
output_file = 'D:/python/pythonProject26/list.txt'
# 遍历图片文件夹中的所有文件名
for filename in os.listdir(img_folder):
file_path = os.path.join(img_folder, filename)
# 判断是否是图片文件
if os.path.isfile(file_path) and filename.lower().endswith(('.png', '.jpg', '.jpeg')):
# 使用pytesseract将图片转换为文字
text = pytesseract.image_to_string(file_path, lang='chi_sim')
# 将结果写入文本文档
with open(output_file, 'a', encoding='utf-8') as f:
f.write(f"文件名: {filename}\n")
f.write(f"识别结果: \n{text}\n")
f.write("-" * 50 + "\n")
```
这段代码会遍历指定路径下的所有图片文件,并将识别结果写入指定的文本文档中。注意需要根据实际情况修改`img_folder`和`output_file`的值,确保文件路径是正确的。另外,需要安装tesseract-ocr和pytesseract库,并将tesseract的安装路径添加到系统环境变量中。
### 回答3:
使用pytesseract库可以实现对图片中文字的识别和提取,并将提取到的文字写入到文本文件中。
首先需要安装pytesseract和tesseract-ocr的依赖库,并将tesseract-ocr的安装路径加入系统环境变量。
然后,可以使用以下代码实现对指定路径下多张图片进行文字识别,并将识别结果写入到指定的文本文件中:
```python
import os
import pytesseract
# 设置tesseract-ocr的安装路径
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
# 指定图片路径和文本文件路径
image_path = r'D:\python\pythonProject26\picture'
text_file = r'D:\python\pythonProject26\list.txt'
# 清空现有文本文件内容
open(text_file, 'w').close()
# 遍历指定路径下的所有图片文件
for filename in os.listdir(image_path):
if filename.endswith('.jpg') or filename.endswith('.png') or filename.endswith('.jpeg'):
image_file = os.path.join(image_path, filename)
# 使用pytesseract进行文字识别
text = pytesseract.image_to_string(image_file, lang='eng')
# 将识别结果写入到文本文件中
with open(text_file, 'a', encoding='utf-8') as file:
file.write(f'图片文件名:{filename}\n')
file.write(f'识别结果:\n{text}\n\n')
```
以上代码中,`image_path`代表图片的文件夹路径,`text_file`代表要写入的文本文件路径。遍历图片文件夹中的每个图片文件,利用pytesseract提取其中的文字,然后将图片文件名和识别结果写入到文本文件中。
最后,运行以上代码即可实现对指定路径下多张图片的文字识别和写入文本文件的功能。
阅读全文