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

input ReadOnlySpan<byte>

Buffer source contenant les données de l'image d'entrée.

output Span<byte>

Buffer destination où écrire les données de l'image transformée.

inW int

Largeur de l'image source.

inH int

Hauteur de l'image source.

outW int

Largeur de l'image de destination.

info LetterboxInfo

Informations géométriques calculées pour l'opération de LetterBox.

fillValue byte

Valeur 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

inW int

Largeur de l'image source.

inH int

Hauteur de l'image source.

outW int

Largeur de l'image de destination.

outH int

Hauteur 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

inW int

Largeur de l'image source.

inH int

Hauteur de l'image source.

outW int

Largeur de l'image de destination.

outH int

Hauteur de l'image de destination.

Returns

(float ratio, int offX, int offY)

Un tuple contenant le ratio, le décalage X et le décalage Y.

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

image byte[]

Image source en entrée.

inW int

Largeur de l'image source.

inH int

Hauteur de l'image source.

outW int

Largeur de l'image de destination.

outH int

Hauteur de l'image de destination.

fillValue byte

Valeur 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

packedImgInput byte[]

Image RGB entrelacée en entrée.

inW int

Largeur de l'image source.

inH int

Hauteur de l'image source.

outW int

Largeur de l'image de destination.

outH int

Hauteur de l'image de destination.

fillValueR byte

Valeur de remplissage pour le canal rouge.

fillValueG byte

Valeur de remplissage pour le canal vert.

fillValueB byte

Valeur 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

source ReadOnlySpan<byte>

Buffer source contenant les données de l'image d'entrée.

destination Span<byte>

Buffer destination où écrire les données de l'image copiée.

srcW int

Largeur de l'image source.

srcH int

Hauteur de l'image source.

dstX int

Coordonnée X où insérer l'image source dans la destination.

dstY int

Coordonnée Y où insérer l'image source dans la destination.

dstStride int

Largeur de l'image de destination.