KlassenKlassenKlassenKlassen | | | | Operatoren

highpass_imagehighpass_imageHighpassImagehighpass_imageHighpassImageHighpassImage (Operator)

Name

highpass_imagehighpass_imageHighpassImagehighpass_imageHighpassImageHighpassImage — 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)

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

HImage HImage::HighpassImage(const HTuple& Width, const HTuple& Height) const

HImageArray HImageArray::HighpassImage(const HTuple& Width, const HTuple& Height) const

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

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

void HOperatorSetX.HighpassImage(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Highpass, [in] VARIANT Width, [in] VARIANT Height)

IHImageX* HImageX.HighpassImage(
[in] Hlong Width, [in] Hlong Height)

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

HImage HImage.HighpassImage(int width, int height)

Beschreibung

highpass_imagehighpass_imageHighpassImagehighpass_imageHighpassImageHighpassImage 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_imageMeanImagemean_imageMeanImageMeanImage), gefolgt von der Subtraktion des Originalgrauwerts vom Ergebnis. Zu der Differenz wird 128 addiert, d.h. der Nulldurchgang hat den Wert 128.

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 HeightHeightHeightHeightHeightheight oder WidthWidthWidthWidthWidthwidth 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_imageHighpassImagehighpass_imageHighpassImageHighpassImage kann auf OpenCL Geräten ausgeführt werden. Dabei gelten dieselben Einschränkungen wie für mean_imagemean_imageMeanImagemean_imageMeanImageMeanImage und sub_imagesub_imageSubImagesub_imageSubImageSubImage.

Parallelisierung

Parameter

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

Eingabebilder.

HighpassHighpassHighpassHighpassHighpasshighpass (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / uint2)

Hochpass-gefilterte Ausgabebilder.

WidthWidthWidthWidthWidthwidth (input_control)  extent.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite der Filtermaske.

Defaultwert: 9

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

Typischer Wertebereich: 3 ≤ Width Width Width Width Width width ≤ 501

Minimale Schrittweite: 2

Empfohlene Schrittweite: 2

Restriktion: Width >= 3 && odd(Width)

HeightHeightHeightHeightHeightheight (input_control)  extent.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Höhe der Filtermaske.

Defaultwert: 9

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

Typischer Wertebereich: 3 ≤ Height Height Height Height Height height ≤ 501

Minimale Schrittweite: 2

Empfohlene Schrittweite: 2

Restriktion: Height >= 3 && odd(Height)

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_imageHighpassImagehighpass_imageHighpassImageHighpassImage 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold, skeletonskeletonSkeletonskeletonSkeletonSkeleton

Alternativen

mean_imagemean_imageMeanImagemean_imageMeanImageMeanImage, sub_imagesub_imageSubImagesub_imageSubImageSubImage, convol_imageconvol_imageConvolImageconvol_imageConvolImageConvolImage, bandpass_imagebandpass_imageBandpassImagebandpass_imageBandpassImageBandpassImage

Siehe auch

dyn_thresholddyn_thresholdDynThresholddyn_thresholdDynThresholdDynThreshold

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren