Улучшение результатов распознавания текста с помощью Google-Vision - PullRequest
2 голосов
/ 11 июня 2019

Я пытаюсь запустить OCR на снимке экрана (2048x1152) от Twitch (для Dota / LOL).

перед отправкой этого скриншота в Google-Vision я применяю черно-белый фильтр:

export function imageToBW(filename) {
  return new Promise((resolve, reject) => {
    loadImage(filename).then((image) => {
      const canvas = createCanvas(image.width,image.height)
      const ctx = canvas.getContext('2d')


      ctx.fillStyle = 'white'

      ctx.fillRect(0, 0, image.width, image.height);
      // set the gCO
      ctx.globalCompositeOperation = 'luminosity';

      ctx.drawImage(image, 0, 0)

      resolve(canvas.toBuffer())
    }).catch(err => reject(err))
  })
}

это " разобранный скриншот " проблема в том, что Google обнаруживает много текста, но не главное, что я хочу: результаты на вершине ...

Есть ли другой фильтр или что-то, что могло бы дать мне лучшие результаты? Я пробовал несколько фильтров и размеры скриншотов, но я никогда не получал самый важный фрагмент текста: D

Спасибо

1 Ответ

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

Я удивлен, что это не работает с Google. Ваше тестовое изображение прекрасно работает с бесплатным OCR.space OCR API . Я сделал нет предварительной обработки.

Информацию о поддержке ocr.space для node.js см. https://www.npmjs.com/package/ocr-space-api

.

Результат:

enter image description here

...