Partilhar via


Referência da API para funcionalidades de imagem por IA no SDK de aplicações do Windows

Dica

Dê o seu feedback sobre estas APIs e a sua funcionalidade criando uma nova 'Issue' no repositório GitHub do Windows App SDK. (Certifique-se de incluir Imaging no título!)

Saiba mais sobre as APIs SDK de Aplicativos Windows, apoiadas por inteligência artificial (IA), que podem dimensionar e tornar mais nítidas imagens (Super Resolução de Imagem), bem como identificar objetos dentro de uma imagem (Segmentação de Imagem).

Para obter mais detalhes, consulte Introdução à criação de imagens de IA no SDK do Aplicativo Windows.

Importante

Esta funcionalidade ainda não está disponível. Espera-se que seja lançado num próximo lançamento no canal experimental do SDK de Aplicações do Windows.

O SDK de Aplicativos Windows canal experimental inclui APIs e recursos em estágios iniciais de desenvolvimento. Todas as APIs no canal experimental estão sujeitas a extensas revisões e mudanças disruptivas e podem ser eliminadas de versões subsequentes a qualquer momento. Eles não são suportados para uso em ambientes de produção e os aplicativos que usam recursos experimentais não podem ser publicados na Microsoft Store.


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 passagem eficiente entre processos.

Comentários

O ImageBuffer pode ser usado com APIs de modelo de IA, como o TextRecognizer, que exigem dados de imagem. O uso típico envolve a criação de um ImageBuffer a partir de um SoftwareBitmap existente.

Propriedade ImageBuffer.Buffer

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

Obtém o buffer de imagem atual.

Valor do imóvel

O buffer de imagem atual.

Propriedade ImageBuffer.BufferLength

public uint BufferLength { get; }

Obtém o comprimento do buffer de imagem.

Valor do imóvel

O comprimento do buffer de imagem.

Método ImageBuffer.Close

// This member is not implemented in C#

Elimina o objeto e os recursos associados.

Método ImageBuffer.CopyToBuffer(System.Byte[])

public void CopyToBuffer (byte[] values);

Copia o buffer atual para o buffer de destino fornecido.

Parâmetros
valores

Vetor de bytes no buffer.

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

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

Crie um novo ImageBuffer a partir de um SotftwareBitmap existente obtendo um IMemoryBufferReference do objeto bitmap.

Parâmetros
softwareBitmap

O SoftwareBitmap a partir do qual criar o ImageBuffer.

Devoluções

O ImageBuffer ou null 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 SoftwareBitmap a partir do qual o ImageBuffer será criado.

Devoluções

O ImageBuffer ou null 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
memória temporária
Formato de pixel
Largura
altura
Devoluções

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
memória temporária
pixelFormat
Largura
altura
passo largo
Devoluções

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.

Devoluções

O novo SoftwareBitmap do tipo de pixel BGRA32.

Propriedade ImageBuffer.Height

public uint Height { get; }

Obtém a altura da imagem, em pixels.

Valor do imóvel

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
memória intermédia

O ImageBuffer.

Formato de Pixel

O formato de pixel da imagem.

Largura

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 do imóvel

O formato de pixel da imagem.

Propriedade ImageBuffer.Width

public uint Width { get; }

Obtém a largura da imagem, em pixels.

Valor do imóvel

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#

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
Devoluções

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
Devoluções

Método ImageObjectExtractor.GetImageBufferObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)

public Microsoft.Graphics.Imaging.ImageBuffer GetImageBufferObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parâmetros
Dica
Devoluções

Método ImageObjectExtractor.GetSoftwareBitmapObjectMask(Microsoft.Graphics.Imaging.ImageObjectExtractorHint)

public Windows.Graphics.Imaging.SoftwareBitmap GetSoftwareBitmapObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Parâmetros
Dica
Devoluções

Método ImageObjectExtractor.IsAvailable

public static bool IsAvailable ();
Devoluções

Método ImageObjectExtractor.MakeAvailableAsync

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

ImageObjectExtractorHint class

public sealed class ImageObjectExtractorHint

ImageObjectExtractorHint.ExcludePoints propriedade

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> ExcludePoints { get; }
Valor do imóvel

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
incluirRects
incluirPontos
excluirPontos

Propriedade ImageObjectExtractorHint.IncludePoints

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> IncludePoints { get; }
Valor do imóvel

Propriedade ImageObjectExtractorHint.IncludeRects

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.RectInt32> IncludeRects { get; }
Valor do imóvel

Classe ImageObjectRemover

public sealed class ImageObjectRemover : System.IDisposable

Método ImageObjectRemover.Close

// This member is not implemented in C#

Método ImageObjectRemover.CreateAsync

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectRemover> CreateAsync ();
Devoluções

Método ImageObjectRemover.IsAvailable

public static bool IsAvailable ();
Devoluções

Método ImageObjectRemover.MakeAvailableAsync

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

Método ImageObjectRemover.RemoveFromImageBuffer(Microsoft.Graphics.Imaging.ImageBuffer,Microsoft.Graphics.Imaging.ImageBuffer)

public Microsoft.Graphics.Imaging.ImageBuffer RemoveFromImageBuffer (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer, Microsoft.Graphics.Imaging.ImageBuffer imageBufferMask);
Parâmetros
imageBuffer
imageBufferMask
Devoluções

Método ImageObjectRemover.RemoveFromSoftwareBitmap(Windows.Graphics.Imaging.SoftwareBitmap,Windows.Graphics.Imaging.SoftwareBitmap)

public Windows.Graphics.Imaging.SoftwareBitmap RemoveFromSoftwareBitmap (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap, Windows.Graphics.Imaging.SoftwareBitmap softwareBitmapMask);
Parâmetros
softwareBitmap
softwareBitmapMask
Devoluções

Classe ImageScaler

public sealed class ImageScaler : System.IDisposable

Método ImageScaler.Close

// This member is not implemented in C#

Método ImageScaler.CreateAsync

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageScaler> CreateAsync ();
Devoluções

Método ImageScaler.IsAvailable

public static bool IsAvailable ();
Devoluções

Método ImageScaler.MakeAvailableAsync

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

Propriedade ImageScaler.MaxSupportedScaleFactor

public int MaxSupportedScaleFactor { get; }
Valor do imóvel

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
Buffer de imagem
Largura
altura
Devoluções

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
Largura
altura
Devoluções

Enum PixelFormat

public enum PixelFormat

Especifica os tipos de layouts binários para os dados de bitmap subjacentes.

Campos de Enum
Indefinido: 0

O formato binário é indefinido.

Rgb24: 1

O formato binário é de 24 bits por pixel; 8 bits cada são usados para os componentes vermelho, verde e azul.

Argb32: 2

O formato binário é de 32 bits por pixel, 8 bits são usados para cada um dos componentes alfa, vermelho, verde e azul.

RGBA32: 3

O formato binário é de 32 bits por pixel; 8 bits cada são usados 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; 8 bits cada são usados para os componentes azul, verde, vermelho e alfa. Os componentes de cor são armazenados em azul, verde, vermelho e ordem alfa.

Cinzento8: 5

O formato binário é de 16 bits por pixel. As informações de cor especificam 65536 tons de cinza.

Estrutura do SegmentationPoint

public struct SegmentationPoint
Campos
tipo
x
y

Enumerador SegmentationPointType

public enum SegmentationPointType
Campos
Excluir: 0
Inclui: 1
Canto superior esquerdo: 2
Canto Inferior Direito: 3