O Optical Mark Recognition, abreviado como OMR, é frequentemente usado para avaliar questionários, pesquisas e outros padrões de coleta de informações. Neste artigo, você pode aprender como criar e verificar as folhas de respostas de perguntas e bolhas do OMR usando a linguagem C# em um aplicativo .NET. Vamos explorar brevemente as seguintes abordagens:
OMR Template Creator and Checker API – Instalação Criar modelo de folha de perguntas OMR, imagem e arquivo PDF usando C# Executar OMR em Imagens de Folha de Respostas de Bolha de Múltipla Escolha usando C#
Criador de modelo OMR e API do verificador – Instalação
Para criar modelos OMR e realizar operações OMR em aplicativos C# ou VB.NET, primeiro precisamos instalar o Aspose.OMR for .NET API. Você pode baixá-lo facilmente de New Releases ou com o seguinte comando NuGet:
Install-Package Aspose.OMR -Version 20.6.0
Portanto, agora estamos prontos para continuar criando recursos de folha de perguntas de múltipla escolha com a API usando C#:
Criar modelo de folha de perguntas OMR, imagem e arquivo PDF usando C#
Vamos explorar a criação de recursos de folha de perguntas OMR. Aqui, armazenaremos perguntas de amostra em um arquivo TXT que posteriormente será utilizado pelo mecanismo OMR para criar o modelo de papel de perguntas OMR, imagem e arquivo PDF. Além disso, a seguir está a marcação de texto que usaremos como entrada para o mecanismo OMR:
?text=Name__________________________________ Date____________
?grid=ID
sections_count=8
#What is Aspose.OMR main function?
() OCR () Capture human-marked data
() There is no main function () Enhance images
#Can Aspose.OMR process not only scans, but also photos?
() Yes, indeed! () No
#Aspose.OMR is available on any platform, because it is:
() Cross-platform code () Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
() Yes, indeed! () No
#Excellent recognition results can be achieved only for filled bubbles at least for:
() 40% () 60% () 75% () 98%
#Do you have to mark up every question on the page?
(Yes) Yes, that will help a lot! (No) No
#Rate your preference from 0 to 9 with "0" being preference towards performance
and "9" being preference towards flexibility.
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
#I found aspose omr to be a useful tool. (5 - strongly agree, 1 - strongly disagree)
(5) (4) (3) (2) (1)
?text= Answer sheet section
?answer_sheet=MainQuestions
elements_count=10
columns_count=5
?text=Sign________________________________
Agora, seguiremos estas etapas com código C# para criar o OMR Multiple Choice Question Sheet:
- Inicializar motor OMR
- Chame o método GenerateTemplate com marcação de texto
- Salvar folha de perguntas de saída OMR
O trecho de código a seguir é baseado nestas etapas que mostram como criar modelo de folha de perguntas OMR, imagem e arquivo PDF usando C#:
// inicializar o mecanismo OMR
OmrEngine engine = new OmrEngine();
// geração de modelo de chamada fornecendo caminho para o arquivo txt com marcação
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));
// verifique em caso de erros
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}
// você pode usar uma das seguintes abordagens
// salvar o resultado da geração: modelo PDF e .omr
res.SaveAsPdf(testFolderPath , "Grid");
// salvar o resultado da geração: imagem e modelo .omr
res.Save(testFolderPath, "Grid");
Por isso, criamos o papel de perguntas OMR, conforme mostrado na captura de tela a seguir. Você pode distribuir artigos imprimindo o arquivo PDF ou imagem gerada conforme suas necessidades.
Execute OMR em imagens de folha de respostas de bolha de múltipla escolha usando C#
Por fim, você coletaria as respostas em folhas de respostas de bolhas geradas e, em seguida, capturaria imagens ou as digitalizaria para executar OMR usando C#. Neste exemplo, vamos considerar a seguinte imagem de amostra. Aspose.OMR para .NET API criará um arquivo separado por vírgula (CSV) como a saída da execução do OMR.
Vamos seguir estas etapas para executar o OMR usando C#:
- Especifique o caminho do arquivo de modelo
- Especifique o caminho do arquivo de imagem digitalizada
- Inicialize TemplateProcessor
- Reconhecer imagens com o método RecognizeImage
- Gravar a saída CSV no arquivo TXT
O trecho de código abaixo mostra como executar OMR em imagens de folha de respostas de bolha de múltipla escolha em C#:
string TemplateName = @"Sheet.omr";
string[] UserImages = new string[] { "Sheet1.jpg" };
// preparação de entrada e saída
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);
// chamadas de API OMR reais
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
for (int i = 0; i < UserImages.Length; i++)
{
string imagePath = Path.Combine(testFolderPath, UserImages[i]);
string csvResult = templateProcessor.RecognizeImage(imagePath).GetCsv();
File.WriteAllText(Path.Combine(outputPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(testFolderPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"));
}
A captura de tela a seguir mostra com que eficiência e precisão o arquivo CSV de saída é gerado com Aspose.OMR para .NET API. Essas informações CSV agora podem ser processadas de acordo com o design do seu sistema.
Conclusão
Em poucas palavras, aprendemos como criar folhas de perguntas e, posteriormente, realizar operações OMR para marcar imagens de folhas de respostas de bolhas usando C#. Esta criação de folhas OMR e, em seguida, realizar operações OMR em imagens é muito útil em diferentes métodos de pesquisa. Além disso, em caso de dúvidas ou dúvidas, você pode entrar em contato conosco por meio de Fóruns de suporte gratuito.