Partager via


Référence d’API pour les fonctionnalités d’acquisition d’images IA dans le Kit de développement logiciel (SDK) d’application Windows

Conseil

Fournissez des commentaires sur ces API et leurs fonctionnalités en créant un nouveau problème dans le dépôt GitHub du SDK d’application Windows. (Assurez-vous d’inclure l’imagerie dans le titre !)

Découvrez les API du Kit de développement logiciel (SDK) d’application Windows, soutenues par l’intelligence artificielle (IA), qui peuvent mettre à l’échelle et affiner les images (Résolution super d’image) et identifier les objets au sein d’une image (segmentation d’image).

Pour plus d’informations, consultez Prise en main de l’imagerie IA dans le Kit de développement logiciel (SDK) d’application Windows.

Important

Cette fonctionnalité n’est pas encore disponible. Il devrait être fourni dans une prochaine version de canal expérimental du Kit de développement logiciel (SDK) d’application Windows.

Le canal expérimental du SDK d’application Windows comprend des API et des fonctionnalités qui en sont aux premières phases de développement. Toutes les API du canal expérimental font l’objet de révisions approfondies et de changements cassants et peuvent être supprimées des versions ultérieures à tout moment. Elles ne sont pas prises en charge dans les environnements de production et les applications qui utilisent des fonctionnalités expérimentales ne peuvent pas être publiées dans Microsoft Store.


Espace de noms Microsoft.Graphics.Imaging

Fournit des API pour les modèles Machine Learning qui scale-and-sharpen images.

Classe ImageBuffer

public sealed class ImageBuffer : System.IDisposable

Représente une bitmap non compressée pour un marshaling interprocesseur efficace.

Remarques

ImageBuffer peut être utilisé avec des API de modèle IA telles que TextRecognizer qui nécessitent des données d’image. L’utilisation classique implique la création d’un ImageBuffer à partir d’un SoftwareBitmap existant.

ImageBuffer.Buffer property

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

Obtient le tampon d'image actuel.

Valeur de propriété

La mémoire tampon de l'image actuelle.

Propriété ImageBuffer.BufferLength

public uint BufferLength { get; }

Obtient la longueur de la mémoire tampon d’image.

Valeur de propriété

Longueur de la mémoire tampon d’image.

Méthode ImageBuffer.Close

// This member is not implemented in C#

Supprime l’objet et les ressources associées.

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

public void CopyToBuffer (byte[] values);

Copie la mémoire tampon actuelle dans la mémoire tampon cible fournie.

Paramètres
Valeurs

Vecteur d'octets dans le tampon.

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

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

Créer un nouveau ImageBuffer à partir d'un SotftwareBitmap existant en obtenant une IMemoryBufferReference de l'objet bitmap.

Paramètres
softwareBitmap

Le SotftwareBitmap à partir duquel le ImageBuffer est créé.

Retours

ImageBuffer ou null s’il s’agit d’un format non pris en charge.

Remarques

SoftwareBitmap est verrouillé jusqu’à ce que l’opération asynchrone se termine et que le nouveau ImageBuffer soit détruit.

Méthode ImageBuffer.CreateCopyFromBitmap(Windows.Graphics.Imaging.SoftwareBitmap)

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

Créez une imageBuffer à partir d’un SotftwareBitmap existant en copiant les données bitmap sous-jacentes.

Paramètres
softwareBitmap

Le SotftwareBitmap à partir duquel le ImageBuffer est créé.

Retours

ImageBuffer ou null s’il s’agit d’un format non pris en charge.

Remarques

SoftwareBitmap est verrouillé jusqu’à ce que l’opération asynchrone se termine et que le nouveau ImageBuffer soit détruit.

Méthode 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);
Paramètres
buffer
pixelFormat
largeur
hauteur
Retours

Méthode 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);
Paramètres
buffer
pixelFormat
largeur
hauteur
stride
Retours

Méthode ImageBuffer.CreateSoftwareBitmap

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

Créez un SoftwareBitmap de type pixel BGRA32 à partir des données de pixel stockées dans un ImageBuffer.

Retour

Le nouveau SoftwareBitmap de type BGRA32.

ImageBuffer.Height property

public uint Height { get; }

Obtient la hauteur de l’image, en pixels.

Valeur de propriété

Hauteur de l’image, en pixels.

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

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

Initialise une nouvelle instance de la classe ImageBuffer.

Paramètres
buffer

The ImageBuffer.

pixelFormat

Format de pixel de l’image.

largeur

Largeur de l’image, en pixels.

hauteur

Hauteur de l’image, en pixels.

Propriété ImageBuffer.PixelFormat

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

Obtient le format de pixel de l’image.

Valeur de propriété

Format de pixel de l’image.

Propriété ImageBuffer.Width

public uint Width { get; }

Obtient la largeur de l’image, en pixels.

Valeur de propriété

Largeur de l’image, en pixels.

Classe ImageObjectExtractor

public sealed class ImageObjectExtractor : System.IDisposable

Méthode ImageObjectExtractor.Close

// This member is not implemented in C#

Méthode ImageObjectExtractor.CreateWithImageBufferAsync(Microsoft.Graphics.Imaging.ImageBuffer)

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithImageBufferAsync (Microsoft.Graphics.Imaging.ImageBuffer imageBuffer);
Paramètres
imageBuffer
Retour

Méthode ImageObjectExtractor.CreateWithSoftwareBitmapAsync(Windows.Graphics.Imaging.SoftwareBitmap)

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectExtractor> CreateWithSoftwareBitmapAsync (Windows.Graphics.Imaging.SoftwareBitmap softwareBitmap);
Paramètres
logicielBitmap
Retours

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

public Microsoft.Graphics.Imaging.ImageBuffer GetImageBufferObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Paramètres
hint
Retours

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

public Windows.Graphics.Imaging.SoftwareBitmap GetSoftwareBitmapObjectMask (Microsoft.Graphics.Imaging.ImageObjectExtractorHint hint);
Paramètres
hint
Retours

Méthode ImageObjectExtractor.IsAvailable

public static bool IsAvailable ();
Retours

Méthode ImageObjectExtractor.MakeAvailableAsync

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

Classe ImageObjectExtractorHint

public sealed class ImageObjectExtractorHint

propriété ImageObjectExtractorHint.ExcludePoints

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> ExcludePoints { get; }
Valeur de propriété

ImageObjectExtractorHint.#ctor(Windows.Foundation.Collections.IVector{Windows.Graphics.RectInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32},Windows.Foundation.Collections.IVector{Windows.Graphics.PointInt32}) constructor

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);
Paramètres
includeRects
includePoints
excludePoints

Propriété ImageObjectExtractorHint.IncludePoints

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.PointInt32> IncludePoints { get; }
Valeur de propriété

Propriété ImageObjectExtractorHint.IncludeRects

public System.Collections.Generic.IReadOnlyList<Windows.Graphics.RectInt32> IncludeRects { get; }
Valeur de propriété

Classe ImageObjectRemover

public sealed class ImageObjectRemover : System.IDisposable

Méthode ImageObjectRemover.Close

// This member is not implemented in C#

Méthode ImageObjectRemover.CreateAsync

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageObjectRemover> CreateAsync ();
Retours

Méthode ImageObjectRemover.IsAvailable

public static bool IsAvailable ();
Retours

Méthode ImageObjectRemover.MakeAvailableAsync

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

Méthode 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);
Paramètres
imageBuffer
imageBufferMask
Retours

Méthode 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);
Paramètres
softwareBitmap
softwareBitmapMask
Retours

Classe ImageScaler

public sealed class ImageScaler : System.IDisposable

Méthode ImageScaler.Close

// This member is not implemented in C#

Méthode ImageScaler.CreateAsync

public static Windows.Foundation.IAsyncOperation<Microsoft.Graphics.Imaging.ImageScaler> CreateAsync ();
Retours

Méthode ImageScaler.IsAvailable

public static bool IsAvailable ();
Retours

Méthode ImageScaler.MakeAvailableAsync

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

Propriété ImageScaler.MaxSupportedScaleFactor

public int MaxSupportedScaleFactor { get; }
Valeur de propriété

Méthode 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);
Paramètres
imageBuffer
largeur
hauteur
Retours

Méthode 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);
Paramètres
softwareBitmap
largeur
hauteur
Retours

PixelFormat enum

public enum PixelFormat

Spécifie les types de dispositions binaires pour les données bitmap sous-jacentes.

Champs d'énumération
Non défini : 0

Le format binaire n’est pas défini.

Rgb24 : 1

Le format binaire est de 24 bits par pixel ; 8 bits chacun sont utilisés pour les composants rouges, verts et bleus.

Argb32 : 2

Format binaire 32 bits par pixel ; 8 bits chacun sont utilisés pour les composants alpha, rouge, vert et bleu.

Rgba32 : 3

Le format binaire est de 32 bits par pixel ; 8 bits chacun sont utilisés pour les composants rouge, vert, bleu et alpha. Les composants de couleur sont stockés dans l’ordre rouge, vert, bleu et alpha.

Bgra32 : 4

Le format binaire est de 32 bits par pixel ; 8 bits chacun sont utilisés pour les composants bleu, vert, rouge et alpha. Les composants de couleur sont stockés dans l’ordre bleu, vert, rouge et alpha.

Gris8 : 5

Le format binaire est de 16 bits par pixel. Les informations de couleur spécifient 65536 nuances de gris.

SegmentationPoint struct

public struct SegmentationPoint
Champs
type
x
y

SegmentationPointType enum

public enum SegmentationPointType
Champs
Exclure : 0
Inclure : 1
HautGauche : 2
BasDroit : 3