Используя Drive API в Python, вам нужно будет получить секрет клиента вашего проекта и установить области действия на https://www.googleapis.com/auth/drive. Загрузите файл client_secret.json из вашего проекта и поместите его местоположение файла ниже вместо:
from __future__ import print_function
import httplib2
import os
import io
from apiclient import discovery
from apiclient.http import MediaFileUpload, MediaIoBaseDownload
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
SCOPES = "https://www.googleapis.com/auth/drive"
CLIENTSECRET = "<client_secret_json_location>"
APPNAME = "AppName"
def authenticate():
store = Storage(CLIENTSECRET)
creds = store.get()
pycheck = None
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets(CLIENTSECRET, SCOPES)
flow.user_agent = APPNAME
if pycheck:
creds = tools.run_flow(flow, store, flags)
else:
creds = tools.run(flow, store)
return creds
Затем вы можете вызвать API для загрузки изображения и получения вывода OCR.Вы можете увидеть документацию для класса MediaIoBaseDownload здесь .Метод export_media () экспортирует в запрошенный MIME-тип, а возвращает экспортированное содержимое .
def main():
creds = authenticate()
http = creds.authorize(httplib2.Http())
service = discovery.build("drive", "v3", http = http)
imgfile = "image.png"
txtfile = "output.txt"
mimeType = "application/vnd.google-apps.document"
requestBody = {
"name": imgfile,
"mimeType": mimeType
}
media = MediaFileUpload(imgfile, mimetype = mimeType, resumable = True)
request = service.files().export_media(fileId = file["id"], mimeType = "text/plain")
dl = MediaIoBaseDownload(io.FileIO(txtfile, "wb"), request)
isComplete = False
while isComplete != True:
status, isComplete = dl.next_chunk()
service.files().delete(fileId = file["id"]).execute()
print("Image uploaded and OCR output saved to " + txtfile + ".")
При попытке использования этого кода с это изображение выводит этот текстовый файл.
Для дальнейшего чтения или большего понимания OCR API Cloud Vision имеет специальное оптическое распознавание символов для изображений, PDF / текстовых файлов и рукописного ввода.Вы можете увидеть эту документацию здесь .