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

Extrahieren von Fehlern aus *.jpg

 

Ajax
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2011, 08:15     Titel:
  Antworten mit Zitat      
Hi,

Zu aller erst scheint sich hier ein Fehler eingeschlichen zu haben. Du überschreibst den Wert für z in jedem durchlaufen. Damit steht am Ende nur eine Zahl in der Variablen. Ich schätze du wolltest z(a,b) = ... schreiben.
Der nächste Punkt ist, dass du z nicht vordefiniert hast, d.h. es ist keine Größe bzw. entsprechender Speicherplatz vorbelegt. Damit verlierst du ebenfalls Zeit.
Und ohne dir jetzt die ganze Arbeit abnehmen zu wollen ( Wink ) kannst du das ganze auch ohne for Schleifen und damit deutlich schneller lösen.
Ich würde grob wie folgt vorgehen:
1. z mit der gewünschten Größe initiieren (wahrscheinlich z = zeros(a,b)).
2. Die äußeren beiden Schleifen kannst du streichen. Du kannst bestimmt die innere auch entfernen, aber am Anfang ist es leichter, wenn sie erst einmal stehen bleibt.
3. Mit index = find(Bild(:,:,1)==Skala(30,c,1) für alle drei Farben die Indizes der gleichen Werte herausfinden.
4. An diesen Stellen den entsprechenden Wert zuweisen (z(index)=W(c)Wink

Ich hab das noch nicht eingetippt und es können sich kleine Fehler eingeschlichen haben, aber grob müsste es so schon mal funktionieren.
mfg
Private Nachricht senden Benutzer-Profile anzeigen


hurzt
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2011, 11:35     Titel:
  Antworten mit Zitat      
Hallo ihr,

ich bin da ein wenig zu blöd für was zu schreiben was ordentliche Ergebnisse liefert.

Ich kriege nicht das zu erwartende Bild raus.

Die Find-Funktion hab ich nicht ganz gerafft, wie das funktionieren soll.
Ich hab daher dies wieder über die ziemlich langen schleifen gemacht.

Code:

Gb=size(Bild);
Gs=size(Spektrum);
W=1:Gs(2);

for a=1:Gb(1);
    for b=1:Gb(2);
        for c=1:Gs(1);
            for d=1:Gs(2);
                A=Bild(a,b,1:3);
                B=Spektrum(c,d,1:3);
               
                if A==B;
                    k=(W(c)^2+W(d)^2)^(1/2);
                   
                    figure(1)
                    plot3(a,b,k)
                    hold on
                else
                    k=0;
                end
            end
        end
    end
end


Wenn ich das so schlreibe plottet er mir senkrechte Linien immer bei der position (x,y)=(1,1). Ich wüsste mal gerne warum.

der Ausdruck:
k=(W(c)^2+W(d)^2)^(1/2);

dient dazu nicht nur die Farbe sondern auch die Helligkeit zu berücksichtigen.
Bezogen ist es auf dieses spektrum.
_________________

"der Wolf,das Lamm ... auf der grünen Wiese ... HURTZ!"
Private Nachricht senden Benutzer-Profile anzeigen
 
hurzt
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 07.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2011, 22:22     Titel:
  Antworten mit Zitat      
Hallo,

Ich hab in letzter Zeit viel ausprobiert ... und leider endete alles im nichts.

Ich hab nun ein komplett neuen Lösungsvorschlag erhalten. Der aber hier wahrscheinlich zu komplex wäre das zu beschreiben, da dieser dann doch sehr umfangreich ist. (Ein kurzabriß: beginnt mit der linearisierung der farben, geht über die Fourirtransformation, bishin zur Formerkennung ... )

Wenn sich Probleme auftun werde ich daher andere Threads eröffnen, wo dann die einzelnen Teilprobleme behandelt werden.

Ich danke euch aber trotzdem bis hier.

grüße,
Hurtz
_________________

"der Wolf,das Lamm ... auf der grünen Wiese ... HURTZ!"
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.