Interface ISharedImageContextFactory
- Namespace
- NT2I.ONNX.Abstractions.Interfaces.Hub
- Assembly
- NT2I.ONNX.Abstractions.dll
Fabrique des ISharedImageContext.
Permet à SharedImageCoordinator d'être agnostique du périphérique cible : la même
API publique coord.CreateContext(...) produit un CpuSharedImageContext ou un
CudaSharedImageContext en fonction de la factory injectée.
Implémentations connues :
CpuSharedImageContextFactory(par défaut, projetNT2I.ONNX.Hub).CudaSharedImageContextFactory(projetNT2I.ONNX.Hub.Cuda).
public interface ISharedImageContextFactory
Properties
Device
Périphérique cible des contextes produits par cette factory (CPU, GPU, …).
DataHandlingDeviceEnum Device { get; }
Property Value
Methods
Create(byte[], int, int)
Crée un contexte mono-image à partir d'une image BGR entrelacée.
ISharedImageContext Create(byte[] bgrPackedImage, int width, int height)
Parameters
bgrPackedImagebyte[]Image BGR packed (B0 G0 R0 B1 G1 R1 …).
widthintLargeur en pixels.
heightintHauteur en pixels.
Returns
- ISharedImageContext
Un ISharedImageContext à disposer par l'appelant.
Exceptions
- ArgumentNullException
Si
bgrPackedImageestnull.
Create(byte[][], int[], int[])
Crée un contexte multi-image (batch) à partir de N images BGR de tailles potentiellement hétérogènes.
ISharedImageContext Create(byte[][] bgrPackedImages, int[] widths, int[] heights)
Parameters
bgrPackedImagesbyte[][]Tableau de N images BGR packed.
widthsint[]Largeurs des N images (longueur N).
heightsint[]Hauteurs des N images (longueur N).
Returns
- ISharedImageContext
Un ISharedImageContext à disposer par l'appelant.
Exceptions
- ArgumentNullException
Si l'un des arguments est
null.- ArgumentException
Si les tableaux n'ont pas tous la même longueur, ou si N=0.