Compartir a través de


Referencia de API para las API de reconocimiento de texto en el SDK de Aplicaciones para Windows

Obtenga información sobre las nuevas API de reconocimiento de texto de inteligencia artificial (IA) que se incluirán con el SDK de Aplicaciones para Windows y que se pueden usar para identificar caracteres en una imagen, reconocer palabras, líneas, límites poligonales y proporcionar niveles de confianza para las coincidencias generadas.

Para obtener más información, consulte Reconocimiento de texto en el SDK de Aplicaciones para Windows.

Importante

El canal experimental del SDK de Aplicaciones para Windows incluye API y características que se encuentran en las primeras fases del desarrollo. Todas las API del canal experimental están sujetas a revisiones exhaustivas y cambios importantes y se pueden eliminar de versiones posteriores en cualquier momento. No son compatibles para el uso en entornos de producción, y las aplicaciones que utilizan las características experimentales no se pueden publicar en Microsoft Store.


Espacio de nombres de Microsoft.Windows.Vision

Proporciona API para modelos de Machine Learning que analizan el contenido textual de las imágenes.

Estructura de Microsoft.Windows.Vision.TextRecognition.BoundingBox

public struct BoundingBox

Polígono con 4 puntos que se usa para el límite de palabras reconocidas y líneas de texto.

Fields

BottomLeft

Esquina inferior izquierda del cuadro de límite.

BottomRight

Esquina inferior derecha del cuadro de límite.

TopLeft

Punto superior izquierdo del cuadro de límite.

TopRight

Punto superior derecho del cuadro de límite.

Comentarios

Cuando se devuelve como límite para una palabra o línea, los puntos TopLeft, TopRight, BottomRight y BottomLeft son relativos a la rotación y asimetría del texto reconocido en la imagen. En el diagrama siguiente se muestra el diseño de punto para diferentes rotaciones de texto, donde 0 es TopLeft, 1 es TopRight, 2 es BottomRight y 3 es BottomLeft, todo en relación con el texto.

Diagrama de tres ejemplos de cuadros de límite que muestran cómo se identifican los vértices en función de la rotación de texto.

Enumeración de Microsoft.Windows.Vision.DetectedLineStyle

public enum DetectedLineStyle

Especifica los estilos de línea que se pueden reconocer.

Campos de enumeración

Manuscrito: 0

La línea de texto se escribe a mano.

Otros: 1

La línea de texto no está escrita a mano.

Enumeración de Microsoft.Windows.Vision.OrientationDetectionOptions

public enum OrientationDetectionOptions

Especifica las orientaciones de texto que se pueden reconocer.

Campos de enumeración

Ninguno: 0

No se reconoce la orientación.

DetectOrientation: 1

Se reconoce la orientación.

Clase de Microsoft.Windows.Vision.RecognizedLine

public sealed class RecognizedLine

Representa una sola línea de texto reconocido.

Propiedad de Microsoft.Windows.Vision.RecognizedLine.Style

public Microsoft.Windows.Vision.RecognizedLineStyle Style { get; }

Obtiene el estilo de línea reconocido.

Valor de propiedad

Estilo de línea reconocido.

Comentarios

Incluye si la línea de texto se ha escrito a mano o no y el nivel de confianza de reconocimiento.

Propiedad de Microsoft.Windows.Vision.RecognizedLine.Text

public string Text { get; }

Obtiene el texto de la línea reconocida.

Valor de propiedad

Texto de la línea reconocida.

Comentarios

Todas las palabras concatenadas con espacios.

Propiedad de Microsoft.Windows.Vision.RecognizedLine.Words

public Microsoft.Windows.Vision.RecognizedWord[] Words { get; }

Palabras de la línea reconocida.

Valor de propiedad

Palabras de la línea reconocida.

Estructura de Microsoft.Windows.Vision.RecognizedLineStyle

public struct RecognizedLineStyle

Representa el estilo de la línea reconocida.

Campos de estructura

Confianza

Nivel de confianza del reconocimiento de estilo de línea.

Nombre

Nombre del estilo de línea.

Clase de Microsoft.Windows.Vision.RecognizedText

public sealed class RecognizedText

