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.
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.