interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsinterleave_channels (Operator)

Name

interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsinterleave_channels — Erzeugen eines verschachtelten Bildes aus einem Mehrkanalbild.

Signatur

interleave_channels(MultichannelImage : InterleavedImage : PixelFormat, RowBytes, Alpha : )

Herror interleave_channels(const Hobject MultichannelImage, Hobject* InterleavedImage, const char* PixelFormat, const char* RowBytes, const Hlong Alpha)

Herror T_interleave_channels(const Hobject MultichannelImage, Hobject* InterleavedImage, const Htuple PixelFormat, const Htuple RowBytes, const Htuple Alpha)

void InterleaveChannels(const HObject& MultichannelImage, HObject* InterleavedImage, const HTuple& PixelFormat, const HTuple& RowBytes, const HTuple& Alpha)

HImage HImage::InterleaveChannels(const HString& PixelFormat, const HTuple& RowBytes, Hlong Alpha) const

HImage HImage::InterleaveChannels(const HString& PixelFormat, const HString& RowBytes, Hlong Alpha) const

HImage HImage::InterleaveChannels(const char* PixelFormat, const char* RowBytes, Hlong Alpha) const

HImage HImage::InterleaveChannels(const wchar_t* PixelFormat, const wchar_t* RowBytes, Hlong Alpha) const   (Nur Windows)

static void HOperatorSet.InterleaveChannels(HObject multichannelImage, out HObject interleavedImage, HTuple pixelFormat, HTuple rowBytes, HTuple alpha)

HImage HImage.InterleaveChannels(string pixelFormat, HTuple rowBytes, int alpha)

HImage HImage.InterleaveChannels(string pixelFormat, string rowBytes, int alpha)

def interleave_channels(multichannel_image: HObject, pixel_format: str, row_bytes: Union[str, int], alpha: int) -> HObject

Beschreibung

Der Operator interleave_channelsinterleave_channelsInterleaveChannelsInterleaveChannelsInterleaveChannelsinterleave_channels erzeugt das verschachtelte Bild InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image aus dem drei- oder vierkanaligen MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image. Das ist hilfreich um ein Farbbild für die Darstellung vorzubereiten, z.B. um es in ein .NET Bitmap zu konvertieren.

Pixelformat

Das Format der Pixel von InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image wird mit PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format festgelegt. Mögliche Formate sind 'rgb'"rgb""rgb""rgb""rgb""rgb", 'rgba'"rgba""rgba""rgba""rgba""rgba", 'argb'"argb""argb""argb""argb""argb", 'bgr'"bgr""bgr""bgr""bgr""bgr", 'bgra'"bgra""bgra""bgra""bgra""bgra" und 'abgr'"abgr""abgr""abgr""abgr""abgr", wobei 'a' für den vierten ('Alpha') Kanal steht. Im Gegensatz zu gen_image_interleavedgen_image_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleavedgen_image_interleaved wird dabei LittleEndian als Byteordnung angenommen.

Alphakanal

Der Alphakanal wird auf folgende Art und Weise bestimmt:
Kanäle Domäne
3 nicht vorhanden/voll Der Wert von AlphaAlphaAlphaAlphaalphaalpha wird für das gesamte Bild verwendet.
3 eingeschränkt Innerhalb der Domäne: Alpha wird auf AlphaAlphaAlphaAlphaalphaalpha gesetzt. Außerhalb der Domäne: Alpha wird auf Null gesetzt.
4 Alpha wird auf den entsprechenden Wert des vierten Kanals gesetzt, Domäne und AlphaAlphaAlphaAlphaalphaalpha werden ignoriert.

Zeilenausrichtung

Die Anzahl der Bytes zwischen dem Anfang von zwei Zeilen im Ausgabebild kann mit RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes bestimmt werden. So können zum Beispiel Ausrichtungskriterien erfüllt werden. Werden keine Füllbytes benötigt, kann RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes auf 'match'"match""match""match""match""match" gesetzt werden. RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes muss mindestens so groß sein wie die Anzahl der Bytes in PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format mal der Breite von MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image.

Ausführungsinformationen

Parameter

MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image (input_object)  multichannel-image objectHImageHObjectHImageHobject (byte)

Mehrkanaliges Eingabebild.

InterleavedImageInterleavedImageInterleavedImageInterleavedImageinterleavedImageinterleaved_image (output_object)  singlechannelimage objectHImageHObjectHImageHobject * (byte)

Verschränktes Ausgabebild.

PixelFormatPixelFormatPixelFormatPixelFormatpixelFormatpixel_format (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Zielformat für InterleavedImage.

Defaultwert: 'rgba' "rgba" "rgba" "rgba" "rgba" "rgba"

Werteliste: 'abgr'"abgr""abgr""abgr""abgr""abgr", 'argb'"argb""argb""argb""argb""argb", 'bgr'"bgr""bgr""bgr""bgr""bgr", 'bgra'"bgra""bgra""bgra""bgra""bgra", 'rgb'"rgb""rgb""rgb""rgb""rgb", 'rgba'"rgba""rgba""rgba""rgba""rgba"

RowBytesRowBytesRowBytesRowBytesrowBytesrow_bytes (input_control)  integer HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Anzahl der Bytes in einer Zeile von InterleavedImage.

Defaultwert: 'match' "match" "match" "match" "match" "match"

Wertevorschläge: 'match'"match""match""match""match""match"

AlphaAlphaAlphaAlphaalphaalpha (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Alphawert für dreikanalige Eingabebilder.

Defaultwert: 255

Wertevorschläge: 255, 0

Beispiel (C#)

  HTuple type, width, height;
  HImage patras = new HImage("patras");

  HImage interleaved = patras.InterleaveChannels("argb", "match", 255);
  IntPtr ptr = interleaved.GetImagePointer1(out type, out width, out height);
          
  Image img = new Bitmap(width/4, height, width,
                         PixelFormat.Format32bppArgb, ptr);

  pictureBox.Image = img;

Siehe auch

gen_image_interleavedgen_image_interleavedGenImageInterleavedGenImageInterleavedGenImageInterleavedgen_image_interleaved

Modul

Foundation