Puede reconocer marcas específicas en imágenes realizando operaciones de reconocimiento óptico de marcas. Por ejemplo, puede reconocer burbujas rellenadas para un cuestionario, una encuesta o un examen en forma de preguntas de opción múltiple. Consulte las siguientes secciones para obtener más detalles:

Reconocimiento óptico de marcas: instalación de la API de C#

Puede configurar la API Aspose.OMR for .NET en sus aplicaciones de C# descargando la DLL desde las secciones Descargas, o a través de la galería NuGet con el siguiente comando de instalación:

PM> Install-Package Aspose.OMR

Reconocer imagen de MemoryStream usando OMR en C#

A veces, las imágenes se almacenan en la base de datos o en algún recurso remoto y puede cargar esos archivos en un MemoryStream. Del mismo modo, puede haber muchos escenarios en los que guardar una imagen en el disco y luego cargarla para su procesamiento puede ser una sobrecarga. De modo que puede cargar cómodamente la imagen en un Stream y realizar operaciones OMR en ella. A continuación se muestran los pasos para reconocer una imagen de MemoryStream:

  1. Obtener la plantilla para reconocer.
  2. Inicialice el objeto de clase OmrEngine.
  3. Reconocer la imagen en el MemoryStream con el método RecognizeImage.
  4. Guarde el archivo de salida con la instancia de clase RecognitionResult.

El siguiente código muestra cómo reconocer la imagen de un MemoryStream con OMR en C#:

// Obtener plantilla para reconocer
string templatePath = "Sheet.omr";

// Obtener imagen para reconocer
string imagePath = "Sheet1.JPG";

// Inicializar objeto de clase OmrEngine
OmrEngine engine = new OmrEngine();

// Establecer plantilla para reconocer
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

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

        // Reconocer imagen
        Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);

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

Procesamiento por lotes de imágenes para reconocimiento con OMR usando C#

Puede procesar un lote de imágenes en una carpeta y reconocer las marcas con el reconocimiento óptico de marcas. Siga los siguientes pasos para reconocer un lote de imágenes:

  1. Obtenga la plantilla OMR para reconocer.
  2. Obtenga RecognitionResult de todas las imágenes utilizando el método RecognizeFolder.
  3. Guarde la salida como un archivo CSV.

El siguiente código explica cómo procesar un lote de imágenes para el reconocimiento de marcas ópticas mediante programación usando C#:

// Obtener plantilla para reconocer
string templatePath = "Sheet.omr";

// Obtener carpeta contiene imágenes para reconocer
string folderPath = "D:\images\";

OmrEngine engine = new OmrEngine();

// Establecer plantilla para reconocer
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);

// Reconocer imágenes de carpeta
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);
}

Obtenga una licencia de API gratuita

Puedes evaluar la API sin limitaciones solicitando una Licencia Temporal Gratuita.

Conclusión

En este artículo, ha aprendido a reconocer una imagen de un MemoryStream mediante OMR en C#. También analiza el reconocimiento de todas las imágenes en una carpeta y el almacenamiento del resultado de salida como archivos CSV, valores separados por comas. Además, puede echar un vistazo a otras características de la API visitando la Documentación. Siempre puede ponerse en contacto con nosotros en Foro de soporte gratuito para cualquier inquietud.

Ver también