Cómo leer desde objetos System.Drawing
System.Drawing.Bitmap es una clase de .NET Framework que se utiliza para trabajar con imágenes de mapa de bits. Proporciona métodos y propiedades para crear, manipular y mostrar imágenes de mapa de bits.
System.Drawing.Image es una clase base para todos los objetos de imagen GDI+ en .NET Framework. Es la clase padre para varios tipos de imagen, incluyendo System.Drawing.Bitmap.
IronSoftware.Drawing.AnyBitmap es una clase de mapa de bits enIronDrawinguna biblioteca de código abierto desarrollada originalmente por Iron Software. Ayuda a los ingenieros de software de C# a sustituir System.Drawing.Common
en proyectos .NET en plataformas Windows, macOS y Linux.
Comience con IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Cómo leer desde objetos System.Drawing
- Descargar una biblioteca C# para leer objetos System.Drawing
- Obtener objetos System.Drawing como Bitmap e Image
- Construir la clase OcrImageInput utilizando los datos adquiridos
- Utiliza AnyBitmap de Iron Software para Linux y macOS
- Defina el área de lectura especificando la región de recorte
Leer System.Drawing.Bitmap Ejemplo
En primer lugar, instancie la clase IronTesseract para realizar el OCR. Crea un System.Drawing.Bitmap desde uno de los varios métodos. En el ejemplo de código, he decidido utilizar una ruta de archivo.
A continuación, utiliza la sentencia 'using' para crear el objeto OcrImageInput, pasándole la imagen del objeto System.Drawing.Bitmap. Por último, utilice el método Read
para realizar el OCR.
:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-bitmap.cs
using IronOcr;
using System.Drawing;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Read image file to Bitmap
Bitmap bitmap = new Bitmap("Potter.tiff");
// Import System.Drawing.Bitmap
using var imageInput = new OcrImageInput(bitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.Drawing
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Read image file to Bitmap
Private bitmap As New Bitmap("Potter.tiff")
' Import System.Drawing.Bitmap
Private imageInput = New OcrImageInput(bitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
Leer System.Drawing.Image Ejemplo
Leer desde una System.Drawing.Image es tan simple como crear el objeto OcrImageInput con la Imagen y luego realizar el proceso estándar de OCR utilizando el método Read
.
:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-image.cs
using IronOcr;
using Image = System.Drawing.Image;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Open image file as Image
Image image = Image.FromFile("Potter.tiff");
// Import System.Drawing.Image
using var imageInput = new OcrImageInput(image);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports Image = System.Drawing.Image
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Open image file as Image
Private image As Image = Image.FromFile("Potter.tiff")
' Import System.Drawing.Image
Private imageInput = New OcrImageInput(image)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
Leer IronSoftware.Drawing.AnyBitmap Ejemplo
Del mismo modo, después de crear u obtener un objeto AnyBitmap, puede construir la clase OcrImageInput. El constructor se encargará de todos los pasos necesarios para importar los datos. El siguiente ejemplo de código lo demuestra.
:path=/static-assets/ocr/content-code-examples/how-to/input-system-drawing-read-anybitmap.cs
using IronOcr;
using IronSoftware.Drawing;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Open image file as AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");
// Import IronSoftware.Drawing.AnyBitmap
using var imageInput = new OcrImageInput(anyBitmap);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Open image file as AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")
' Import IronSoftware.Drawing.AnyBitmap
Private imageInput = New OcrImageInput(anyBitmap)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
Especificar región de exploración
En la construcción de la clase OcrImageInput, puede especificar el área a escanear. Permite definir la región específica del documento de imagen para el OCR. Dependiendo del documento de imagen, la especificación de la región de escaneado puede mejorar significativamente el rendimiento. En el ejemplo de código proporcionado, especifico que sólo deben extraerse el número de capítulo y el título.
:path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);
// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)
' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Output the result to console
Console.WriteLine(ocrResult.Text)