Imagen OCR a texto y corrección ortográfica en C#

Podemos realizar OCR en imágenes o documentos escaneados y extraer datos textuales mediante programación usando C#. Luego podemos ejecutar un corrector ortográfico para corregir errores ortográficos en el texto reconocido. En este artículo, aprenderemos cómo realizar OCR de imagen a texto y corrección ortográfica en C#.

En este artículo se tratarán los siguientes temas:

  1. Imagen OCR a texto y corrección ortográfica C# API
  2. Imagen OCR a texto y errores ortográficos
  3. Convertir imagen a texto con corrección ortográfica
  4. Guardar texto reconocido con ortografía corregida
  5. Corrección ortográfica de texto personalizado

Imagen OCR a texto y corrección ortográfica C# API

Usaremos la API Aspose.OCR para .NET para realizar OCR en imágenes, extracción de texto y corrección ortográfica. Puede reconocer imágenes escaneadas, fotos de teléfonos inteligentes, capturas de pantalla, áreas de imágenes y archivos PDF escaneados. Devuelve resultados de texto reconocidos en los formatos de intercambio de datos y documentos más populares. La API también permite convertir imágenes en texto y crear archivos PDF con capacidad de búsqueda a partir de escaneos. Además, permite autocorregir las faltas de ortografía en el texto reconocido.

La clase AsposeOcr es la API principal para la biblioteca Aspose OCR. Proporciona varios métodos para realizar operaciones de OCR. El método RecognizeImage() de esta clase reconoce texto en las imágenes de los formatos admitidos. El método CorrectSpelling() de la API reemplaza las palabras mal escritas con palabras correctas en el texto. La clase RecognitionResult representa los resultados del reconocimiento de imágenes. El método Save(string, SaveFormat, bool, SpellCheckLanguage, string) de esta clase guarda el documento como texto sin formato, PDF o Documento de Microsoft Word. Todos los idiomas admitidos para el corrector ortográfico se definen en la enumeración SpellCheckLanguage.

Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.OCR

OCR de imagen a texto y obtención de errores ortográficos en C#

Podemos realizar OCR en imágenes y obtener una lista de errores ortográficos en el texto reconocido siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase AsposeOcr.
  2. A continuación, inicialice un objeto de la clase RecognitionSettings.
  3. Luego, obtenga RecognitionResult llamando al método RecognizeImage(). Toma la ruta de la imagen y el objeto RecognitionSettings como argumentos.
  4. Después de eso, llame al método GetSpellCheckErrorList() para obtener una lista de palabras mal escritas con sugerencias.
  5. Finalmente, recorra la lista SpellCheckError y muestre los resultados.

El siguiente código de ejemplo muestra cómo obtener una lista de errores ortográficos de un texto reconocido en C#.

// Este ejemplo de código demuestra cómo obtener una lista de palabras mal escritas de un texto reconocido.
// Camino a la imagen a reconocer
string imagePath = @"C:\Files\OCR\sample.png";

// Crear API de OCR
AsposeOcr api = new AsposeOcr();

// Inicializar la configuración de reconocimiento
RecognitionSettings settings = new RecognitionSettings();

// Reconocer imagen           
RecognitionResult result = api.RecognizeImage(imagePath, settings);

// Obtenga una lista de palabras mal escritas con sugerencias
List<SpellCheckError> errorsList = result.GetSpellCheckErrorList(SpellCheckLanguage.Eng);

foreach (var word in errorsList)
{
    Console.WriteLine($"Misspelled Word - {word.Word}");
    foreach (var suggest in word.SuggestedWords)
    {
        Console.WriteLine($"Suggested word - {suggest.Word}");
    }

    Console.WriteLine();
}
OCR de imagen a texto y obtención de errores ortográficos en C#

Obtener una lista de errores ortográficos en C#

Convertir imagen a texto con corrección ortográfica en C#