Representa el resultado de una operación de reconocimiento de imagen a texto.

Propiedad de Microsoft.Windows.Vision.RecognizedText.ImageAngle

public float ImageAngle { get; }

Obtiene el ángulo rotacional en el sentido de las agujas del reloj del texto reconocido en grados.

Valor de propiedad

Ángulo rotacional en el sentido de las agujas del reloj del texto reconocido, en grados.

Propiedad de Microsoft.Windows.Vision.RecognizedText.Lines

public Microsoft.Windows.Vision.RecognizedLine[] Lines { get; }

Obtiene la colección de líneas reconocidas.

Valor de propiedad

Colección de líneas reconocidas.

Clase de Microsoft.Windows.Vision.RecognizedWord

public sealed class RecognizedWord

Representa una sola palabra reconocida.

Propiedad de Microsoft.Windows.Vision.RecognizedWord.BoundingBox

public Microsoft.Windows.Vision.BoundingBox BoundingBox { get; }

Obtiene el límite cuadrilátero de la palabra reconocida.

Valor de propiedad

Límite cuadrilátero de la palabra reconocida. El valor TopLeft es relativo a la rotación de la palabra.

Propiedad de Microsoft.Windows.Vision.RecognizedWord.Confidence

public float Confidence { get; }

Obtiene la probabilidad de que esta palabra se haya reconocido correctamente.

Valor de propiedad

Probabilidad de que esta palabra se reconozca correctamente. El valor oscila entre 0,0 y 1,0, ambos incluidos.

Propiedad de Microsoft.Windows.Vision.RecognizedWord.Text

public string Text { get; }

Obtiene el texto de la palabra reconocida.

Valor de propiedad

Texto de la palabra reconocida.

Clase de Microsoft.Windows.Vision.TextRecognition.TextRecognizer

public sealed class TextRecognizer : System.IDisposable

Reconoce palabras y líneas, y sus límites cuadriláteros, en una imagen de origen.

Método de Microsoft.Windows.Vision.TextRecognizer.Close

Elimina el objeto y los recursos asociados.

Comentarios

No se implementa en C#.

Método de Microsoft.Windows.Vision.TextRecognizer.CreateAsync

public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.Vision.TextRecognizer> CreateAsync ();

Crea de forma asíncrona una nueva instancia de la clase TextRecognizer.

Devoluciones

Nueva instancia de la clase TextRecognizer.

Esto devolverá un error si el elemento GetModelReadyStatus no está listo.

Método de Microsoft.Windows.Vision.TextRecognizer.IsAvailable

public static bool IsAvailable ();

Indica si el modelo de lenguaje subyacente está instalado.

Devoluciones

Devuelve el valor "true" si se instala el modelo de lenguaje subyacente. De lo contrario, se devuelve el valor False.

Método de Microsoft.Windows.Vision.TextRecognizer.MakeAvailableAsync

public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult, 
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();

Garantiza que el modelo de lenguaje subyacente está instalado y disponible para su uso.

Devoluciones

Acción asincrónica con progreso que devuelve un elemento PackageDeploymentResult al finalizar.

Método de Microsoft.Windows.Vision.TextRecognizer.RecognizeTextFromImage(Microsoft.Windows.Imaging.ImageBuffer,Microsoft.Windows.Vision.TextRecognizerOptions)

public Microsoft.Windows.Vision.RecognizedText RecognizeTextFromImage (Microsoft.Windows.Imaging.ImageBuffer imageBuffer, 
Microsoft.Windows.Vision.TextRecognizerOptions options);

Reconoce el texto en la imagen proporcionada.

Parámetros
imageBuffer

Mapa de bits sin comprimir.

options

Opciones para configurar el modelo de reconocimiento de texto para TextRecognizer.

Devoluciones

Texto reconocido.

Método de Microsoft.Windows.Vision.TextRecognizer.RecognizeTextFromImageAsync(Microsoft.Windows.Imaging.ImageBuffer,Microsoft.Windows.Vision.TextRecognizerOptions)

public Windows.Foundation.IAsyncOperation<Microsoft.Windows.Vision.RecognizedText> RecognizeTextFromImageAsync (Microsoft.Windows.Imaging.ImageBuffer imageBuffer, 
Microsoft.Windows.Vision.TextRecognizerOptions options);

Reconoce el texto de forma asíncrona en la imagen proporcionada.

Parámetros
imageBuffer

Mapa de bits sin comprimir.

options

Opciones para configurar el modelo de reconocimiento de texto para TextRecognizer.

Devoluciones

Texto reconocido.

Clase de Microsoft.Windows.Vision.TextRecognizerOptions

public sealed class TextRecognizerOptions

Proporciona opciones para configurar el modelo de reconocimiento de texto para un elemento TextRecognizer.

Propiedad de Microsoft.Windows.Vision.TextRecognizerOptions.MaxAnalysisSize

public Windows.Graphics.SizeInt32 MaxAnalysisSize { get; set; }

Obtiene o establece el tamaño máximo de la imagen.

Valor de propiedad

Tamaño máximo de imagen. El valor predeterminado es de 1152 de ancho y 768 de alto.

Comentarios

Este tamaño es una sugerencia y es posible que no siempre se respete.

Si la imagen de origen es mayor que el tamaño máximo, se reducirá verticalmente automáticamente a los límites de tamaño que se han indicado antes.

Propiedad de Microsoft.Windows.Vision.TextRecognizerOptions.MaxLineCount

public uint MaxLineCount { get; set; }

Obtiene o establece el número máximo de líneas que se van a devolver de la operación de reconocimiento.

Valor de propiedad

Número máximo de líneas que se van a devolver de la operación de reconocimiento.

Comentarios

El valor predeterminado es MaxLineCountSupported. Si se especifica, las líneas máximas devueltas tendrán un valor menor que el indicado y MaxLineCountSupported.

Propiedad de Microsoft.Windows.Vision.TextRecognizerOptions.OrientationDetection

public Microsoft.Windows.Vision.OrientationDetectionOptions OrientationDetection { get; set; }

Obtiene o establece si se va a detectar la orientación del texto.

Valor de propiedad

Indica si se va a detectar la orientación del texto. El valor predeterminado es None.

Constructor de Microsoft.Windows.Vision.TextRecognizerOptions.#ctor

public TextRecognizerOptions ();

Inicializa una nueva instancia de la clase TextRecognizerOptions.


Espacio de nombres de Microsoft.Windows.Imaging

Proporciona API para modelos de Machine Learning que manipulan las imágenes.

Clase de Microsoft.Windows.Imaging.ImageBuffer

public sealed class ImageBuffer : System.IDisposable

Representa un mapa de bits sin comprimir para serializar eficazmente entre procesos.

Comentarios

ImageBuffer se puede usar con las API del modelo de IA, como TextRecognizer, que requieren datos de imagen. El uso típico implica la creación de un elemento ImageBuffer a partir de un objeto SoftwareBitmap existente.

Propiedad de Microsoft.Windows.Imaging.ImageBuffer.Buffer

public Windows.Storage.Streams.IBuffer Buffer { get; }

Obtiene el búfer de imágenes actual.

Valor de propiedad

Búfer de imágenes actual.

Propiedad de Microsoft.Windows.Imaging.ImageBuffer.BufferLength

public uint BufferLength { get; }

Obtiene la longitud del búfer de imágenes.

Valor de propiedad

Longitud del búfer de imágenes.

Método de Microsoft.Windows.Imaging.ImageBuffer.Close

Elimina el objeto y los recursos asociados.

Comentarios

No se implementa en C#.

Método de Microsoft.Windows.Imaging.ImageBuffer.CopyToBuffer(System.Byte[])

public void CopyToBuffer (byte[] values);

Copia el búfer actual en el búfer de destino proporcionado.

Parámetros
valores

Vector de bytes en el búfer.

Método de Microsoft.Windows.Imaging.ImageBuffer.CreateBufferAttachedToBitmap(Windows.Graphics.Imaging.SoftwareBitmap)

public static Microsoft.Windows.Imaging.ImageBuffer CreateBufferAttachedToBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);

Cree un elemento ImageBuffer a partir de un objeto SotftwareBitmap existente; para ello, debe obtener un elemento un IMemoryBufferReference del objeto de mapa de bits.

