Referência da API para imagem por IA no SDK de Aplicativo do Windows
Importante
Disponível na versão de lançamento mais recente do canal experimental do SDK do Aplicativo do Windows.
O canal experimental do SDK do Aplicativo do Windows inclui APIs e recursos em estágios iniciais de desenvolvimento. Todas as APIs no canal experimental estão sujeitas a extensas revisões e alterações interruptivas, podendo ser removidas de versões subsequentes a qualquer momento. Não há suporte para recursos experimentais para uso em ambientes de produção e aplicativos que os usam não podem ser publicados na Microsoft Store.
- Os recursos de imagem não estão disponíveis na China.
- Não há suporte para aplicativos autônomos.
Saiba mais sobre as APIs de imagens do SDK de Aplicativos do Windows, com base em inteligência artificial (IA), que dão suporte aos seguintes recursos:
- Super-Resolução de Imagem: ampliação e nitidez de imagens
- Descrição da Imagem: produzindo texto que descreve a imagem
- Segmentação de Imagem: identificando objetos em uma imagem
Para obter mais detalhes, consulte Introdução à imagem de IA no SDK do Aplicativo Windows.
Dica
Forneça feedback sobre essas APIs e suas funcionalidades criando um novo problema no repositório GitHub do SDK do Aplicativo Windows (inclua Criação de Imagens no título) ou respondendo a um problema existente.
Namespace Microsoft.Graphics.Imaging
Fornece APIs para modelos de aprendizado de máquina que dimensionam e aprimoram imagens.
Classe ImageBuffer
public sealed class ImageBuffer : System.IDisposable
Representa um bitmap não compactado para empacotamento eficiente entre processos.
Comentários
O ImageBuffer pode ser usado com APIs de modelo de IA, como TextRecognizer, que exigem dados de imagem. O uso típico envolve a criação de um ImageBuffer de um SoftwareBitmap existente.
Propriedade ImageBuffer.Buffer
public Windows.Storage.Streams.IBuffer Buffer { get; }
Obtém o buffer de imagem atual.
Valor da propriedade
O buffer de imagem atual.
Propriedade ImageBuffer.BufferLength
public uint BufferLength { get; }
Obtém o comprimento do buffer de imagem.
Valor da propriedade
O comprimento do buffer de imagem.
Método ImageBuffer.Close
// This member is not implemented in C#
Descarta o objeto e os recursos associados.
Comentários
Não implementado em C#.
Método ImageBuffer.CopyToBuffer(System.Byte[])
public void CopyToBuffer (byte[] values);
Copia o buffer atual para o buffer de destino fornecido.
Parâmetros
valores
Comprimento do buffer em bytes.
Método ImageBuffer.CreateBufferAttachedToBitmap(Windows.Graphics.Imaging.SoftwareBitmap)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateBufferAttachedToBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Crie um novo ImageBuffer de um SotftwareBitmap existente obtendo um IMemoryBufferReference do objeto bitmap.
Parâmetros
softwareBitmap
O SotftwareBitmap para criar o ImageBuffer de.
Retornos
O ImageBuffer ou nulo se for um formato sem suporte.
Comentários
O SoftwareBitmap é bloqueado até que a operação assíncrona seja concluída e o novo ImageBuffer seja destruído.
Método ImageBuffer.CreateCopyFromBitmap(Windows.Graphics.Imaging.SoftwareBitmap)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateCopyFromBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Crie um novo ImageBuffer a partir de um SotftwareBitmap existente copiando os dados de bitmap subjacentes.
Parâmetros
softwareBitmap
O SotftwareBitmap para criar o ImageBuffer de.
Retornos
O ImageBuffer ou nulo se for um formato sem suporte.
Comentários
O SoftwareBitmap é bloqueado até que a operação assíncrona seja concluída e o novo ImageBuffer seja destruído.
Método ImageBuffer.CreateFromBuffer(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateFromBuffer (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height);
Parâmetros
Buffer
pixelFormat
width
altura
Retornos
Método ImageBuffer.CreateFromBufferWithStride(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32,System.UInt32)
public static Microsoft.Graphics.Imaging.ImageBuffer CreateFromBufferWithStride (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height, uint stride);
Parâmetros
Buffer
pixelFormat
width
altura
stride
Retornos
Método ImageBuffer.CreateSoftwareBitmap
public Windows.Graphics.Imaging.SoftwareBitmap CreateSoftwareBitmap ();
Crie um novo SoftwareBitmap do tipo de pixel BGRA32 a partir dos dados de pixel armazenados em um ImageBuffer.
Retornos
O novo SoftwareBitmap do tipo de pixel BGRA32.
Propriedade ImageBuffer.Height
public uint Height { get; }
Obtém a altura da imagem, em pixels.
Valor da propriedade
A altura da imagem, em pixels.
Construtor ImageBuffer.#ctor(Windows.Storage.Streams.IBuffer,Microsoft.Graphics.Imaging.PixelFormat,System.UInt32,System.UInt32)
public ImageBuffer (Windows.Storage.Streams.IBuffer buffer, Microsoft.Graphics.Imaging.PixelFormat pixelFormat, uint width, uint height);
Inicializa uma nova instância da classe ImageBuffer.
Parâmetros
Buffer
O ImageBuffer.
pixelFormat
O formato de pixel da imagem.
width
A largura da imagem, em pixels.
altura
A altura da imagem, em pixels.
Propriedade ImageBuffer.PixelFormat
public Microsoft.Graphics.Imaging.PixelFormat PixelFormat { get; }
Obtém o formato de pixel da imagem.
Valor da propriedade
O formato de pixel da imagem.
Propriedade ImageBuffer.Width
public uint Width { get; }
Obtém a largura da imagem, em pixels.
Valor da propriedade
A largura da imagem, em pixels.
Classe ImageObjectExtractor
public sealed class ImageObjectExtractor : System.IDisposable
Método ImageObjectExtractor.Close
// This member is not implemented in C#
Comentários
Não implementado em C#.
Método ImageObjectExtractor.CreateWithImageBufferAsync(Microsoft.Graphics.Imaging.ImageBuffer)
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithImageBufferAsync (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer);
Parâmetros
imageBuffer
Retornos
Método ImageObjectExtractor.CreateWithSoftwareBitmapAsync(Windows.Graphics.Imaging.SoftwareBitmap)
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithSoftwareBitmapAsync (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Parâmetros
softwareBitmap
Retornos
Método ImageObjectExtractor.GetImageBufferObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)
public Microsoft.Graphics.Imaging.ImageBuffer GetImageBufferObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parâmetros
hint
Retornos
Método ImageObjectExtractor.GetSoftwareBitmapObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)
public Windows.Graphics.Imaging.SoftwareBitmap GetSoftwareBitmapObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parâmetros
hint
Retornos
Método ImageObjectExtractor.IsAvailable
public static bool IsAvailable ();
Retornos
Método ImageObjectExtractor.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Retornos
Classe ImageObjectExtractorHint
public sealed class ImageObjectExtractorHint
Propriedade ImageObjectExtractorHint.ExcludePoints
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> ExcludePoints { get; }
Valor da propriedade
Construtor ImageObjectExtractorHint.#ctor(Windows.Foundation.Collections.IVector{Windows.Graphics.RectInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32})
public ImageObjectExtractorHint (System.Collections.Generic.IList<Windows.Graphics.RectInt32> includeRects, System.Collections.Generic.IList<Windows.Graphics.PointInt32> includePoints, System.Collections.Generic.IList<Windows.Graphics.PointInt32> excludePoints);
Parâmetros
includeRects
includePoints
excludePoints
Propriedade ImageObjectExtractorHint.IncludePoints
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> IncludePoints { get; }
Valor da propriedade
Propriedade ImageObjectExtractorHint.IncludeRects
public System.Collections.Generic.IReadOnlyList<Windows.Graphics.RectInt32> IncludeRects { get; }
Valor da propriedade
Classe ImageScaler
public sealed class ImageScaler : System.IDisposable
Método "ImageScaler.Close"
// This member is not implemented in C#
Comentários
Não implementado em C#.
Método ImageScaler.CreateAsync
public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageScaler> CreateAsync ();
Retornos
Método ImageScaler.IsAvailable
public static bool IsAvailable ();
Retornos
Método ImageScaler.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Retornos
Propriedade ImageScaler.MaxSupportedScaleFactor
public int MaxSupportedScaleFactor { get; }
Valor da propriedade
Método ImageScaler.ScaleImageBuffer(Microsoft.Graphics.Imaging.ImageBuffer,System.Int32,System.Int32)
public Microsoft.Graphics.Imaging.ImageBuffer ScaleImageBuffer (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer, int width, int height);
Parâmetros
imageBuffer
width
altura
Retornos
Método ImageScaler.ScaleSoftwareBitmap(Windows.Graphics.Imaging.SoftwareBitmap,System.Int32,System.Int32)
public Windows.Graphics.Imaging.SoftwareBitmap ScaleSoftwareBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap, int width, int height);
Parâmetros
softwareBitmap
width
altura
Retornos
Enumeração PixelFormat
public enum PixelFormat
Especifica os tipos de layouts binários para os dados de bitmap subjacentes.
Campos enum
Indefinido: 0
O formato binário é indefinido.
Rgb24: 1
O formato binário é de 24 bits por pixel; Cada um dos 8 bits é usado para os componentes vermelho, verde e azul.
Argb32: 2
O formato binário de 32 bits por pixel; Cada um dos 8 bits é usado para os componentes alfa, vermelho, verde e azul.
Rgba32: 3
O formato binário é de 32 bits por pixel; Cada um dos 8 bits é usado para os componentes vermelho, verde, azul e alfa. Os componentes de cor são armazenados em vermelho, verde, azul e ordem alfa.
Bgra32: 4
O formato binário é de 32 bits por pixel; Cada um dos 8 bits é usado para os componentes azul, verde, vermelho e alfa. Os componentes de cor são armazenados em azul, verde, vermelho e ordem alfa.
Gray8: 5
O formato binário é de 16 bits por pixel. As informações de cor especificam 65536 tons de cinza.