KlassenKlassenKlassenKlassen | | | | Operatoren

read_gray_seread_gray_seReadGraySeread_gray_seReadGraySeReadGraySe (Operator)

Name

read_gray_seread_gray_seReadGraySeread_gray_seReadGraySeReadGraySe — Laden von strukturierenden Elementen für die Grauwertmorphologie.

Signatur

read_gray_se( : SE : FileName : )

Herror read_gray_se(Hobject* SE, const char* FileName)

Herror T_read_gray_se(Hobject* SE, const Htuple FileName)

Herror read_gray_se(Hobject* SE, const HTuple& FileName)

HImage HImage::ReadGraySe(const HTuple& FileName)

void ReadGraySe(HObject* SE, const HTuple& FileName)

void HImage::ReadGraySe(const HString& FileName)

void HImage::ReadGraySe(const char* FileName)

void HOperatorSetX.ReadGraySe(
[out] IHUntypedObjectX*SE, [in] VARIANT FileName)

void HImageX.ReadGraySe([in] BSTR FileName)

static void HOperatorSet.ReadGraySe(out HObject SE, HTuple fileName)

void HImage.ReadGraySe(string fileName)

Beschreibung

read_gray_seread_gray_seReadGraySeread_gray_seReadGraySeReadGraySe lädt ein strukturierendes Element für die Grauwertmorphologie von einer Datei ein. Die Dateinamen für strukturierende Elemente müssen mit '.gse' (für grayscale structuring element) enden. Dieses Suffix wird von read_gray_seread_gray_seReadGraySeread_gray_seReadGraySeReadGraySe automatisch an den übergebenen Dateinamen angehängt, darf also nicht mit übergeben werden. Die Daten müssen im ASCII-Format vorliegen und wie folgt aufgebaut sein: Die erste Zeile gibt den Datentyp des strukturierenden Elements an. Dieser muss 'byte', 'uint2' oder 'real' (ohne umschließende Anführungszeichen) sein und muss dem Typ des Bildes entsprechen das in nachfolgenden Operatoraufrufen mit diesem strukturierenden Element bearbeitet werden soll. Die nachfolgenden zwei Zahlen der Datei geben die Breite und Höhe des strukturierenden Elements an. Diese stellen ein Rechteck dar, das das strukturierende Element vollständig umschließt. Beide Werte müssen größer als 0 sein. Danach folgt die Anzahl der Sehnen der zu definierenden Region und die Sehnen selbst: eine Sehne besteht dabei aus Zeile der Sehne (L), Spaltenbeginn der Sehne (CB) und Spaltenende der Sehne (CE), jeweils durch Leerzeichen getrennt. Danach folgen Zahlen, deren Anzahl durch Breite und Höhe des strukturierenden Elements festgelegt wurden, die durch Leerzeichen getrennt sein müssen und als entsprechende Grauwerte für die Morphologie interpretiert werden. Zahlen, die nicht Teil der Region des strukturierenden Elements sein werden (weil für diese Punkte keine Sehne definiert wurde), dürfen nicht weggelassen werden. Sie werden jedoch im resultierenden strukturierenden Element ignoriert. Die Darstellung von strukturierenden Elementen erfolgt als Bild des o.a. Bildtyps. Es können auch gewöhnliche Bilder als strukturierende Elemente verwendet werden. Die Region des Bildes definiert dabei die Form des strukturierenden Elements. Dabei sollte allerdings darauf geachtet werden, dass die Bildabmessungen nicht zu groß sind, da die Laufzeit proportional zur Fläche des Bildes multipliziert mit der Fläche des strukturierenden Elements ist. Flache strukturierende Elemente (d.h. Elemente mit konstanten Grauwerten) werden jedoch in nachfolgenden Operatoren besonders schnell ausgeführt. Der Koordinatenursprung des strukturierenden Elements liegt bei der Hälfte der definierten Breite bzw. Höhe. Bei geraden Abmessungen wird der Ursprung in Richtung linke obere Ecke abgerundet. Das strukturierende Element kann mit Hilfe des Operators write_imagewrite_imageWriteImagewrite_imageWriteImageWriteImage gespeichert werden. Dafür muss jedoch ein Bildformat verwendet werden das Alpha-Kanäle unterstützt, also 'tiff', 'jp2' oder 'png'. Diese Dateien können dann wieder mit dem Operator read_imageread_imageReadImageread_imageReadImageReadImage eingelesen werden.

Parallelisierung

Parameter

SESESESESESE (output_object)  image objectHImageHImageHImageHImageXHobject * (byte / uint2 / real)

Erzeugtes strukturierendes Element.

FileNameFileNameFileNameFileNameFileNamefileName (input_control)  filename.read HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Name der einzulesenden Datei.

Dateiendung: .gse

Beispiel (HDevelop)

* Load a byte structuring element of width 3 and height 3 that
* consists of 3 chords at lines 0 (from x=1 to x=1), 1 (from x=0
* to x=2) and 2 (from x=1 to x=1). The (used) grayvalues are
* 0, 0, 1, 0, 0 .
* contents of file 'isod4.gse':
* byte
*  3 3
*
* 3
* 0 1 1
* 1 0 2
* 2 1 1
*
*  -1  0 -1
*   0  1  0
*  -1  0 -1
read_gray_se (SE, environment('HALCONROOT')+'/filter/isod4')

Ergebnis

Sind die Parameterwerte korrekt, dann liefert read_gray_seread_gray_seReadGraySeread_gray_seReadGraySeReadGraySe den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

gray_erosiongray_erosionGrayErosiongray_erosionGrayErosionGrayErosion, gray_dilationgray_dilationGrayDilationgray_dilationGrayDilationGrayDilation, gray_openinggray_openingGrayOpeninggray_openingGrayOpeningGrayOpening, gray_closinggray_closingGrayClosinggray_closingGrayClosingGrayClosing, gray_tophatgray_tophatGrayTophatgray_tophatGrayTophatGrayTophat, gray_bothatgray_bothatGrayBothatgray_bothatGrayBothatGrayBothat, write_imagewrite_imageWriteImagewrite_imageWriteImageWriteImage

Alternativen

gen_disc_segen_disc_seGenDiscSegen_disc_seGenDiscSeGenDiscSe, read_imageread_imageReadImageread_imageReadImageReadImage, change_domainchange_domainChangeDomainchange_domainChangeDomainChangeDomain

Siehe auch

paint_regionpaint_regionPaintRegionpaint_regionPaintRegionPaintRegion, paint_graypaint_grayPaintGraypaint_grayPaintGrayPaintGray, crop_partcrop_partCropPartcrop_partCropPartCropPart

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren