Você pode reconhecer marcas específicas em imagens executando operações de reconhecimento de marca óptica. Por exemplo, você pode reconhecer bolhas preenchidas para um questionário, pesquisa ou exame na forma de perguntas de múltipla escolha. Consulte as seções a seguir para obter mais detalhes:

Reconhecimento de Marca Óptica – Instalação da API C#

Você pode configurar a API Aspose.OMR for .NET em seus aplicativos C# baixando a DLL das seções Downloads, ou através da galeria NuGet com o seguinte comando de instalação:

PM> Install-Package Aspose.OMR

Reconhecer imagem do MemoryStream usando OMR em C#

Às vezes as imagens são armazenadas em banco de dados ou algum recurso remoto e você pode carregar esses arquivos em um MemoryStream. Da mesma forma, pode haver muitos cenários em que salvar uma imagem no disco e depois carregá-la para processamento pode ser uma sobrecarga. Assim, você pode carregar convenientemente a imagem em um fluxo e realizar operações OMR nele. Abaixo estão as etapas para reconhecer uma imagem do MemoryStream:

  1. Obtenha o modelo para reconhecer.
  2. Inicialize o objeto de classe OmrEngine.
  3. Reconheça a imagem no MemoryStream com o método RecognizeImage.
  4. Salve o arquivo de saída com a instância da classe RecognitionResult.

O código a seguir mostra como reconhecer a imagem de um MemoryStream com OMR em C#:

// Obter modelo para reconhecer
string templatePath = "Sheet.omr";

// Obter imagem para reconhecer
string imagePath = "Sheet1.JPG";

// Inicialize o objeto da classe OmrEngine
OmrEngine engine = new OmrEngine();

// Definir modelo para reconhecer
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

using (Image image = Image.FromFile(imagePath))
{
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, image.RawFormat);
        ms.Flush();

        // Reconhecer imagem
        Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);

        var stringRes = result.GetCsv();
        File.WriteAllText(Path.GetFileNameWithoutExtension(imagePath) + ".csv", stringRes);
    }
}

Processando em lote as imagens para reconhecimento com OMR usando C#

Você pode processar um lote de imagens em uma pasta e reconhecer as marcas com reconhecimento óptico de marcas. Siga as etapas a seguir para reconhecer um lote de imagens:

  1. Obtenha o modelo OMR para reconhecer.
  2. Obtenha RecognitionResult de todas as imagens usando o método RecognizeFolder.
  3. Salve a saída como um arquivo CSV.

O código abaixo explica como processar um lote de imagens para reconhecimento de marca óptica programaticamente usando C#:

// Obter modelo para reconhecer
string templatePath = "Sheet.omr";

// A pasta Get contém imagens para reconhecer
string folderPath = "D:\images\";

OmrEngine engine = new OmrEngine();

// Definir modelo para reconhecer
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

// Reconhecer imagens da pasta
Aspose.OMR.Model.RecognitionResult[] result = templateProcessor.RecognizeFolder(folderPath);

for (int i = 0; i < result.Length; i++)
{
    var stringRes = result[i].GetCsv();
    File.WriteAllText(folderPath  + (i+1) + ".csv", stringRes);
}

Obtenha licença de API gratuita

Você pode avaliar a API sem limitações solicitando uma Licença Temporária Gratuita.

Conclusão

Neste artigo, você aprendeu como reconhecer uma imagem de um MemoryStream usando OMR em C#. Ele também discute o reconhecimento de todas as imagens em uma pasta e o salvamento do resultado de saída como arquivos CSV, valores separados por vírgulas. Além disso, você pode dar uma olhada em outros recursos da API visitando a Documentação. Você sempre pode entrar em contato conosco no Fórum de suporte gratuito para qualquer uma de suas preocupações.

Veja também