highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image (Operator)

Name

highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image — Verstärkung hochfrequenter Bildanteile.

Signatur

highpass_image(Image : Highpass : Width, Height : )

Herror highpass_image(const Hobject Image, Hobject* Highpass, const Hlong Width, const Hlong Height)

Herror T_highpass_image(const Hobject Image, Hobject* Highpass, const Htuple Width, const Htuple Height)

void HighpassImage(const HObject& Image, HObject* Highpass, const HTuple& Width, const HTuple& Height)

HImage HImage::HighpassImage(Hlong Width, Hlong Height) const

static void HOperatorSet.HighpassImage(HObject image, out HObject highpass, HTuple width, HTuple height)

HImage HImage.HighpassImage(int width, int height)

def highpass_image(image: HObject, width: int, height: int) -> HObject

Beschreibung

highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image verstärkt hochfrequente Bildanteile durch eine lineare Filterung mit folgender Filtermatrix (am Beispiel 7x5): 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -35 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Die Anwendung der Prozedur entspricht der Anwendung des Mittelwertfilters (mean_imagemean_imageMeanImageMeanImagemean_image), gefolgt von der Subtraktion des Originalgrauwerts vom Ergebnis. Bei Bildern vom Typ Byte wird zu der Differenz 128 addiert, d.h. der Nulldurchgang hat den Wert 128. Dementsprechend wird bei Bildern vom Typ uint2 32767 addiert.

Der Filter hebt hochfrequente Anteile im Bild hervor (Kanten und Ecken). Die Trennfrequenz wird über die Größe (Height x Width) der Filtermatrix festgelegt: Je größer die Matrix ist, desto niedriger wird die Trennfrequenz.

Als Randbehandlungen werden die Grauwerte an den Objekträndern gespiegelt. Über- bzw. Unterlauf von Grauwerten wird beschnitten (255 bzw. 0).

Achtung

Werden für HeightHeightHeightheightheight oder WidthWidthWidthwidthwidth gerade statt ungerade Werte übergeben, verwendet die Routine an ihrer Stelle die nächstgrößeren ungeraden Werte (damit ist der Schwerpunkt der Filtermaske immer eindeutig bestimmt).

highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image kann auf OpenCL-Geräten ausgeführt werden. Dabei gelten dieselben Einschränkungen wie für mean_imagemean_imageMeanImageMeanImagemean_image und sub_imagesub_imageSubImageSubImagesub_image.

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte* / uint2*) *erlaubt für Compute Devices

Eingabebilder.

HighpassHighpassHighpasshighpasshighpass (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / uint2)

Hochpass-gefilterte Ausgabebilder.

WidthWidthWidthwidthwidth (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite der Filtermaske.

Default: 9

Wertevorschläge: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101

Wertebereich: 1 ≤ Width Width Width width width

Minimale Schrittweite: 2

Empfohlene Schrittweite: 2

HeightHeightHeightheightheight (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe der Filtermaske.

Default: 9

Wertevorschläge: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101

Wertebereich: 1 ≤ Height Height Height height height

Minimale Schrittweite: 2

Empfohlene Schrittweite: 2

Beispiel (C)

highpass_image(Image,&Highpass,7,5);
threshold(Highpass,&Region,60.0,255.0);
skeleton(Region,&Skeleton);

Ergebnis

Sind die Parameterwerte korrekt, dann liefert highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image den Wert 2 ( H_MSG_TRUE) . Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

thresholdthresholdThresholdThresholdthreshold, skeletonskeletonSkeletonSkeletonskeleton

Alternativen

mean_imagemean_imageMeanImageMeanImagemean_image, sub_imagesub_imageSubImageSubImagesub_image, convol_imageconvol_imageConvolImageConvolImageconvol_image, bandpass_imagebandpass_imageBandpassImageBandpassImagebandpass_image

Siehe auch

dyn_thresholddyn_thresholdDynThresholdDynThresholddyn_threshold

Modul

Foundation