WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Interpreatation zur Funktion normxcorr2

 

Christopherus
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 31.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2013, 14:23     Titel: Interpreatation zur Funktion normxcorr2
  Antworten mit Zitat      
Hallo Zusammen,
ich möchte für eine Hausaufgabe eine Kreuzkorrelation zwischen zwei Bildern durchführen. Nach stundenlangem suchen komme ich weitesgehend nur vage auf die Interpretation folgender Code-Zeilen:

Code:
%Auszug aus der Dokumentation: doc normxcorr2
cc = normxcorr2(BW,offsetTemplate);
[max_cc, imax] = max(abs(cc(:)));
[ypeak, xpeak] = ind2sub(size(cc),imax(1));
corr_offset = [ (ypeak-size(template,1)) (xpeak-size(template,2)) ];
isequal(corr_offset,offset) % 1 means offset was recovered


So weit so gut.Meine Interpretation ist die folgende: In der Variablen cc wird das Ergebnis der normierten Kreuzkorrelation zurückgegeben. Ist max_cc der maximale Kreuzkorrelationskoeffizient? Was bedeutet dann imax?
In ypeak und x peak müssten die Indizes des Maximums der Kreuzkorrelation in Bezug auf das Image stehen....
Danach verliert sich igwie meine Interpretation.....Könnte mir dort bitte jemand weiterhelfen? Bzw. ist meine Interpretation soweit richtig?

Vielen Dank,
Christopherus
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 31.07.2013, 14:55 Uhr von denny
Von Script-Ecke nach Programmierung


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 01.08.2013, 09:13     Titel:
  Antworten mit Zitat      
Moin Christopherus,

ich habe die Funktion schon ein paar Mal angewendet. Mich hat aber immer nur das Ergebnis interessiert. Die vollständige Antwort auf imax habe ich auch noch nicht, aber man kann Matlab dazu bringen, die Daten übersichtlicher zu halten. Versuche mal folgendes:

Wenn du BW=rand(6,6) und davon einen kleinen Ausschnitt offsetTemplate=BW(1:1:2,1:1:2) nimmst, bekommst du als Ergebnis zu imax immer die Zahl 9. Egal welche Werte rand liefert. Wie die Zahl 9 zu den 4 Ausschnittswerten passt, ist mir auch noch nicht klar, da die Werte alle mit 0.... anfangen. Vielleicht hilft das ein kleines Stück weiter. Die Vermutung zu max_cc ist demnach richtig.

Wenn du das Template drehst, es also nicht mehr passt, bekommst du ständig andere Werte.

Viel Erfolg - Hubertus

edit: Es ist ganz einfach herauszufinden, was imax macht. Ändere einfach den Wert und lass die Berechnung ab imax neu laufen. Dann siehst du, wie sich die Position des Rahmens ändert. Bleibt nur noch unklar, woher der Index-Wert kommt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.