Ссылка, которую вы предоставили, содержит наиболее подробное объяснение того, что означает каждый из них.Я полагаю, что лучший способ получить лучшее понимание - это запустить ocr на разных изображениях и сравнить ответ с тем, что вы видите на соответствующем изображении.Следующий скрипт Python запускает DOCUMENT_TEXT_DETECTION
на изображении, сохраненном в GCS, и печатает все обнаруженные разрывы, кроме тех, которые вам не сложно понять (LINE_BREAK
и SPACE
), вместе со словом, непосредственно предшествующим им, чтобы включить сравнение.
import sys
import os
from google.cloud import storage
from google.cloud import vision
def detect_breaks(gcs_image):
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/path/to/json'
client = vision.ImageAnnotatorClient()
feature = vision.types.Feature(
type=vision.enums.Feature.Type.DOCUMENT_TEXT_DETECTION)
image_source = vision.types.ImageSource(
image_uri=gcs_image)
image = vision.types.Image(
source=image_source)
request = vision.types.AnnotateImageRequest(
features=[feature], image=image)
annotation = client.annotate_image(request).full_text_annotation
breaks = vision.enums.TextAnnotation.DetectedBreak.BreakType
word_text = ""
for page in annotation.pages:
for block in page.blocks:
for paragraph in block.paragraphs:
for word in paragraph.words:
for symbol in word.symbols:
word_text += symbol.text
if symbol.property.detected_break.type:
if symbol.property.detected_break.type == breaks.SPACE or symbol.property.detected_break.type == breaks.LINE_BREAK:
word_text = ""
else:
print word_text,symbol.property.detected_break
word_text = ""
if __name__ == '__main__':
detect_breaks(sys.argv[1])