Как получить текст с картинки через google drive ocr - PullRequest
0 голосов
/ 14 июня 2019

В Google Drive, изображение или PDF-файл можно открыть как Google Docs. В результате этого процесса создается файл Google Doc с текстом из OCR. Это бесплатный процесс [кроме Cloud Vision] Как получить текст с изображения? пожалуйста, напишите код на Python

1 Ответ

0 голосов
/ 19 июня 2019

Используя 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 / текстовых файлов и рукописного ввода.Вы можете увидеть эту документацию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...