OCR: отсканировать c часть изображения - PullRequest
0 голосов
/ 17 июня 2020

Я новичок в компьютерном зрении, в настоящее время изучаю SDK Google Cloud Vision с помощью Go. И прямо сейчас у меня есть одна проблема.

Итак, у меня есть изображение, отсканированное с использованием DetectTexts() метода . Результат был отличным! все тексты отсканированы.

Однако на самом деле мне не нужны все эти тексты. Мне нужно только немного. Ниже приведено изображение, которое я использую в качестве образца. Я хочу получить два блока, выделенных красным.

Изображения

Результат

WE-2
Sam WHO
Time
PM 1:57
SYS
mmHg
mmHg
DIA
mmHg
90
62
82
mmHg
PUL
/MIN
MR AVGA
SET
START
STOP
MEM

Я не знаю, как лучше всего это сделать. Сейчас я думаю о следующих подходах:

  • разделить изображения, выделенные красным, затем выполнить сканирование OCR на этих новых изображениях
  • или получить все тексты, а затем используйте какой-нибудь алгоритм (возможно, НЛП?), чтобы получить выделенные тексты.

Может кто-нибудь, пожалуйста, помогите, какой правильный и лучший подход к решению этой проблемы?

1 Ответ

2 голосов
/ 18 июня 2020

Вы упомянули, что использовали Go, с которым, к сожалению, у меня нет опыта, но я подошел к этой проблеме на других языках, таких как Python и C#. Я бы порекомендовал просто создать ROI или область интереса. В основном это означает, что вы будете обрезать изображение только до выделенной области, в которой вы хотите обнаружить текст. Как я уже сказал, я не совсем уверен, что вы можете сделать это в Go, поэтому вам, возможно, придется выполнить некоторые манипуляции с необработанными пикселями, а не просто использовать функцию-член. Я предположил, что положение областей, из которых вы хотите обнаружить текст, останется прежним. Если вы открыты для этого, вы можете просто создать простой сценарий python, который генерирует ROI и передает обрезанное изображение в GO.

import cv2
img = cv2.imread('inputImg.png')
output = img[c1:c1+25,r1:r1+25]

#You could do something like this
cv2.imwrite("path/to/output/outputimg.png", output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...