Compartilhar via


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.