O reconhecimento óptico de marcas (OMR) é uma tecnologia que pode ser usada para ler e extrair dados de imagens de formulários marcados. OMR é comumente usado em testes padronizados, pesquisas e votações, mas também pode ser usado em uma variedade de outras aplicações, como avaliar trabalhos de alunos e monitorar inventário. Nesta postagem do blog, mostraremos como criar e ler uma planilha OMR com código de barras em C#.
Este artigo cobre os seguintes tópicos:
- Criar e ler OMR com código de barras - API C#
- Criar planilha OMR com código de barras
- Ler planilha OMR com código de barras
- Recursos de aprendizagem gratuitos
Crie e leia OMR com código de barras - API C#
Usaremos a API Aspose.OMR for .NET para criar e ler a planilha OMR com código de barras em C#. Ele permite que os desenvolvedores projetem, renderizem e reconheçam folhas de respostas, pesquisas, aplicativos e formulários semelhantes preenchidos à mão de maneira rápida e fácil em aplicativos .NET.
Por favor baixe a DLL da API ou instale-a usando NuGet.
PM> Install-Package Aspose.OMR
Crie planilha OMR com código de barras em C#
Podemos criar facilmente um arquivo de modelo OMR (.omr) e uma imagem de folha usando marcação de texto simples, seguindo as etapas abaixo:
- Crie uma instância da classe OmrEngine.
- Depois disso, obtenha o objeto GenerationResult chamando o método GenerateTemplate() com o caminho do arquivo de texto como argumento.
- Por fim, chame o método Save() para salvar a imagem gerada e o arquivo de modelo .omr no disco local.
O exemplo de código a seguir mostra como criar uma planilha OMR com código de barras usando C#.
// Diretório de arquivos de entrada e saída
string dataDir = "C:\\Files\\";
// Inicializar mecanismo
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Verifique em caso de erros
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Salvar resultado da geração: imagem e modelo .omr
res.Save(dataDir, "OMRTestWithBarcode");
Você pode verificar ainda a seguinte marcação de texto simples que é usada para criar o modelo OMR:
?barcode=AsposeWebsite
value=aspose.com
barcode_type=qr
qr_version=1
x=1900
y=250
height=360
?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
?text= Answer sheet section
?answer_sheet=MainQuestions
elements_count=12
columns_count=4
?text=Sign________________________________
Por favor baixe o modelo OMR gerado aqui.
Leia a planilha OMR com código de barras em C#
Podemos realizar operações OMR em uma imagem digitalizada preenchida de uma folha OMR com código de barras e extrair dados em um arquivo CSV. Para isso, precisamos do modelo OMR preparado (.omr) e da imagem (formulários/planilhas preenchidas pelo usuário). Siga as etapas abaixo para ler a planilha OMR com código de barras e extrair dados em CSV.
- Crie uma instância da classe OmrEngine.
- Chame o método GetTemplateProcessor() e inicialize o objeto da classe TemplateProcessor. Ele usa o caminho do arquivo do modelo OMR como argumento.
- Obtenha o objeto RecognitionResult chamando o método Recognize() com o caminho da imagem como argumento.
- Depois disso, obtenha resultados de reconhecimento como strings CSV usando o método GetCsv().
- Por fim, salve o resultado CSV como um arquivo CSV no disco local.
O exemplo de código a seguir mostra como ler e extrair dados de uma planilha OMR com código de barras em C#.
// Este exemplo de código demonstra como executar OMR em uma imagem e extrair dados
// Caminho do arquivo do modelo OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Caminho dos arquivos de entrada e saída
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Inicializar mecanismo OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Obtenha resultados em CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Salvar arquivo CSV
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));
Console.WriteLine(csvResult);
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.
Aspose.OMR para .NET – Recursos de aprendizagem
Além de extrair dados OMR de imagens, você pode aprender mais sobre Aspose.OMR e explorar outros recursos da biblioteca usando os recursos abaixo:
Conclusão
Neste artigo, aprendemos como criar e ler uma planilha OMR com código de barras em C#. Também vimos como extrair e salvar os dados OMR em formato CSV. Seguindo as etapas descritas neste artigo, você pode aproveitar o Aspose.OMR e desenvolver seus próprios aplicativos OMR. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.