下記OSErrorの対処方法をご教示いただけますでしょうか。
<やりたいこと>
google cloud vision APIにより、実行すると、ローカルに保存してある画像ファイル(test.png)の内容からテキストを検出し、テキスト文を表示させたい。
<エラー内容>
Traceback (most recent call last):
File "detect.py", line 28, in <module>
res_json = text_detection(img_path)
File "detect.py", line 10, in text_detection
with open(image_path, "rb") as img:
OSError: [Errno 22] Invalid argument: 'C:\Users\a\Desktop\x07wesome'
<書いたコード>
windowsで実施
python3系
def text_detection(image_path): api_url = 'https://vision.googleapis.com/v1/images:annotate?key={}'.format(API_KEY) with open(image_path, "rb") as img: image_content = base64.b64encode(img.read()) req_body = json.dumps({ 'requests': [{ 'image': { 'content': image_content.decode('utf-8') # base64でエンコードしたものjsonにするためdecodeする }, 'features': [{ 'type': 'TEXT_DETECTION' }] }] }) res = requests.post(api_url, data=req_body) return res.json() if __name__ == "__main__": img_path = "C:\Users\Eizo\Desktop\awesome" res_json = text_detection(img_path) res_text = res_json["responses"][0]["textAnnotations"][0]["description"] #print(json.dumps(res_json, indent=4, sort_keys=True, ensure_ascii=False)) print(res_text) with open("result.json", "w") as js: js.write(res_text) 以上、対策がわかればご教示いただければ幸いです。 なお、 import requests import json import base64 およびAPIキーは記述している前提です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/07 07:25