Podemos convertir una imagen a texto y autocorregir los errores ortográficos siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase AsposeOcr.
  2. A continuación, inicialice un objeto de la clase RecognitionSettings.
  3. Luego, obtenga RecognitionResult llamando al método RecognizeImage(). Toma la ruta de la imagen y el objeto RecognitionSettings como argumentos.
  4. Después de eso, llame al método GetSpellCheckCorrectedText() para obtener texto con corrección ortográfica.
  5. Por último, mostrar los resultados.

El siguiente código de ejemplo muestra cómo corregir automáticamente los errores ortográficos de un texto reconocido en C#.

// Este ejemplo de código demuestra cómo corregir automáticamente los errores ortográficos de un texto reconocido.
// Camino a la imagen a reconocer
string imagePath = @"C:\Files\OCR\sample.png";

// Crear API de OCR
AsposeOcr api = new AsposeOcr();

// Inicializar la configuración de reconocimiento
RecognitionSettings settings = new RecognitionSettings();

// Reconocer texto de una imagen    
RecognitionResult result = api.RecognizeImage(imagePath, new RecognitionSettings());

// Obtener resultado corregido
string correctedResult = result.GetSpellCheckCorrectedText(SpellCheckLanguage.Eng);

// Mostrar resultados
Console.WriteLine(correctedResult);
Convertir imagen a texto con corrección ortográfica en C#

Convertir imagen a texto con corrección ortográfica en C#

Guardar texto reconocido con ortografía corregida en C#

Podemos guardar el texto reconocido de una imagen después de la corrección ortográfica siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase AsposeOcr.
  2. A continuación, inicialice un objeto de la clase RecognitionSettings.
  3. Después de eso, obtenga RecognitionResult llamando al método RecognizeImage(). Toma la ruta de la imagen y el objeto RecognitionSettings como argumentos.
  4. Finalmente, llame al método Save(string, SaveFormat, bool, SpellCheckLanguage) para guardar el texto. Toma el valor bool de applySpellingCorrection como verdadero.

El siguiente código de ejemplo muestra cómo guardar el texto con corrección ortográfica en C#.

// Este ejemplo de código muestra cómo guardar el texto reconocido con corrección ortográfica.
// Camino a la imagen a reconocer
string imagePath = @"C:\Files\OCR\sample.png";
string resultPath = @"C:\Files\OCR\MyResult.txt";

// Crear API de OCR
AsposeOcr api = new AsposeOcr();

// Inicializar la configuración de reconocimiento
RecognitionSettings settings = new RecognitionSettings();
         
// Reconocer texto de una imagen 
RecognitionResult result = api.RecognizeImage(imagePath, new RecognitionSettings());

// Guardar el texto corregido
result.Save(resultPath, SaveFormat.Text, true, SpellCheckLanguage.Eng);

Revisar la ortografía del texto en C#

También podemos ejecutar la revisión ortográfica en un texto personalizado siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase AsposeOcr.
  2. A continuación, llame al método CorrectSpelling(). Toma el texto para corregir y SpellCheckLanguage como argumentos.
  3. Por último, mostrar los resultados.

El siguiente código de ejemplo muestra cómo revisar la ortografía del texto personalizado en C#.

// Este ejemplo de código demuestra cómo ejecutar la revisión ortográfica en una cadena de texto personalizada.
// Texto para revisión ortográfica
string textToCorrect = "This is sample text wth errrors";

// Crear API de OCR
AsposeOcr api = new AsposeOcr();

// Ejecute el corrector ortográfico para corregir errores
string correctedText = api.CorrectSpelling(textToCorrect, SpellCheckLanguage.Eng);

// Mostrar resultados
Console.WriteLine(correctedText);
This is sample text with errors

Obtenga una licencia de evaluación gratuita

Puede obtener una licencia temporal gratuita para probar Aspose.OCR para .NET sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • realizar OCR y reconocer texto en imagen en C#;
  • obtenga una lista de las palabras mal escritas junto con sugerencias de palabras correctas;
  • autocorregir errores ortográficos;
  • guardar el texto corregido mediante programación.

Además, puede obtener más información sobre Aspose.OCR para la API de .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro.

Ver también