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

Schleifen Problem?

 

Hilbert86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2009, 11:33     Titel: Schleifen Problem?
  Antworten mit Zitat      
Hallo Leute

mal wieder ne Frage von mir Smile

Ich habe ein Bild KxN das ich auf jeden Pixel überprüfe. Die Überprüfung läuft so in dem ich mit einer Fx2 Matrix jeden Pixel des Bildes(nur R und G Werte) mit jeder Zeile der Fx2 Matrix vergleiche.

Rorg sind die Rot Werte des Bildes KxN
Gorg sind die Grün Werte des Bildes KxN
diese beiden Werte sollen mit WerteRot Fx2 verglichen werden
Code:

for K=1:bildbreite
    for N=1:bildlänge
            for FWerte=1:F       %F = länge der WerteRot
%                
if(( Rorg(K,N) == WerteRot(FWerte,1) && Gorg(K,N)) == WerteRot(FWerte,2))
                          %Markiere den Pixel
                           
                        end

            end
    end
end


aber irgendwo ist der Fuchs drin es werden keine passenden Werte gefunden obwohl in den Tabellen die Werte drin sind! Also liegt es wohl an der Schleife oder der Abfrage?

MFG
Hilbert
_________________

MMAAAAAATTTTTLLAAAAABBBB
Private Nachricht senden Benutzer-Profile anzeigen


Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 19.11.2009, 11:55     Titel:
  Antworten mit Zitat      
Hallo,
hmm, schwer zu sagen. Zunächst könnte die innere Schleife vereinfacht werden zu
Code:
if ismember(Rorg(K,N), WerteRot(:,1) && ismember(Gorg(K,N), WerteRot(:, 2)
 

Sind die Pixel-Werte Doubles (zwischen 0 und 1) oder uint8 oder uint16 Werte? Im ersten Fall könnten natürlich Rundungsschwierigkeiten auftreten, im zweiten Fall nicht ...

Ansonsten: mal für WerteRot die erste Zeile durch Rorg(1,1) und Gorg(1,1) ersetzen und mit dem Debugger schauen, was passiert ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Hilbert86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2009, 12:09     Titel: Es klappt danke Titus
  Antworten mit Zitat      
Hallo

ja die Werte sind in Double, deine Verbesserung hat geholfen es klappt auf jedenfall so wie es sollte vielen dank Titus !

Das Problem in meiner Lösung ist glaube ich die 3te Schleife ich weiß zwar nicht warum genau aber das ist das Problem! Very Happy
_________________

MMAAAAAATTTTTLLAAAAABBBB
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 19.11.2009, 12:25     Titel:
  Antworten mit Zitat      
Hallo,

ich habe mir das "if" nochmal angeschaut, die Klammern sind falsch: die 2. Klammer hinter "&& Gorg(K,N))" ist falsch ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Hilbert86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2009, 12:47     Titel:
  Antworten mit Zitat      
Passt schon das hatte ich dann schon geändert gehabt Wink aber danke Smile
_________________

MMAAAAAATTTTTLLAAAAABBBB
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.