Я использую Googles Vision OCR API, чтобы попытаться извлечь 2 типа данных из изображения 1) рукописный текст из текстовых полей;помечены красными кружками внизу и 2) галочками или 'x' из флажков;отмечены зелеными кружками ниже. Я буду вводить эти данные в базу данных, поэтому мне потребуется строка, возвращенная для обоих типов данных
В настоящее время, когда я передаю это изображение в API, я получаю строкусо всеми данными:
Обучение в средней школе Восприятие компьютеров учащимся LO 13. Кто-нибудь из членов вашей семьи работает в области компьютерных технологий? Если да, то что это за член семьи (например, родитель, опекун, брат, сестра> и т. Д.) Брат 14. Был ли у вас какой-либо опыт работы на компьютере (даже в течение одного дня)? Выберите> одну или несколько областей: U CODER DOJO В ШКОЛЬНОМ ЛАГЕРЬЕ САМОГО ДРУГОГО Если вы выбрали любую из Q14, был> общий опыт: ХОРОШО, НЕТ ХОРОШО, ХОРОШО ИЛИ ПЛОХО ПЛОХО ПЛОХО И почему (краткий ответ, под 4 словами)> выучил новые навыкиБудет завершено после лагеря. NewsLRY 1. Я бы сейчас рассмотрел карьеру в> вычислительной технике / IT. Полностью согласен Согласен Нет мнения не согласен Полностью не согласен 2. Лагерь показал мне, какой была карьера в области компьютерных технологий. ? Полностью согласен Согласен Нет мнения не согласен Полностью не согласен 3>. Лагерь показал / подчеркнул, что я не был хорош в программировании или вычислительной технике. Абсолютно согласен Согласен> Нет мнения не согласен Абсолютно не согласен 4. Дайте две вещи, которые вы не знали о компьютерном /> программировании до окончания лагеря? Язык Java Eclipse IDE ва 5. Я был лучше, чем я думал (до лагеря) в программировании / вычислительной технике. ? Согласен Нет мнения не согласен Полностью не согласен? O> Сильно согласен 6. Любые отзывы / комментарии о лагере (хорошо или плохо)? хороший лагерь, многому научился. > Спасибо, что приняли этот опрос. Страница 2 из 2
Мой код в таком виде:
public static void Main(string[] args)
{
string credential_path = @"C:\Users\35385\nodal.json";
System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", credential_path);
// Instantiates a client
var client = ImageAnnotatorClient.Create();
// Load the image file into memory
var image = Image.FromFile("stack.jpg");
// Performs text detection on the image file
var response = client.DetectDocumentText(image);
string words = "";
foreach (var page in response.Pages)
{
foreach (var block in page.Blocks)
{
string box = string.Join(" - ", block.BoundingBox.Vertices.Select(v => $"({v.X}, {v.Y})"));
foreach (var paragraph in block.Paragraphs)
{
box = string.Join(" - ", paragraph.BoundingBox.Vertices.Select(v => $"({v.X}, {v.Y})"));
foreach (var word in paragraph.Words)
{
words += $" {string.Join("", word.Symbols.Select(s => s.Text))}";
}
}
}
}
Console.WriteLine(words);
}
Итак, мои вопросы:
- Как извлечь данные из каждого красного поля(т.е. первое текстовое поле будет возвращать «брат», второе должно возвращать «изученные новые навыки»)?
- Как мне узнать, какой флажок отмечен в каждом зеленом вопросе (т. Е. Вопрос 13 должен возвращать «ДА», вопрос 14. должен возвращать «САМОСТОЯТЕЛЬНАЯ НАУЧНОСТЬ» и т. Д.)?