Macht ihr OCR (Optical Character Recognition)? Mit der Technologie zum Lesen der Textinformationen auf dem Bild werden sie an verschiedenen Stellen sichtbar. Darüber hinaus wird es immer einfacher, die OCR-Technologie in GCP zu verwenden, damit normale Menschen sie verwenden können.
Ich habe versucht, die Textinformationen in der PDF-Datei mithilfe der Cloud Vision-API von GCP zu lesen, aber ich hatte das Gefühl, dass das offizielle Dokument etwas schwer zu verstehen ist (?). Daher möchte ich es hier anstelle eines Memos zusammenfassen.
Ich hatte das Gefühl, dass verschiedene wichtige Punkte im obigen Dokument weggelassen wurden, daher war es für mich als Anfänger etwas schwierig.
Mac OS Mojave
Python 3.7
Ich kenne die Rechnung für April noch nicht, aber ich denke, sie ist wahrscheinlich niedrig. Ich benutze auch die kostenlosen Credits, die ich zum ersten Mal bekomme, also werde ich sie aktualisieren, sobald ich sie verstehe.
Aktivieren Sie die Cloud Vision-API.
Wählen Sie eine Bibliothek aus APIs und Diensten aus, suchen Sie nach der Cloud Vision-API und aktivieren Sie sie.
Wählen Sie unter IAM und Administration ein Dienstkonto aus und erstellen Sie ein neues Dienstkonto.
Sie können eine Schlüssel-JSON-Datei über das folgende "Dienstkonto erstellen" erstellen.
Jetzt können Sie eine Schlüsseldatei erstellen, die den öffentlichen Schlüssel usw. enthält. Sie werden diese Schlüsseldatei später in Ihre Arbeitsdatei verschieben.
Wählen Sie einen Browser aus dem Speicher. Dadurch gelangen Sie zum Speicherbrowser. Klicken Sie auf Bucket erstellen.
Erstellen Sie einen neuen Bucket und laden Sie die PDF-Datei hoch, die Sie OCR möchten. Mein Bucket-Name ist diesmal "Umgebungs-Engineering-PDF-Bucket-1" und ich habe "Scan-001.pdf" hochgeladen.
Wir werden auch einen weiteren Bucket erstellen, um die gelesenen Textinformationen der PDF-Datei zu speichern. Ich nannte es "ocr-result-Bucket-Qiita".
Die folgenden drei sind erforderlich, also importieren wir sie. Sie können auch virtualenv verwenden.
pip install google-cloud-vision
pip install google-cloud-storage
pip install protobuf
https://pypi.org/project/google-cloud-storage/ https://pypi.org/project/google-cloud-vision/ https://pypi.org/project/protobuf/
import os
import json
import re
from google.cloud import vision
from google.cloud import storage
from google.protobuf import json_format
#Bitte wechseln Sie hier zu Ihrem eigenen Uri sowie zu Ihrem eigenen
gcs_source_uri = "gs://environment-engineering-pdf-bucket-1/scan-001.pdf"
gcs_destination_uri = "gs://ocr-result-bucket-qiita"
#Bitte ändern Sie den Namen des Buckets hier in Ihren eigenen
bucket_name = "ocr-result-bucket-qiita"
#Bitte ändern Sie die Schlüsseldatei hier in Ihre eigene
#Vergessen Sie nicht, die JSON-Schlüsseldatei im selben Verzeichnis abzulegen!
credential_path = 'engaged-symbol-274611-192d61800d05.json'
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
mime_type = 'application/pdf'
batch_size = 2
client = vision.ImageAnnotatorClient()
feature = vision.types.Feature(
type=vision.enums.Feature.Type.DOCUMENT_TEXT_DETECTION)
gcs_source = vision.types.GcsSource(uri=gcs_source_uri)
input_config = vision.types.InputConfig(
gcs_source=gcs_source, mime_type=mime_type)
gcs_destination = vision.types.GcsDestination(uri=f"{gcs_destination_uri}/")
output_config = vision.types.OutputConfig(
gcs_destination=gcs_destination, batch_size=batch_size)
async_request = vision.types.AsyncAnnotateFileRequest(
features=[feature], input_config=input_config,
output_config=output_config)
operation = client.async_batch_annotate_files(
requests=[async_request])
print('Waiting for the operation to finish.')
operation.result(timeout=180)
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
output = blob_list[0]
json_string = output.download_as_string()
response = json_format.Parse(
json_string, vision.types.AnnotateFileResponse())
# The actual response for the first page of the input file.
first_page_response = response.responses[0]
annotation = first_page_response.full_text_annotation
print(u'Full text:\n{}'.format(
annotation.text))
Ich habe versucht, OCR des folgenden Bildes pdf.
Dann wurde der Titel im Terminal wie folgt angezeigt.
Gentosha Bunko
Chinesen in Kyoto
Naomi Kang
Auf Seiten mit den folgenden geschriebenen Zeichen schlägt dies jedoch fehl. "Gourmet" wird als "Kamako" erkannt und "Niniku no" fehlt in "Niniku na" und "".
Ausgabe:
Inhaltsverzeichnis
《Kamako》
"tanzen"
Kashinnosu
Es ist Knoblauch
Tasche Kind 4
Kapitel Fisch(Log Town Seven Pine)|
34
Dreiseitiger Fischflügel
Buan(Shimogamo)
Aus Sesamhaut
Mizusako
Zahlen(Kodoji-Tempel)
04
Wie ein Eltern-Kind-Ventil
Phönix
Fuyoen(Kawaramachi Kajo)
Person
Wenn Sie dies in das Epub-Format usw. ausgeben können, können Sie es auch in das Mobi-Format konvertieren und mit kindle lesen! Ich weiß nicht, wie viel es kosten wird. .. ..
Recommended Posts