コードのみ貼り付けます。
導入手順については画像内のテキストを検出するから。
from google.cloud import vision
import io
import json
import tkinter as tk
from tkinter import filedialog
def save_and_download_text(image_path):
# クライアントを初期化
client = vision.ImageAnnotatorClient()
# 画像ファイルを読み込む
with io.open(image_path, 'rb') as image_file:
content = image_file.read()
image = vision.Image(content=content)
image_context = vision.ImageContext(language_hints=["ja"]) # 日本語のヒントを追加
# APIを呼び出して画像からテキストを抽出
response = client.document_text_detection(image=image, image_context=image_context)
# 結果をJSON形式で保存
extracted_texts = [text.description for text in response.text_annotations]
output_file_path = 'extracted_text.json' # 保存するファイルのパス
with open(output_file_path, 'w', encoding='utf-8') as f: # UTF-8エンコーディングを指定
json.dump(extracted_texts, f, ensure_ascii=False, indent=4)
# ダウンロードするファイルのパスを出力
print(f"保存先: {output_file_path}")
# ファイル選択ダイアログを表示
root = tk.Tk()
root.withdraw() # Tkのルートウィンドウを表示しない
file_path = filedialog.askopenfilename() # ファイル選択ダイアログを開く
if file_path:
save_and_download_text(file_path)
else:
print("ファイルが選択されませんでした。")