Wenn ich die Bilder vorher nicht umwandel zeigt er mit folgenden Fehler an:
"Error using rgb2gray>parse_inputs (line 82)
MAP must be a m x 3 array.
Error in rgb2gray (line 37)
X = parse_inputs(X);
Error in KonvexeHuelle (line 10)
im = rgb2gray(im);
Error in KonvexeHuelleBestimmung (line 10)
A(i)=KonvexeHuelle(Raw_Img); "
Ich habe jetzt schon versucht den Umwandlungsbefehl mit einzufügen, was aber nicht funktioniert hat. Kann es am Befehl "num2str(i)" liegen?
Gibt es da alternativen?
Verfasst am: 01.11.2014, 15:05
Titel: Re: Programm kann nur rgb image einlesen
Hallo JojoE,
Zitat:
mein Programm kann leider nur ein rgb Image einlesen.
Wenn ich es ausführen möchte, muss ich die Bilder vorher erst mit folgendem Befehl umwandeln:
Das verstehe ich bereits nicht. Du zeigst doch Code, mit dem Bilder mit indizierten Farben eingelesen werden. Darin wird eine COLORMAP und eine COLORBAR erzeugt, was aber mit der Umwandlung der Bild-Daten gar nichts zu tun hat. Sowohl das indizierte Bild [Bild, colorMap] als auch das True-Color-Bild Raw_Img sind RGB Bilder. Deshalb verstehe ich den Teil der Frage nicht.
Es gibt keinen Hinweis darauf, dass der Fehler etwas mit NUM2STR zu tun hat. Statt wild zu raten, ist die Verwendung des Debuggers viel sinnvoller:
Dann stoppt Matlab beim Fehler und Du kannst die aktuellen Werte und Typen der Variablen untersuchen.
Zitat:
Wenn ich die Bilder vorher nicht umwandel zeigt er mit folgenden Fehler an:
Aber heißt das nicht einfach, dass das Problem gelöst ist, wenn Du die Bilder vorher umwandelst? Was ist dann die Frage?
Zitat:
Ich habe jetzt schon versucht den Umwandlungsbefehl mit einzufügen, was aber nicht funktioniert hat.
Bitte zeige uns den Code, anstatt ihn nur grob zu beschreiben, und erkläre "nicht funktioniert" mit allen brauchbaren Details. Gibt es eine Fehlermeldung oder weicht das ergebnis von Deinen Erwartungen ab?
Gruß, Jan
JojoE
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.11.2014, 10:31
Titel:
Hallo, hier das Programm mit dem eingefügten Code zur Umwandlung,
der Teil ist fett markiert. Wenn ich das so laufen lasse, Spuckt er mir keine Werte aus. (Habe das Diagramm mal in den Anhang (Graph1))
Wenn ich den Befehl für jedes Bild vorher einzeln benutze bekomme ich noch einen weißen Rand am Bild, diese Bilder habe ich vorher zu Testzwecken einfach mit Paint zugeschnitten. (Habe das Diagramm dazu auch in den Anhang (Graph2))
Im Anhang füge ich mal ein Bild ein welches eingelesen werden soll. Leider musste ich es mit dem Snipping Tool ausschneiden und hochladen da bmp-Formate hier verboten sind.
Code:
n=12;
for i=1:n, %es werden 12 Images durchgezählt
Ich verstehe immer noch nicht, was Deine Frage ist.
Zitat:
Wenn ich den Befehl für jedes Bild vorher einzeln benutze bekomme ich noch einen weißen Rand am Bild,
Das sagt mir nichts. Wie geht das "einzeln benutzen" konkret?
Hat es etwas damit zu tun, ob die Bilder als UINT8 oder DOUBLE-Werte vorliegen?
Was ist denn der Unterschiede zwischen den Bildern, bei denen Dein Programm die gewünschten Ergebnisse liefert und denen, bei denen es scheitert?
Gruß, Jan
Einstellungen und Berechtigungen
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
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.