import glob from aip import AipOcr # 导入AipOcr模块,用于做文字识别 # APP_ID、API_KEY、SECRET_KEY 可自己申请 APP_ID = '34494980' API_KEY = 'CYFBAaCC22kHM7GzRCbAvEKz' SECRET_KEY = 'skGxDrYxFNr7Amb5lwX2SQAVpt1m1gjb' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) path = "pic\ " # 路径 files = glob.glob(path + "*.png") # 路径下所有PNG图片 txt_file = open('abc.txt', 'a') for file in files: pic = open(file, 'rb') # 以二进制(rb)打开 img = pic.read() # 读取 message = client.basicGeneral(img) # 调用百度AI识别图片中的文字 for words in message['words_result']: word = words['words'] # 提取文字 print(word) txt_file.write(word) # 将文字写入文本文件 txt_file.close() # 关闭文本文件
时间: 2024-03-11 15:49:07 浏览: 89
在你的代码中,有以下几个问题:
1. 在 import glob 语句中,应该加上 from 关键字,即应该写成 from glob import glob。
2. 在 path 变量中,路径应该使用双斜杠(\\)或正斜杠(/)来分隔目录,而不是单斜杠(\)。
3. 在打开图片文件时,应该使用 with open(file, 'rb') as pic: 的方式来打开,这样可以自动关闭文件。
4. 在将文字写入文本文件时,应该在每个文字后面加上一个换行符,即应该写成 txt_file.write(word + '\n')。
修改后的代码如下:
```python
from glob import glob
from aip import AipOcr
# APP_ID、API_KEY、SECRET_KEY 可自己申请
APP_ID = '34494980'
API_KEY = 'CYFBAaCC22kHM7GzRCbAvEKz'
SECRET_KEY = 'skGxDrYxFNr7Amb5lwX2SQAVpt1m1gjb'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
path = "pic/"
files = glob(path + "*.png")
txt_file = open('abc.txt', 'a')
for file in files:
with open(file, 'rb') as pic:
img = pic.read()
message = client.basicGeneral(img)
for words in message['words_result']:
word = words['words']
print(word)
txt_file.write(word + '\n')
txt_file.close()
```
记得保存修改后的代码文件,再次运行代码。
阅读全文