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

Normxcorr2 für variable Bildgrößen

 

Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 24.06.2014, 10:44     Titel: Normxcorr2 für variable Bildgrößen
  Antworten mit Zitat      
Hallo,

ich möchte ein Bild_1 in einem Bild_2 finden. Bild_2 wird dabei zyklisch neu generiert. Bild_1 wurde zuvor mit einer bestimmten Größe abgespeichert. Besonderheit, die Größe von Bild_1 in Bild_2 ist unterschiedlich. Gibt es seitens Matlab bereits eine Funktion die soetwas kann?

Zur Illustration folgendes Skript:

Code:
%% Create Picture
picture=randi(255,1000,1000);

%% Create Template + resized Template
template=randi(255,300,300);
template_resize=imresize(template,2);

%% Add resized Template to Picture
picture(250:849,250:849)=template_resize;

%% Convert to uint8
picture=uint8(picture);
template=uint8(template);
template_resize=uint8(template_resize);

%% Find max normxcorr2
cc_temp=normxcorr2(template,picture);
cc_max_temp=max(abs(cc_temp(:)))            % == 0.01

cc_temp_re=normxcorr2(template_resize,picture);
cc_max_temp_re=max(abs(cc_temp_re(:)))      % == 1



Gesucht ist also eine Funktion, die cc_max_temp ebenfalls mit 1 berechnet.
Private Nachricht senden Benutzer-Profile anzeigen


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 24.06.2014, 11:16     Titel:
  Antworten mit Zitat      
Moin,

wenn ich das richtig verstanden habe, suchst du einen Funktion zu Template Matching. Dazu gibt es mehrere Beispiele und Funktionen. In allen ist das gesuchte Element kleiner als das Bild, auf dem gesucht wird. Es ist also unerheblich, ob dein Bild sich ständig in der Größe verändert.

Ein Beispiel findest auf folgender Seite (letzter Beitrag):

http://www.mathworks.com/matlabcent.....-to-do-the-image-matching

Grüße - Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Friidayy
Themenstarter

Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 24.06.2014, 12:30     Titel:
  Antworten mit Zitat      
Hallo Hubertus,

ich bin deinem Link gefolgt, bin aber nicht weitergekommen. Die Größe von Bild_1 ist variabel, solange es größer als Bild_2 ist, das stimmt. Es geht mir aber darum, dass Bild_2 in seiner Größe verändert wird.

Eine mögliche Lösung wäre, eine For-Schleife, in der man mit einer bestimmten Schritte weite Bild_2 resized und in Bild_1 sucht. In jedem Schleifenschritt normxcorr2 berechnet und dann nach ende der Schleife den maximalen wert zurückgibt.

Ist aber sehr umständlich und ist zu zeitintensiv.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 24.06.2014, 12:33     Titel:
  Antworten mit Zitat      
Schleife hört sich immer gut an, aber du musst jedes Bild erst einmal mit imread einlesen. Eine andere Möglichkeit wäre, alle Bilder in einen Ordner zu speichern um dann den Ordner abzuarbeiten.
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.