correlation_fftcorrelation_fftCorrelationFftCorrelationFft (Operator)

Name

correlation_fftcorrelation_fftCorrelationFftCorrelationFft — Korrelation zweier Bilder im Frequenzraum.

Signatur

correlation_fft(ImageFFT1, ImageFFT2 : ImageCorrelation : : )

Herror correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

Herror T_correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

void CorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImageCorrelation)

HImage HImage::CorrelationFft(const HImage& ImageFFT2) const

static void HOperatorSet.CorrelationFft(HObject imageFFT1, HObject imageFFT2, out HObject imageCorrelation)

HImage HImage.CorrelationFft(HImage imageFFT2)

Beschreibung

correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFft führt eine Korrelation der fouriertransformierten Eingabebilder im Frequenzraum durch. Eine Korrelation im Frequenzraum bedeutet eine Multiplikation von ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 mit dem komplex-konjugierten Bild von ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2. Es ist zu beachten, dass die korrekte Skalierung der Korrelation im Ortsraum nur erreicht werden kann, falls für die Hintransformation die Operatoren fft_genericfft_genericFftGenericFftGenericFftGeneric oder rft_genericrft_genericRftGenericRftGenericRftGeneric mit Norm = 'none'"none""none""none""none" und für die Rücktransformation fft_genericfft_genericFftGenericFftGenericFftGeneric oder rft_genericrft_genericRftGenericRftGenericRftGeneric mit Norm = 'n'"n""n""n""n" verwendet werden. Falls ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 und ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 dieselbe Anzahl Bilder enthalten, werden die entsprechenden Bilder paarweise korreliert. Ansonsten darf ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 nur ein einziges Bild enthalten. In diesem Fall wird die Korrelation für jedes Bild von ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 mit ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 ausgeführt.

Achtung

Die Filterung erfolgt immer im Vollbild (Region wird ignoriert).

Ausführungsinformationen

Parameter

ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (complex)

Fouriertransformiertes Eingabebild 1.

ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (complex)

Fouriertransformiertes Eingabebild 2.

Parameteranzahl: ImageFFT2 == ImageFFT1 || ImageFFT2 == 1

ImageCorrelationImageCorrelationImageCorrelationImageCorrelationimageCorrelation (output_object)  image(-array) objectHImageHImageHobject * (complex)

Korrelation der Eingabebilder im Frequenzraum.

Beispiel (HDevelop)

* Compute the auto-correlation of an image.
get_image_size(Image,Width,Height)
rft_generic(Image,ImageFFT,'to_freq','none','complex',Width)
correlation_fft(ImageFFT,ImageFFT,Correlation)
rft_generic(Correlation,AutoCorrelation,'from_freq','n','real',Width)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFft 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>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

fft_genericfft_genericFftGenericFftGenericFftGeneric, fft_imagefft_imageFftImageFftImageFftImage, rft_genericrft_genericRftGenericRftGenericRftGeneric

Nachfolger

fft_genericfft_genericFftGenericFftGenericFftGeneric, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv, rft_genericrft_genericRftGenericRftGenericRftGeneric

Alternativen

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFftPhaseCorrelationFft

Modul

Foundation