ich habe ein Problem und es eilt ein wenig.
Es steht unter dem Motto "Drift-Korrektur mittels Kreuzkorrelation" und die dazu zu erledigenden Aufgaben sind:
1. Kreuzkorrelationsfunktion (CCF) mittels Fourier-Transformation berechnen
2. Maximum dieser Funktion bestimmen
3. verschiedene Glättungsmethoden (Mittelung in Bildern, Mittelung der CCF, Tiefpassfilter)
Die ersten beiden Teile habe ich meiner Meinung nach schon einigermaßen richtig. Aber bei der Ermittlung der Verschiebung bzw. bei der Verschiebung der Bilder, sodass die Korrelation korrigiert wird, komme ich nicht weiter.
Mein bisheriger Code ist:
%Kreuzkorrelationsfunktion mit fft(Faltungstheorem) berechnen
F1=fft2(I1);
F2=conj(fft2(I2));
F3=F1.*F2;
S=ifft2(F3);
figure, mesh(real(S))% liefert auch ein schönes Bild mit eindeutigem Peak
% Maximum der CCF berechnen [val,pos]=max(S(:));
[x,y]=ind2sub(size(S),pos);
dieses Problem hatte ich vor langer Zeit (1993 - 1996) ebenfalls zu lösen.
Ich hatte mich damals mit der "Geschwindigkeitserfassung von Kraftfahrzeugen durch Bildfolgenanalyse" beschäftigt.
Auch hier musste man die Verschiebung eines bewegten Objekts zwischen zwei Bildern ermitteln.
Bei deinem Ansatz wirst Du nur die Verschiebung innerhalb eines Quadranten ermitteln (dx >= 0 & dy >= 0).
Ich hab ein SciLab-File angehängt.
Darin kannst Du sehen, daß ich für alle 4 Quadranten eine KKF über den Frequenzbereich durchführe.
Hierfür werden die Bilder mal entlang der Zeilen und mal entlang der Spalten gespiegelt (Die Indizierung $:-1:1 realisiert diese, wobei $ hier der Platzhalter für Zeilen- bzw. Spaltenanzahl ist).
Danach wird von allen vier Quadranten das Maximum der KKF bestimmt und abhängig davon, in welchem Quadranten das Maximum liegt, die entsprechende Verschiebung ermittelt.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.