Amazon Rekognition для обнаружения текста

У меня есть изображения квитанций, и я хочу хранить текст в изображениях отдельно. Можно ли с помощью Amazon Rekognition распознать текст на изображениях?


person user2219441    schedule 16.03.2017    source источник


Ответы (5)


Обновление от ноября 2017 г .:

Amazon Rekognition объявляет о распознавании лиц в реальном времени, распознавании текста в изображениях и улучшенном распознавании лиц

Прочтите объявление здесь: https://aws.amazon.com/about-aws/whats-new/2017/11/amazon-rekognition-announces-real-time-face-recognition-text-in-распознаваниеизображенийиулучшение-распознаваниелиц/

Доказательство:

введите описание изображения здесь

person Vlad Holubiev    schedule 25.11.2017
comment
Совершенно верно! Amazon Rekognition Text in Image может обнаруживать текст в изображениях и преобразовать его в машиночитаемый текст. Однако он не может выполнять оптическое распознавание текста на всю страницу. - person John Rotenstein; 27.02.2018
comment
Для AWS Rekognition OCR существует ограничение на 50 слов. :( - person Vingtoft; 07.09.2018
comment
@Vingtoft, это тоже было сюрпризом для меня, поэтому на помощь пришли Tesseract + Lambda - twitter.com/vladholubiev / status / 1022607436274970624 - person Vlad Holubiev; 08.09.2018

Нет, Amazon Rekognition не поддерживает оптическое распознавание символов (OCR).

На момент написания (март 2017 г.) он предоставляет только:

  • Обнаружение объектов и сцен
  • Анализ лица
  • Сравнение лиц
  • Распознавание лиц

Не существует предоставляемого AWS сервиса, предлагающего OCR. Вам нужно будет использовать сторонний продукт.

person John Rotenstein    schedule 16.03.2017
comment
С февраля 2018 г. возможности оптического распознавания текста теперь можно продемонстрировать в веб-сервисах Amazon, например на console.aws.amazon.com/ rekognition / home? region = us-east-1 # / - person xke; 25.02.2018

Amazon не предоставляет OCR API. Вы можете использовать Google Cloud Vision API для распознавания текста документа. Однако это стоит 3,5 доллара за 1000 изображений. Чтобы проверить Google, откройте эту ссылку и вставьте приведенный ниже код в текст тестового запроса справа.

https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate

{
   "requests": [
     {
       "image": {
         "source": {
           "imageUri": "JPG_PNG_GIF_or_PDF_url"
         }
       },
       "features": [
         {
           "type": "DOCUMENT_TEXT_DETECTION"
         }
       ]
     }
   ]
 }
person Kareem    schedule 28.07.2017

Вы можете получить лучшие результаты с помощью Amazon Textract, хотя в настоящее время он доступен только в ограниченной предварительной версии.

Можно обнаружить текст на изображении с помощью AWS JS SDK для Rekognition, но ваши результаты могут отличаться.

/* jshint esversion: 6, node:true, devel: true, undef: true, unused: true */

// Import libs.
const AWS = require('aws-sdk');
const axios = require('axios');

// Grab AWS access keys from Environmental Variables.
const { S3_ACCESS_KEY, S3_SECRET_ACCESS_KEY, S3_REGION } = process.env;

// Configure AWS with credentials.
AWS.config.update({
  accessKeyId: S3_ACCESS_KEY,
  secretAccessKey: S3_SECRET_ACCESS_KEY,
  region: S3_REGION
});

const rekognition = new AWS.Rekognition({
  apiVersion: '2016-06-27'
});

const TEXT_IMAGE_URL = 'https://loremflickr.com/g/320/240/text';

(async url => {

  // Fetch the URL.
  const textDetections = await axios
    .get(url, {
      responseType: 'arraybuffer'
    })

    // Convert to base64 Buffer.
    .then(response => new Buffer(response.data, 'base64'))

    // Pass bytes to SDK
    .then(bytes =>
      rekognition
        .detectText({
          Image: {
            Bytes: bytes
          }
        })
        .promise()
    )
    .catch(error => {
      console.log('[ERROR]', error);
      return false;
    });

  if (!textDetections) return console.log('Failed to find text.');

  // Output the raw response.
  console.log('\n', 'Text Detected:', '\n', textDetections);

  // Output to Detected Text only.
  console.log('\n', 'Found Text:', '\n', textDetections.TextDetections.map(t => t.DetectedText));

})(TEXT_IMAGE_URL);

Дополнительные примеры использования Rekognition с NodeJS см. В этом ответе.

person jgraup    schedule 04.01.2019

person    schedule
comment
Пожалуйста, добавьте комментарий к своему ответу, объясняя свой код - person Irreducible; 07.02.2018