KlassenKlassenKlassenKlassen | | | | Operatoren

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFft (Operator)

Name

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFft — Phasenkorrelation zweier Bilder im Frequenzraum.

Signatur

phase_correlation_fft(ImageFFT1, ImageFFT2 : ImagePhaseCorrelation : : )

Herror phase_correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImagePhaseCorrelation)

Herror T_phase_correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImagePhaseCorrelation)

Herror phase_correlation_fft(Hobject ImageFFT1, Hobject ImageFFT2, Hobject* ImagePhaseCorrelation)

HImage HImage::PhaseCorrelationFft(const HImage& ImageFFT2) const

HImageArray HImageArray::PhaseCorrelationFft(const HImageArray& ImageFFT2) const

void PhaseCorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImagePhaseCorrelation)

HImage HImage::PhaseCorrelationFft(const HImage& ImageFFT2) const

void HOperatorSetX.PhaseCorrelationFft(
[in] IHUntypedObjectX* ImageFFT1, [in] IHUntypedObjectX* ImageFFT2, [out] IHUntypedObjectX*ImagePhaseCorrelation)

IHImageX* HImageX.PhaseCorrelationFft([in] IHImageX* ImageFFT2)

static void HOperatorSet.PhaseCorrelationFft(HObject imageFFT1, HObject imageFFT2, out HObject imagePhaseCorrelation)

HImage HImage.PhaseCorrelationFft(HImage imageFFT2)

Beschreibung

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFft führt eine Phasenkorrelation der fouriertransformierten Eingabebilder im Frequenzraum durch. Eine Phasenkorrelation im Frequenzraum bedeutet eine Multiplikation von ImageFFT1ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 mit dem komplex-konjugierten Bild von ImageFFT2ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 und die Division durch den Betrag dieses Produktes. Es ist zu beachten, dass die korrekte Skalierung der Phasenkorrelation im Ortsraum nur erreicht werden kann, falls für die Hintransformation die Operatoren fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric oder rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric mit Norm = 'none'"none""none""none""none""none" und für die Rücktransformation fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric oder rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric mit Norm = 'n'"n""n""n""n""n" verwendet werden. Falls ImageFFT1ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 und ImageFFT2ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 dieselbe Anzahl Bilder enthalten, werden die entsprechenden Bilder paarweise phasenkorreliert. Ansonsten darf ImageFFT2ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 nur ein einziges Bild enthalten. In diesem Fall wird die Phasenkorrelation für jedes Bild von ImageFFT1ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 mit ImageFFT2ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 ausgeführt.

Achtung

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

Parallelisierung

Parameter

ImageFFT1ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1 (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (complex)

Fouriertransformiertes Eingabebild 1.

ImageFFT2ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2 (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (complex)

Fouriertransformiertes Eingabebild 2.

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

ImagePhaseCorrelationImagePhaseCorrelationImagePhaseCorrelationImagePhaseCorrelationImagePhaseCorrelationimagePhaseCorrelation (output_object)  image(-array) objectHImageHImageHImageHImageXHobject * (complex)

Phasenkorrelation der Eingabebilder im Frequenzraum.

Beispiel (HDevelop)

* Compute the phase correlation of two images.
get_image_size(Image1,Width,Height)
rft_generic(Image1,ImageFFT1,'to_freq','none','complex',Width)
rft_generic(Image2,ImageFFT2,'to_freq','none','complex',Width)
phase_correlation_fft(ImageFFT1,ImageFFT2,PhaseCorrelationFFT)
rft_generic(PhaseCorrelationFFT,PhaseCorrelation,'from_freq','n', \
            'real',Width)
* Determine the translation between the two images.
local_max_sub_pix (PhaseCorrelation, 'facet', 1, 0.02, Row, Column)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert phase_correlation_fftphase_correlation_fftPhaseCorrelationFftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFft 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.

Vorgänger

fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric, fft_imagefft_imageFftImagefft_imageFftImageFftImage, rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric

Nachfolger

fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric, fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv, rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric

Alternativen

correlation_fftcorrelation_fftCorrelationFftcorrelation_fftCorrelationFftCorrelationFft

Literatur

C. D. Kuglin, D. C. Hines: „The Phase Correlation Image Alignment Method“; IEEE International Conference on Cybernetics and Society; pp. 163-165; 1975.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren