Class ImageLetterBox
- Namespace
- NT2I.ONNX.DataHandling.Cpu.Features
- Assembly
- NT2I.ONNX.DataHandling.Cpu.dll
Contient des méthodes pour appliquer des transformations LetterBox sur des images. Ces transformations incluent le redimensionnement et l'ajout de bordures pour adapter les images à des dimensions spécifiques.
public static class ImageLetterBox
- Inheritance
-
ImageLetterBox
- Inherited Members
Methods
ApplyLetterbox(ReadOnlySpan<byte>, Span<byte>, int, int, int, LetterboxInfo, byte)
Applique une transformation LetterBox à une image monocanal en utilisant une géométrie pré-calculée. Minimise les allocations mémoire en utilisant ArrayPool.
public static void ApplyLetterbox(ReadOnlySpan<byte> input, Span<byte> output, int inW, int inH, int outW, LetterboxInfo info, byte fillValue = 0)
Parameters
inputReadOnlySpan<byte>Buffer source contenant les données de l'image d'entrée.
outputSpan<byte>Buffer destination où écrire les données de l'image transformée.
inWintLargeur de l'image source.
inHintHauteur de l'image source.
outWintLargeur de l'image de destination.
infoLetterboxInfoInformations géométriques calculées pour l'opération de LetterBox.
fillValuebyteValeur utilisée pour remplir les bordures.
CalculateLetterboxGeometry(int, int, int, int)
Calcule la géométrie nécessaire pour une opération de LetterBox. Cette méthode est rapide et n'alloue pas de mémoire.
public static LetterboxInfo CalculateLetterboxGeometry(int inW, int inH, int outW, int outH)
Parameters
inWintLargeur de l'image source.
inHintHauteur de l'image source.
outWintLargeur de l'image de destination.
outHintHauteur de l'image de destination.
Returns
- LetterboxInfo
Un objet LetterboxInfo contenant les dimensions redimensionnées et les décalages.
GetRatioAndOffsetLetterBox(int, int, int, int)
Calcule le ratio et les décalages nécessaires pour une opération de LetterBox.
public static (float ratio, int offX, int offY) GetRatioAndOffsetLetterBox(int inW, int inH, int outW, int outH)
Parameters
inWintLargeur de l'image source.
inHintHauteur de l'image source.
outWintLargeur de l'image de destination.
outHintHauteur de l'image de destination.
Returns
LetterBox(byte[], int, int, int, int, byte)
Applique une transformation LetterBox à une image monocanal. Cette méthode redimensionne l'image et ajoute des bordures pour l'adapter aux dimensions de sortie.
public static byte[] LetterBox(byte[] image, int inW, int inH, int outW, int outH, byte fillValue = 0)
Parameters
imagebyte[]Image source en entrée.
inWintLargeur de l'image source.
inHintHauteur de l'image source.
outWintLargeur de l'image de destination.
outHintHauteur de l'image de destination.
fillValuebyteValeur de remplissage pour les bordures.
Returns
- byte[]
Image après transformation LetterBox.
LetterBoxRGBPacked(byte[], int, int, int, int, byte, byte, byte)
Applique une transformation LetterBox à une image RGB entrelacée. Cette méthode redimensionne chaque canal (R, G, B) séparément et les combine ensuite.
public static byte[] LetterBoxRGBPacked(byte[] packedImgInput, int inW, int inH, int outW, int outH, byte fillValueR = 0, byte fillValueG = 0, byte fillValueB = 0)
Parameters
packedImgInputbyte[]Image RGB entrelacée en entrée.
inWintLargeur de l'image source.
inHintHauteur de l'image source.
outWintLargeur de l'image de destination.
outHintHauteur de l'image de destination.
fillValueRbyteValeur de remplissage pour le canal rouge.
fillValueGbyteValeur de remplissage pour le canal vert.
fillValueBbyteValeur de remplissage pour le canal bleu.
Returns
- byte[]
Image RGB entrelacée après transformation LetterBox.
Put(ReadOnlySpan<byte>, Span<byte>, int, int, int, int, int)
Copie une image source dans une image de destination à une position donnée.
public static void Put(ReadOnlySpan<byte> source, Span<byte> destination, int srcW, int srcH, int dstX, int dstY, int dstStride)
Parameters
sourceReadOnlySpan<byte>Buffer source contenant les données de l'image d'entrée.
destinationSpan<byte>Buffer destination où écrire les données de l'image copiée.
srcWintLargeur de l'image source.
srcHintHauteur de l'image source.
dstXintCoordonnée X où insérer l'image source dans la destination.
dstYintCoordonnée Y où insérer l'image source dans la destination.
dstStrideintLargeur de l'image de destination.