Name
gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved — Erzeugen eines dreikanaligen Bildes aus einem Zeiger auf die verschränkten
Pixel.
gen_image_interleaved( : ImageRGB : PixelPointer, ColorFormat, OriginalWidth, OriginalHeight, Alignment, Type, ImageWidth, ImageHeight, StartRow, StartColumn, BitsPerChannel, BitShift : )
Herror gen_image_interleaved(Hobject* ImageRGB, const Hlong PixelPointer, const char* ColorFormat, const Hlong OriginalWidth, const Hlong OriginalHeight, const Hlong Alignment, const char* Type, const Hlong ImageWidth, const Hlong ImageHeight, const Hlong StartRow, const Hlong StartColumn, const Hlong BitsPerChannel, const Hlong BitShift)
Herror T_gen_image_interleaved(Hobject* ImageRGB, const Htuple PixelPointer, const Htuple ColorFormat, const Htuple OriginalWidth, const Htuple OriginalHeight, const Htuple Alignment, const Htuple Type, const Htuple ImageWidth, const Htuple ImageHeight, const Htuple StartRow, const Htuple StartColumn, const Htuple BitsPerChannel, const Htuple BitShift)
Herror gen_image_interleaved(Hobject* ImageRGB, const HTuple& PixelPointer, const HTuple& ColorFormat, const HTuple& OriginalWidth, const HTuple& OriginalHeight, const HTuple& Alignment, const HTuple& Type, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& BitsPerChannel, const HTuple& BitShift)
HImage HImage::GenImageInterleaved(const HTuple& PixelPointer, const HTuple& ColorFormat, const HTuple& OriginalWidth, const HTuple& OriginalHeight, const HTuple& Alignment, const HTuple& Type, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& BitsPerChannel, const HTuple& BitShift)
void GenImageInterleaved(HObject* ImageRGB, const HTuple& PixelPointer, const HTuple& ColorFormat, const HTuple& OriginalWidth, const HTuple& OriginalHeight, const HTuple& Alignment, const HTuple& Type, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& BitsPerChannel, const HTuple& BitShift)
void HImage::GenImageInterleaved(void* PixelPointer, const HString& ColorFormat, Hlong OriginalWidth, Hlong OriginalHeight, Hlong Alignment, const HString& Type, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, Hlong BitsPerChannel, Hlong BitShift)
void HImage::GenImageInterleaved(void* PixelPointer, const char* ColorFormat, Hlong OriginalWidth, Hlong OriginalHeight, Hlong Alignment, const char* Type, Hlong ImageWidth, Hlong ImageHeight, Hlong StartRow, Hlong StartColumn, Hlong BitsPerChannel, Hlong BitShift)
void HOperatorSetX.GenImageInterleaved(
[out] IHUntypedObjectX** ImageRGB, [in] VARIANT PixelPointer, [in] VARIANT ColorFormat, [in] VARIANT OriginalWidth, [in] VARIANT OriginalHeight, [in] VARIANT Alignment, [in] VARIANT Type, [in] VARIANT ImageWidth, [in] VARIANT ImageHeight, [in] VARIANT StartRow, [in] VARIANT StartColumn, [in] VARIANT BitsPerChannel, [in] VARIANT BitShift)
void HImageX.GenImageInterleaved(
[in] Hlong PixelPointer, [in] BSTR ColorFormat, [in] Hlong OriginalWidth, [in] Hlong OriginalHeight, [in] Hlong Alignment, [in] BSTR Type, [in] Hlong ImageWidth, [in] Hlong ImageHeight, [in] Hlong StartRow, [in] Hlong StartColumn, [in] Hlong BitsPerChannel, [in] Hlong BitShift)
static void HOperatorSet.GenImageInterleaved(out HObject imageRGB, HTuple pixelPointer, HTuple colorFormat, HTuple originalWidth, HTuple originalHeight, HTuple alignment, HTuple type, HTuple imageWidth, HTuple imageHeight, HTuple startRow, HTuple startColumn, HTuple bitsPerChannel, HTuple bitShift)
void HImage.GenImageInterleaved(IntPtr pixelPointer, string colorFormat, int originalWidth, int originalHeight, int alignment, string type, int imageWidth, int imageHeight, int startRow, int startColumn, int bitsPerChannel, int bitShift)
gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved erzeugt ein dreikanaliges Bild aus einem
Eingabebild, dessen Pixel in PixelPointerPixelPointerPixelPointerPixelPointerPixelPointerpixelPointer zeilensequentiell
abgelegt sind. Die Größe des Eingabebildes muss in OriginalWidthOriginalWidthOriginalWidthOriginalWidthOriginalWidthoriginalWidth und
OriginalHeightOriginalHeightOriginalHeightOriginalHeightOriginalHeightoriginalHeight übergeben werden, das Format der verschränkten Pixel
in ColorFormatColorFormatColorFormatColorFormatColorFormatcolorFormat.
Das Ausgabebild bekommt die Größe
ImageWidthImageWidthImageWidthImageWidthImageWidthimageWidth * ImageHeightImageHeightImageHeightImageHeightImageHeightimageHeight. In Verbindung
mit den Koordinaten der linken, oberen Ecke StartRowStartRowStartRowStartRowStartRowstartRow und
StartColumnStartColumnStartColumnStartColumnStartColumnstartColumn lässt sich jeder beliebige Ausschnitt innerhalb des
Eingabebildes erzeugen. Wird an ImageWidthImageWidthImageWidthImageWidthImageWidthimageWidth, ImageHeightImageHeightImageHeightImageHeightImageHeightimageHeight,
StartRowStartRowStartRowStartRowStartRowstartRow und StartColumnStartColumnStartColumnStartColumnStartColumnstartColumn jeweils 0 übergeben, so
erhält das Ausgabebild die gleichen Abmessungen wie das Eingabebild.
Es ist zu beachten, dass der Typ TypeTypeTypeTypeTypetype (siehe gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst)
des Ausgabebildes
ImageRGBImageRGBImageRGBImageRGBImageRGBimageRGB so gewählt sein muss, dass sich die Farbwerte aus dem
Eingabebild in ihrem vollen Umfang darstellen lassen. D.h.
gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved erlaubt es nicht, aus einem Eingabebild mit
'rgb48'"rgb48""rgb48""rgb48""rgb48""rgb48" Pixeln ein byte Bild zu erzeugen.
Wird bei den Formaten 'rgb48'"rgb48""rgb48""rgb48""rgb48""rgb48", 'bgr48'"bgr48""bgr48""bgr48""bgr48""bgr48", 'rgbx64'"rgbx64""rgbx64""rgbx64""rgbx64""rgbx64" und
'bgr64'"bgr64""bgr64""bgr64""bgr64""bgr64" nicht der volle Umfang von 16 Bit pro Pixel und Kanal
ausgeschöpft, so sollte in BitsPerChannelBitsPerChannelBitsPerChannelBitsPerChannelBitsPerChannelbitsPerChannel die tatsächlich
verwendete Anzahl von Bits übergeben werden. Außerdem können die Pixelwerte
aus dem Eingabebild noch um BitShiftBitShiftBitShiftBitShiftBitShiftbitShift Bits nach rechts geshiftet
werden.
Bei vierkanaligen Eingabebildern in den Formaten 'rgbx'"rgbx""rgbx""rgbx""rgbx""rgbx",
'bgrx'"bgrx""bgrx""bgrx""bgrx""bgrx", 'rgbx64'"rgbx64""rgbx64""rgbx64""rgbx64""rgbx64" und 'bgrx64'"bgrx64""bgrx64""bgrx64""bgrx64""bgrx64" wird der vierte Kanal
ignoriert.
Der Speicher für das neue Bild wird von HALCON neu angelegt.
Er kann also nach dem Aufruf freigegeben werden.
Wie ein Zeigerwert übergeben wird hängt von der benutzten Operatorsignatur
und der Programmierumgebung ab. Es ist sicherzustellen, dass die tatsächliche
Speicheradresse unter der die Bilddaten gespeichert sind übergeben wird und
nicht die Adresse der Zeigervariablen. Es ist darauf zu achten, dass
64-Bit-Zeiger auf 64-Bit-Architekturen nicht beschnitten werden.
Mögliche Werte für ColorFormatColorFormatColorFormatColorFormatColorFormatcolorFormat:
- 'rgb555':
-
16 Bit RGB-Tripel (5 Bit pro Pixel und Kanal), wobei das
Auffüllbit (X) das erste Bit ist. Das Bitmuster ist
XRRRRRGG|GGGBBBBB.
- 'bgr555':
-
16 Bit BGR-Tripel (5 Bit pro Pixel und Kanal), wobei das
Auffüllbit (X) das erste Bit ist. Das Bitmuster ist
XBBBBBGG|GGGRRRRR.
- 'rgb5551':
-
16 Bit RGB-Tripel (5 Bit pro Pixel und Kanal), wobei das
Auffüllbit (X) das letzte Bit ist. Das Bitmuster ist
RRRRRGGG|GGBBBBBX.
- 'bgr5551':
-
16 Bit BGR-Tripel (5 Bit pro Pixel und Kanal), wobei das
Auffüllbit (X) das letzte Bit ist. Das Bitmuster ist
BBBBBGGG|GGRRRRRX.
- 'rgb565':
-
16 Bit RGB-Tripel (5 Bit pro Pixel und Kanal, 6 Bit für den
Grünkanal). Das Bitmuster ist RRRRRGGG|GGGBBBBB.
- 'bgr565':
-
16 Bit BGR-Tripel (5 Bit pro Pixel und Kanal, 6 Bit für den
Grünkanal). Das Bitmuster ist BBBBBGGG|GGGRRRRR.
- 'rgb':
-
24 Bit RGB-Tripel (8 Bit pro Pixel und Kanal)
- 'bgr':
-
24 Bit BGR-Tripel (8 Bit pro Pixel und Kanal)
- 'rgbx':
-
32 Bit RGBX-Quadrupel (8 Bit pro Pixel und Kanal)
- 'bgrx':
-
32 Bit BGRX-Quadrupel (8 Bit pro Pixel und Kanal)
- 'rgb48':
-
48 Bit RGB-Tripel (16 Bit pro Pixel und Kanal)
- 'bgr48':
-
48 Bit BGR-Tripel (16 Bit pro Pixel und Kanal)
- 'rgbx64':
-
64 Bit RGBX-Quadrupel (16 Bit pro Pixel und Kanal)
- 'bgrx64':
-
64 Bit BGRX-Quadrupel (16 Bit pro Pixel und Kanal)
Die Parameterwerte 'rgb555'"rgb555""rgb555""rgb555""rgb555""rgb555", 'bgr555'"bgr555""bgr555""bgr555""bgr555""bgr555", 'rgb565'"rgb565""rgb565""rgb565""rgb565""rgb565",
'bgr565'"bgr565""bgr565""bgr565""bgr565""bgr565", 'rgb5551'"rgb5551""rgb5551""rgb5551""rgb5551""rgb5551" und 'bgr5551'"bgr5551""bgr5551""bgr5551""bgr5551""bgr5551" können zudem das Suffix
'le' (Little Endian: Niederwertiges Byte wird zuerst erwartet) oder - was
der Standard ist, falls das Suffix weggelassen wird - 'be' (Big Endian:
Höherwertiges Byte wird zuerst erwartet) erhalten. Zum Beispiel ist das
Bitmuster für
ColorFormatColorFormatColorFormatColorFormatColorFormatcolorFormat = 'rgb555'"rgb555""rgb555""rgb555""rgb555""rgb555" XRRRRRGG|GGGBBBBB, während das
Bitmuster für ColorFormatColorFormatColorFormatColorFormatColorFormatcolorFormat = 'rgb555le'"rgb555le""rgb555le""rgb555le""rgb555le""rgb555le" GGGBBBBB|XRRRRRGG
ist.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Erzeugtes Bild mit neuer Bildmatrix.
Zeiger auf die verschränkten Pixel.
Format der Eingabepixel.
Defaultwert:
'rgb'
"rgb"
"rgb"
"rgb"
"rgb"
"rgb"
Werteliste: 'bgr'"bgr""bgr""bgr""bgr""bgr", 'bgr48'"bgr48""bgr48""bgr48""bgr48""bgr48", 'bgr555'"bgr555""bgr555""bgr555""bgr555""bgr555", 'bgr5551'"bgr5551""bgr5551""bgr5551""bgr5551""bgr5551", 'bgr5551be'"bgr5551be""bgr5551be""bgr5551be""bgr5551be""bgr5551be", 'bgr5551le'"bgr5551le""bgr5551le""bgr5551le""bgr5551le""bgr5551le", 'bgr555be'"bgr555be""bgr555be""bgr555be""bgr555be""bgr555be", 'bgr555le'"bgr555le""bgr555le""bgr555le""bgr555le""bgr555le", 'bgr565'"bgr565""bgr565""bgr565""bgr565""bgr565", 'bgr565be'"bgr565be""bgr565be""bgr565be""bgr565be""bgr565be", 'bgr565le'"bgr565le""bgr565le""bgr565le""bgr565le""bgr565le", 'bgrx'"bgrx""bgrx""bgrx""bgrx""bgrx", 'bgrx64'"bgrx64""bgrx64""bgrx64""bgrx64""bgrx64", 'rgb'"rgb""rgb""rgb""rgb""rgb", 'rgb48'"rgb48""rgb48""rgb48""rgb48""rgb48", 'rgb555'"rgb555""rgb555""rgb555""rgb555""rgb555", 'rgb5551'"rgb5551""rgb5551""rgb5551""rgb5551""rgb5551", 'rgb5551be'"rgb5551be""rgb5551be""rgb5551be""rgb5551be""rgb5551be", 'rgb5551le'"rgb5551le""rgb5551le""rgb5551le""rgb5551le""rgb5551le", 'rgb555be'"rgb555be""rgb555be""rgb555be""rgb555be""rgb555be", 'rgb555le'"rgb555le""rgb555le""rgb555le""rgb555le""rgb555le", 'rgb565'"rgb565""rgb565""rgb565""rgb565""rgb565", 'rgb565be'"rgb565be""rgb565be""rgb565be""rgb565be""rgb565be", 'rgb565le'"rgb565le""rgb565le""rgb565le""rgb565le""rgb565le", 'rgbx'"rgbx""rgbx""rgbx""rgbx""rgbx", 'rgbx64'"rgbx64""rgbx64""rgbx64""rgbx64""rgbx64"
Breite des Eingabebildes.
Defaultwert: 512
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 1
≤
OriginalWidth
OriginalWidth
OriginalWidth
OriginalWidth
OriginalWidth
originalWidth
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Höhe des Eingabebildes.
Defaultwert: 512
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 1
≤
OriginalHeight
OriginalHeight
OriginalHeight
OriginalHeight
OriginalHeight
originalHeight
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Pixeltyp des Ausgabebildes.
Defaultwert:
'byte'
"byte"
"byte"
"byte"
"byte"
"byte"
Werteliste: 'byte'"byte""byte""byte""byte""byte", 'uint2'"uint2""uint2""uint2""uint2""uint2"
Breite des Ausgabebildes.
Defaultwert: 0
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 0
≤
ImageWidth
ImageWidth
ImageWidth
ImageWidth
ImageWidth
imageWidth
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Höhe des Ausgabebildes.
Defaultwert: 0
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 0
≤
ImageHeight
ImageHeight
ImageHeight
ImageHeight
ImageHeight
imageHeight
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Zeilennummer der oberen linken Ecke des
gewünschten Bildausschnittes.
Defaultwert: 0
Wertevorschläge: -1, 0
Spaltennummer der oberen linken Ecke des
gewünschten Bildausschnittes.
Defaultwert: 0
Wertevorschläge: -1, 0
Anzahl benutzter Bits pro Pixel und Kanal des
Ausgabebildes (-1: Alle Bits werden benutzt).
Defaultwert: -1
Wertevorschläge: 5, 8, 10, 12, 16, -1
Anzahl der Bits, um die die Farbwerte der
Eingabepixel nach rechts geshiftet werden (nur für
uint2 Bilder).
Defaultwert: 0
Wertevorschläge: 0, 2, 4, 6
Sind die Parameterwerte korrekt, dann liefert
gen_image_interleavedgen_image_interleavedGenImageInterleavedgen_image_interleavedGenImageInterleavedGenImageInterleaved den Wert 2 (H_MSG_TRUE). Andernfalls wird eine
Fehlerbehandlung durchgeführt.
disp_colordisp_colorDispColordisp_colorDispColorDispColor
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain,
paint_graypaint_grayPaintGraypaint_grayPaintGrayPaintGray,
paint_regionpaint_regionPaintRegionpaint_regionPaintRegionPaintRegion,
set_grayvalset_grayvalSetGrayvalset_grayvalSetGrayvalSetGrayval,
gen_image_constgen_image_constGenImageConstgen_image_constGenImageConstGenImageConst
Foundation