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

Boolsche Funktion in Matlab

 

Matze7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2009, 09:58     Titel: Boolsche Funktion in Matlab
  Antworten mit Zitat      
Hallo zusammen!

Mit folgender Matlab-Funktion möchte ich mit Hilfe der Entropy zwei Bilder auf Ähnlichkeit prüfen. Die Funktion bekommt die beiden Bilder übergeben und soll einen Wahrheitswert (True/False) zurückgeben. Der Wahrheitswert soll einer groben Beurteilung gleich/ungleich entsprechen.

Code:
function decision = entropy(pic1,pic2)
    e1=entropy(pic1);
    e2=entropy(pic2);
    if (abs(e1-e2) > 1.7) decision=true;
    else decision=false;
    end
end

Ich habe nicht viel Ahnung von Matlab (würde mich wahrscheinlich leichter tun das ganze Projekt in Java zu implementieren...) und wahrscheinlich ist das ganze syntaktisch komplett falsch. Jedenfalls habe ich nach längerem googlen kein Beispiel für eine boolsche Funktion in Matlab gefunden. Ich bekomme bei ausführung meines Codes folgende Fehlermeldung:
Zitat:

??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space
can
crash MATLAB and/or your computer.

Error in ==> entropy

Wäre super wenn mir da jemand aushelfen könnte.

Gruß,
Matze


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2009, 10:25     Titel:
  Antworten mit Zitat      
Also so wie es da geschrieben steht, würde es auch in Java nicht funktionieren ;) Du definierst eine Funktion entropy, die sich direkt in der ersten und zweiten Zeile nochmal selbst aufruft. Bei diesem Aufruf ruft sich die Funktion dann wieder selbst auf usw... Und weil Du keine Abbruchbedingung für deine Rekursion hast, läuft das in den Matlabinternen Rekursionsschutz von 500 Aufrufen (siehe Fehlermeldung).

Das ganze sollte funktionieren, wenn Du deine Entscheidungs-Funktion anders nennst.
Code:
function decision = please_decide(pic1, pic2)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matze7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2009, 10:48     Titel:
  Antworten mit Zitat      
Danke! Ja, das war wirklich sehr dämlich, der Funktion diesen Namen zu geben^^

Dieser Fehler ist jetzt natürlich weg, aber dafür ist ein anderer da:
Zitat:
??? Undefined function or method 'entropyTest' for input arguments of
type 'uint8'.

Error in ==> mainfile at 116
d=entropyTest(cropVector1,cropVector2)

Die Funktion wurde in entropyTest umbenannt. Der gepostete Fehler entsteht beim Methodenaufruf. Es werden zwei Grayscale images übergeben (mit RGB-Images kommt der gleiche Fehler).

Idee?
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2009, 10:56     Titel:
  Antworten mit Zitat      
Da scheint er die Funktion nicht zu finden. Wenn die Funktion in einer extra Datei abgelegt sein sollte: Datei auch umbenannt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Matze7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2009, 15:58     Titel:
  Antworten mit Zitat      
Epfi hat Folgendes geschrieben:
Da scheint er die Funktion nicht zu finden. Wenn die Funktion in einer extra Datei abgelegt sein sollte: Datei auch umbenannt?

nein^^
Danke!
 
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.