KlassenKlassenKlassenKlassen | | | | Operatoren

nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDir (Operator)

Name

nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDir — Unterdrücken von nicht maximalen Punkten auf einer Kante unter Verwendung eines Richtungsbildes.

Signatur

nonmax_suppression_dir(ImgAmp, ImgDir : ImageResult : Mode : )

Herror nonmax_suppression_dir(const Hobject ImgAmp, const Hobject ImgDir, Hobject* ImageResult, const char* Mode)

Herror T_nonmax_suppression_dir(const Hobject ImgAmp, const Hobject ImgDir, Hobject* ImageResult, const Htuple Mode)

Herror nonmax_suppression_dir(Hobject ImgAmp, Hobject ImgDir, Hobject* ImageResult, const HTuple& Mode)

HImage HImage::NonmaxSuppressionDir(const HImage& ImgDir, const HTuple& Mode) const

HImageArray HImageArray::NonmaxSuppressionDir(const HImageArray& ImgDir, const HTuple& Mode) const

void NonmaxSuppressionDir(const HObject& ImgAmp, const HObject& ImgDir, HObject* ImageResult, const HTuple& Mode)

HImage HImage::NonmaxSuppressionDir(const HImage& ImgDir, const HString& Mode) const

HImage HImage::NonmaxSuppressionDir(const HImage& ImgDir, const char* Mode) const

void HOperatorSetX.NonmaxSuppressionDir(
[in] IHUntypedObjectX* ImgAmp, [in] IHUntypedObjectX* ImgDir, [out] IHUntypedObjectX*ImageResult, [in] VARIANT Mode)

IHImageX* HImageX.NonmaxSuppressionDir(
[in] IHImageX* ImgDir, [in] BSTR Mode)

static void HOperatorSet.NonmaxSuppressionDir(HObject imgAmp, HObject imgDir, out HObject imageResult, HTuple mode)

HImage HImage.NonmaxSuppressionDir(HImage imgDir, string mode)

Beschreibung

nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDir unterdrückt Punkte aus den Bildregionen von ImgAmpImgAmpImgAmpImgAmpImgAmpimgAmp, deren Grauwerte keine (gerichteten) Maxima sind. ImgDirImgDirImgDirImgDirImgDirimgDir ist dabei ein Richtungsbild (Einheit: 2 Grad, d.h. 50 Grad sind z.B. mit Wert 25 codiert), wie es z.B. von edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage geliefert wird. Es stehen zwei Modi zur Verfügung:

'nms'

Für jeden Bildpunkt wird getestet, ob sein Grauwert senkrecht zu seiner Richtung maximal ist. Im Modus 'nms' werden dazu nur die beiden der Senkrechten am nächsten liegenden Nachbarpunkte für die Entscheidung herangezogen. Ist der Grauwert eines dieser Nachbarn echt größer als der Grauwert des zu testenden Punktes, wird dieser unterdrückt (d.h. aus der Region entfernt, die Grauwerte bleiben unverändert).

'inms'

Wie 'nms', die beiden benötigten Vergleichswerte werden jedoch durch Interpolation der Grauwerte von vier Nachbarpunkten gewonnen.

Parallelisierung

Parameter

ImgAmpImgAmpImgAmpImgAmpImgAmpimgAmp (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / uint2 / real)

Amplitudenbild.

ImgDirImgDirImgDirImgDirImgDirimgDir (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (direction)

Richtungsbild.

ImageResultImageResultImageResultImageResultImageResultimageResult (output_object)  image(-array) objectHImageHImageHImageHImageXHobject * (byte / uint2 / real)

Bild mit verdünnten Kantenregionen.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Non-Maximum Suppression, interpolierende NMS.

Defaultwert: 'nms' "nms" "nms" "nms" "nms" "nms"

Werteliste: 'inms'"inms""inms""inms""inms""inms", 'nms'"nms""nms""nms""nms""nms"

Ergebnis

nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDir liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Für das Verhalten bzgl. der Eingabebilder und Ausgaberegionen sind die Flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result" und 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" einstellbar (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, sobel_dirsobel_dirSobelDirsobel_dirSobelDirSobelDir, frei_dirfrei_dirFreiDirfrei_dirFreiDirFreiDir

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold, hysteresis_thresholdhysteresis_thresholdHysteresisThresholdhysteresis_thresholdHysteresisThresholdHysteresisThreshold

Alternativen

nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmp

Siehe auch

skeletonskeletonSkeletonskeletonSkeletonSkeleton

Literatur

S.Lanser: „Detektion von Stufenkanten mittels rekursiver Filter nach Deriche“; Diplomarbeit; Technische Universität München, Institut für Informatik, Lehrstuhl Prof. Radig; 1991.
J.Canny: „Finding Edges and Lines in Images“; Report, AI-TR-720; M.I.T. Artificial Intelligence Lab., Cambridge; 1983.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren