KlassenKlassenKlassenKlassen | | | | Operatoren

corner_responsecorner_responseCornerResponsecorner_responseCornerResponseCornerResponse (Operator)

Name

corner_responsecorner_responseCornerResponsecorner_responseCornerResponseCornerResponse — Suche von Ecken in Bildern.

Signatur

corner_response(Image : ImageCorner : Size, Weight : )

Herror corner_response(const Hobject Image, Hobject* ImageCorner, const Hlong Size, double Weight)

Herror T_corner_response(const Hobject Image, Hobject* ImageCorner, const Htuple Size, const Htuple Weight)

Herror corner_response(Hobject Image, Hobject* ImageCorner, const HTuple& Size, const HTuple& Weight)

HImage HImage::CornerResponse(const HTuple& Size, const HTuple& Weight) const

HImageArray HImageArray::CornerResponse(const HTuple& Size, const HTuple& Weight) const

void CornerResponse(const HObject& Image, HObject* ImageCorner, const HTuple& Size, const HTuple& Weight)

HImage HImage::CornerResponse(Hlong Size, double Weight) const

void HOperatorSetX.CornerResponse(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageCorner, [in] VARIANT Size, [in] VARIANT Weight)

IHImageX* HImageX.CornerResponse(
[in] Hlong Size, [in] double Weight)

static void HOperatorSet.CornerResponse(HObject image, out HObject imageCorner, HTuple size, HTuple weight)

HImage HImage.CornerResponse(int size, double weight)

Beschreibung

corner_responsecorner_responseCornerResponsecorner_responseCornerResponseCornerResponse ist ein Operator, um Grauwertecken in einem Bild zu extrahieren. Die Formel für die Berechnung lautet:

wobei I das Eingabe- und R das Ergebnisbild der Filterung darstellt. Zur Glättung (W) wird gauss_imagegauss_imageGaussImagegauss_imageGaussImageGaussImage, zur Berechnung der Ableitung wird sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp verwendet.

Die Corner-Response-Funktion ist invariant gegenüber Rotation. Um eine günstige Abhängigkeit der Funktion R(x,y) von den lokalen Gradienten zu erhalten, ist der Parameter WeightWeightWeightWeightWeightweight auf 0.04 zu setzen. Hiermit ergeben sich nur an Grauwertecken positive Werte für R(x,y), während gerade Kanten negative Werte erhalten. Der Ausgabebildtyp ist identisch mit dem Eingabebildtyp. Bei Byte-Bildern als Eingabe werden also die negativen Werte auf 0 gesetzt. Falls dies nicht erwünscht ist, sollte das Bild mit convert_image_typeconvert_image_typeConvertImageTypeconvert_image_typeConvertImageTypeConvertImageType in ein Real- oder Int2-Bild konvertiert werden.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte / uint2 / int2 / real)

Eingabebild.

ImageCornerImageCornerImageCornerImageCornerImageCornerimageCorner (output_object)  multichannel-image(-array) objectHImageHImageHImageHImageXHobject * (byte / uint2 / int2 / real)

Ergebnis der Filterung.

Parameteranzahl: ImageCorner == Image

SizeSizeSizeSizeSizesize (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Gewünschte Filtergröße der Gaußmaske.

Defaultwert: 3

Werteliste: 3, 5, 7, 9, 11

WeightWeightWeightWeightWeightweight (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Gewichtung.

Defaultwert: 0.04

Typischer Wertebereich: 0.0 ≤ Weight Weight Weight Weight Weight weight ≤ 0.3

Minimale Schrittweite: 0.001

Empfohlene Schrittweite: 0.01

Beispiel (C)

read_image(&Fabrik,"fabrik");
corner_response(Fabrik,&CornerResponse,3,0.04);
local_max(CornerResponse,&LocalMax);
disp_image(Fabrik,WindowHandle);
set_color(WindowHandle,"red");
disp_region(LocalMax,WindowHandle);

Nachfolger

local_maxlocal_maxLocalMaxlocal_maxLocalMaxLocalMax, thresholdthresholdThresholdthresholdThresholdThreshold

Siehe auch

gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, convert_image_typeconvert_image_typeConvertImageTypeconvert_image_typeConvertImageTypeConvertImageType

Literatur

C.G. Harris, M.J. Stephens, „A combined corner and edge detector“'; Proc. of the 4th Alvey Vision Conference; August 1988; pp. 147-152.
H. Breit, „Bestimmung der Kameraeigenbewegung und Gewinnung von Tiefendaten aus monokularen Bildfolgen“; Diplomarbeit am Lehrstuhl für Nachrichtentechnik der TU München; 30. September 1990.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren