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

Aligning von Bilder

 

zweitagsfliege
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.09.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.09.2008, 23:08     Titel: Aligning von Bilder
  Antworten mit Zitat      
Hallo zusammen

Ich möchte ein Skript schreiben, dass zwei Bilder (das eine ist leicht verschoben) aufeinander ausrichtet. Dazu verwende ich eine Kreuz-Korrelation und versuche anhand der Maximas der Kreuzkorrelation die Bilder auszurichten (wie im Demo von Matlab).

Kann mir jemand sagen ob ich auf dem richtigen Weg bin?


Code:
pixels=1000;

image1=zeros(pixels,pixels);
image2=zeros(pixels,pixels);

image1(:,:) = imread('bild1.tif');
image2(:,:) = imread('bild2.tif');

image3=zeros(600,600);

           for ii=1:600
               for kk=1:600
           image3(ii,kk)=image1(ii+200,kk+200);
               end
           end

C = normxcorr2(image3, image1);

figure, imshow(C);
%figure, surf(Maximum), shading flat


%--- Offset by Correlation
[max_C, indices_of_max] = max(abs(C(:)))

[ypeak, xpeak] = ind2sub(size(C),indices_of_max(1))

corr_offset = [(xpeak-size(image3,2)),(ypeak-size(image3,1))]

           
%--- relative offset caused by loop
rect_offset = [200,200];

% total offset
offset = corr_offset + rect_offset;
xoffset = offset(1)
yoffset = offset(2)


xbegin = xoffset+1
xend   = xoffset+size(image2,2)
%xend   = size(image1,2)
ybegin = yoffset+1
yend  = yoffset+size(image2,1)
%yend   = size(image1,1)

image2_without_drift = uint8(zeros(size(image2)));
image2_without_drift(ybegin:yend,xbegin:xend,:) = image2;
figure, imshow(image2_without_drift)
Private Nachricht senden Benutzer-Profile anzeigen


Derak
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 23.10.08
Wohnort: BZ
Version: R14
     Beitrag Verfasst am: 12.11.2008, 14:15     Titel:
  Antworten mit Zitat      
Vor einem ähnlichen problem stehe ich auch aber die user hier scheinen nicht so viel erfahrung mit der Bildbearbeitung zu haben. Ich kann dir da momentan auch noch nicht wirklich weiter helfen da ich erst angefangen hab mich mit dem Thema zu befassen. Ich hoffe aber das sich mal jemand findet der deine Frage beantwortet. Würde mich persönlich auch interessieren.

Gruß

Derak
Private Nachricht senden Benutzer-Profile anzeigen
 
mieminger
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 21.11.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 14:48     Titel:
  Antworten mit Zitat      
Hallo
Hab Dein Posting zu spaet gesehen. Ich hatte eine aehnliche Frage.
Bei mir ist es zustaetzlich kompliziert, weil meine Bilder immer gleich gross sind; ich will also gleich grosse Bilder matchen, sodass die Grösse des gematchen Bildes am Schluss wiederum gleich dem Template ist.

Es gibt da Ansaetze mit Fourier Trafo aber die aus dem Central File Exchange habe für mich nicht funtioniert.
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 - 2024 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.