import cv2
import numpy as np
import requests
import io
import json
import os
cur_path=os.getcwd()
img_name = input("input file name : ")
image_path = os.path.join(cur_path, img_name)
img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
sample = img
# Ocr
url_api = "https://api.ocr.space/parse/image"
_, compressedimage = cv2.imencode(".jpg", sample, [1, 90])
file_bytes = io.BytesIO(compressedimage)
result = requests.post(url_api,
files = {"screenshot.jpg": file_bytes},
data = {"apikey": "helloworld",
"language": "eng"})
result = result.content.decode()
result = json.loads(result)
parsed_results = result.get("ParsedResults")[0]
text_detected = parsed_results.get("ParsedText")
print(text_detected)
cv2.imshow("Img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
所有与代码有关。
尝试使用OCR将图像更改为文本时发生错误。令人尴尬的是,它并非并非一帆风顺。我需要你的帮助...
Traceback (most recent call last):
File "D:/Programming/OCR_PY/venv/main.py", line 31, in <module>
parsed_results = result.get("ParsedResults")[0]
AttributeError: 'str' object has no attribute 'get'
所有与错误有关。
答案 0 :(得分:0)
api密钥已过期,可以通过在ocr.space网站上注册获得免费的新密钥,但是每天每IP的呼叫次数限制为500