Parámetros
softwareBitmap

Elemento SotftwareBitmap desde el que se va a crear ImageBuffer.

Devoluciones

Se devuelve el valor ImageBuffer o null si es un formato no admitido.

Comentarios

El elemento SoftwareBitmap se bloquea hasta que se completa la operación asincrónica y se elimina el nuevo elemento ImageBuffer.

Método de Microsoft.Windows.Imaging.ImageBuffer.CreateCopyFromBitmap(Windows.Graphics.Imaging.SoftwareBitmap)

public static Microsoft.Windows.Imaging.ImageBuffer CreateCopyFromBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);

Cree un elemento ImageBuffer a partir de un objeto SotftwareBitmap existente; para ello, copie los datos de mapa de bits subyacentes.

Parámetros
softwareBitmap

Elemento SotftwareBitmap desde el que se va a crear ImageBuffer.

Devoluciones

Se devuelve el valor ImageBuffer o null si es un formato no admitido.

Comentarios

El elemento SoftwareBitmap se bloquea hasta que se completa la operación asincrónica y se elimina el nuevo elemento ImageBuffer.

Método de Microsoft.Windows.Imaging.ImageBuffer.CreateSoftwareBitmap

public Windows.Graphics.Imaging.SoftwareBitmap CreateSoftwareBitmap ();

Cree un nuevo objeto SoftwareBitmap de tipo de píxel BGRA32 a partir de los datos de píxel almacenados en ImageBuffer.

Devoluciones

Nuevo objeto SoftwareBitmap de tipo de píxel BGRA32.

Propiedad de Microsoft.Windows.Imaging.ImageBuffer.Height

public uint Height { get; }

Obtiene la altura de la imagen en píxeles.

Valor de propiedad

Altura de la imagen en píxeles.

Constructor de Microsoft.Windows.Imaging.ImageBuffer.#ctor(Windows.Storage.Streams.IBuffer, Microsoft.Windows.Imaging.PixelFormat, System.UInt32, System.UInt32)

public ImageBuffer (Windows.Storage.Streams.IBuffer buffer, 
Microsoft.Windows.Imaging.PixelFormat pixelFormat, uint width, uint height);

Inicializa una nueva instancia de la clase ImageBuffer.

Parámetros
buffer

Clase ImageBuffer.

pixelFormat

Formato de píxeles de la imagen.

width

Anchura de la imagen en píxeles.

alto

Altura de la imagen en píxeles.

Propiedad de Microsoft.Windows.Imaging.ImageBuffer.PixelFormat

public Microsoft.Windows.Imaging.PixelFormat PixelFormat { get; }

Obtiene el formato de píxeles de la imagen.

Valor de propiedad

Formato de píxeles de la imagen.

Propiedad de Microsoft.Windows.Imaging.ImageBuffer.Width

public uint Width { get; }

Obtiene la anchura de la imagen en píxeles.

Valor de propiedad

Anchura de la imagen en píxeles.

Enumeración de Microsoft.Windows.Imaging.PixelFormat

public enum PixelFormat

Especifica los tipos de diseños binarios de los datos de mapa de bits subyacentes.

Campos de enumeración

Sin definir: 0

El formato binario no está definido.

Rgb24: 1

Especifica que el formato binario es de 24 bits por píxel, de los cuales se usan 8 bits para cada uno de los componentes rojo, verde y azul.

Argb32: 2

Especifica que el formato binario es de 32 bits por píxel, de los cuales se usan 8 bits para cada uno de los componentes alfa rojo, verde y azul.

Rgba32: 3

Especifica que el formato binario es de 32 bits por píxel, de los cuales se usan 8 bits para cada uno de los componentes rojo, verde, azul y alfa. Los componentes de color se almacenan en orden rojo, verde, azul y alfa.

Bgra32: 4

Especifica que el formato binario es de 32 bits por píxel, de los cuales se usan 8 bits para cada uno de los componentes azul, verde, rojo y alfa. Los componentes de color se almacenan en orden azul, verde, rojo y alfa.

Gris8: 5

El formato binario es de 16 bits por píxel. La información de color especifica 65536 tonos de gris.